物联网AI MicroPython传感器学习 之 GPS户外定位模块

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

HT2828Z3G5L是一款高性能的面向车载组合导航领域的定位G-MOUSE,系统包含同时支持北斗和GPS的高性能卫星接收机芯片。具备全方位功能,能满足专业定位的严格要求。体积小巧,可以装置在汽车内部任何位置,低功耗,能适应个人用户的需要。
该产品采用了新一代AT6558D低功耗芯片,高灵敏度,在城市峡谷、高架下等信号弱的地方,都能快速、准确的定位。可广泛应用开发多种GPS终端产品,如:汽车导航汽年保全系统、车辆监控以及其他卫星定位应用等。
物联网AI MicroPython传感器学习 之 GPS户外定位模块_第1张图片
接口说明

标号 名称 功能描述
1 VBAT/PPS 兼容备用电池/时间标准脉冲输出
2 VCC 系统主电源,供电电压为3.3~5V,工做时消耗电流约25mA
3 TX UART/TTL接口,可选RS232_TXD
4 RX UART/TTL接口,可选RS232_RXD
5 GND 接地
6 EN 电源使能,高电平/悬空模组工作,低电平模组关闭

二、技术参数

  • 行业标准的25_25_4mm高灵敏度GPS天线
  • 采用0.5PPM高精度TCXO
  • 内建RTC晶体及皮法电容更快的热启动
  • 内建LNA,低噪声信号放大器
  • 采用6558D芯片,内置FLASH,支持温启动
  • 1~10Hz定位更新速率
  • 支持AssistNow Online和AssistNow Offline等A-GPS服务
  • GPS、北斗、GLONASS、(WMS,EGNOS,MSAS,GAGAN)混合引擎

三、软件接口

Gnss(uartObj) - 创建全球导航定位传感器驱动对象

  • 函数原型

gnssObj = Gnss(uartObj)

  • 参数说明:
参数 类型 必选参数? 说明
uartObj UART 传入UART对象
  • 返回值

若创建Gnss对象成功,返回Gnss对象;若创建Gnss对象创建失败,抛出Exception

  • 示例代码
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")
  • 输出
Testing gps ...

getLocation() - 获取GPS信息值

  • 函数功能:

解析更新GPS数据

  • 函数原型:

Gnss.getLocation()

  • 参数说明:

  • 返回值:

成功:返回gnss定位信息值,数据类型:字典,含义如下:
longitude(纬度)
latitude(经度)
altitude(海拔)

  • 示例:
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")

location = gnssObj.getLocation()
print("The gnss infor 纬度-%d 经度-%d 海拔-%d",location.longitude, location.latitude, location.altitude)
  • 输出
Testing gnss ...
The gnss infor 纬度-xx 经度-xx 海拔-xx

四、接口案例

  • 案例代码
from machine import UART,Pin    # 驱动库
import gnss                     # gnss定位驱动库
import utime

uartObj = UART(1, baudrate=9600,bits = 8,stop = 1, tx=Pin(33), rx=Pin(32))
gnssObj = gnss.GNSS(uartObj) # GNSS设备初始化
print("Testing gnss ...")

while True:
    utime.sleep(1)
    location = gnssDev.getLocation()
    print("The gnss infor 纬度-%d 经度-%d 海拔-%d",location.longitude, location.latitude, location.altitude)
  • 输出
Testing gnss ...
The gnss infor 纬度-xx 经度-xx 海拔-xx

五、工作原理

1、电气特性

输入电压 宽电压范围:主电源为3.3~5V
工作电流 30mA
备用电压 1.8~3.6V
温度范围 5% to 95% non-condensing
工作温度 -40度~100度
存储温度 -55度~100度

2、模块性能

标号 名称 功能描述
1 芯片 AT65558D(内置FLASH,支持温启动)
2 频率 BDS/GPS/1.5611-1.57542GHz
3 C/A码 1.023MHz码流
4 可用波特率 4800,19200,38400,57600,115200bps(默认9600)
5 通道 三通道射频,支持GPS+BDS(默认)、BDS+GLONASS、GPS+GLONASS输出
6 SWR S11<=1.3
7 SWR S22<=1.3
8 Log Mag S212>=20.0dB
9 Smith S11:50欧姆+5%
10 灵敏度 跟踪:-162dBm,捕捉:-148dBm
11 冷启动 平均35秒
12 冷启动灵敏度 -148dBm
13 温启动 平均10秒
14 热启动 平均1秒
15 热启动灵敏度 -156dBm
16 AGPS网络辅助星历数据 3s(平均)
17 定位精度 <5m
18 授时精度 30ns
19 方向 <0.5Degree
20 参照坐标系 WGS-84
21 速率 <0.1m/s
22 最大海拔高度 50000米
23 标准时钟脉冲 0.25Hz~1KHz
24 最大速度 515m/s
25 最大加速度 <=4G
26 更新频率 1~10Hz(默认1Hz)
27 端口界面 UART:232/TTL
28 输出语句 NMEA 0183 V3.0(GGA,GSA,GSV,RMC,VTG,GLL)协议数据

GPS是全球定位系统(Global Position System)的简称,常见于汽车、手机中。民用GPS的定位精度在10~20米之间,这是为什么用手机的GPS定位,有时候明明在陆地上,却被认为在河里的原因。GPS定位的原理很简单,叫做三角定位法(Triangulation)。原理如下图所示:
物联网AI MicroPython传感器学习 之 GPS户外定位模块_第2张图片
装在无人车上的GPS接收机,首先量测无线电信号到达卫星的传播时间,再将传播时间乘以光速,即可得到当前GPS接收机到达卫星的距离,有了距离,就可以根据几何原理求得位置了。
物联网AI MicroPython传感器学习 之 GPS户外定位模块_第3张图片
若已知GPS接收机到达1号卫星和3号卫星的距离,那么1号和3号卫星根据距离产生两个球体(图中绿色和蓝色的球体),两个球体的相交的部分为圆形,该圆形与地球表面靠近的任何一个点都有可能是当前无人车(GPS接受装置)的位置。
因此仅根据这两个距离信息,还无法确定当前无人车的具体位置。此时通过引入第三个卫星的距离,就能较为准确地确定无人车的位置。这就是三角定位法的原理。

参考文献

[1] GPS模块购买链接

你可能感兴趣的:(物联网传感器,1024程序员节)