L76K GPS HAT
| ||||||||||||||||
| ||||||||||||||||
产品简介
本产品是一款 GNSS (全球导航卫星系统) 模块,支持 GPS、北斗 (BDS)、GLONASS 和 QZSS 多重卫星系统,可多系统联合定位和单系统独立定位、支持 A-GNSS 功能、内置低噪声放大器和声表面滤波器、可向用户提供快速、准确和高性能定位体验的树莓派 GNSS 扩展板。
产品参数
| 参数 | 规格 | |
|---|---|---|
| GNSS 系统 | 支持系统 | GPS / GLONASS / BDS / QZSS |
| 芯片平台 | AT6558R | |
| L1 接收机 | 通道数 | 32 跟踪 / 72 捕获 |
| SBAS | 不支持 | |
| A-GNSS | 支持 | |
| 灵敏度 | 自动捕获 | -148dBm |
| 重新捕获 | -160dBm | |
| 跟踪 | -162dBm | |
| TTFF (首次定位时间) |
冷启动 | 30s (Autonomous) 5.5s (With A-GNSS) |
| 热启动 | 2s | |
| 精度指标 | 位置精度 | 2.0m CEP |
| 速度精度 | 0.1m/s | |
| 加速度精度 | 0.1m/s² | |
| 授时精度 | 30ns | |
| 其他参数 | 通信接口 | UART |
| 串口波特率 | 4800bps~115200bps (默认 9600bps) | |
| 数据更新频率 | 1Hz (default) 5Hz (max) | |
| 供电电压 | 5V | |
| 整机耗流 | <55mA @5V (Continue 模式) | |
| 通信协议 | NMEA 0183 CASIC 专有协议 | |
| 工作温度 | -40℃ ~ 85℃ | |
| 产品尺寸 | 65.00×30.50mm | |
硬件介绍
| 项目 | 说明 |
|---|---|
| ① L76K模组 | 主芯片,支持 GPS、北斗 (BDS)、GLONASS 和 QZSS 多重卫星系统 |
| ② CP2102 | USB转UART芯片 |
| ③ CAT24C32 | EEPROM存储芯片 为树莓派提供ID EEPROM(包括供应商信息,GPIO映射和有效的设备树信息)。添加这个的目的是因为Raspberry Pi推出的micro-HAT(uHAT)规范(具体参考)。为了确保与未来树莓派附加板的一致性和兼容性,并提供更好的用户体验。 注意:这里我们并未使用,无需理会 |
| ④ RT9193-33 | 电源芯片 |
| ⑤ 星系配置按键 | 默认是GPS + GLONASS星系组合; 按下Force ON按键再启动模组,星系组合为GPS + BDS |
| ⑥ 待机模式开关 | 待机模式:开关STANDBY置于ON可以让模块进入待机模式, 待机模式是一种低功耗模式, 该模式的模块停止卫星搜索和导航,没有定位信息(NMEA消息)输出,但可以通过命令或任何其他数据访问。 |
| ⑦ 状态指示灯 | RXD/TXD:串口收发指示灯; PPS:GPS状态指示灯; PWR:电源指示灯 |
| ⑧ Raspberry Pi GPIO接口 | 方便接入Raspberry Pi |
| ⑨ USB TO UART接口 | 方便接到PC等主机 |
| ⑩ GNSS天线接口 | 接GNSS天线置于可视天空下 |
| ⑪ ML1220电池座 | 可接ML1220充电电池,用于掉电保存数据和热启动 |
| ⑫ UART选择跳线帽 | A:USB转串口控制L76K B:树莓派控制L76K C:USB转串口访问树莓派 |
windows串口调试
- 安装CP2102 驱动;模块的串口选择到A(黄色跳冒),通过USB口与L76K进行通信。
- 连接接天线,插上USB线,再连接到电脑。如图所示。连接之后,电源指示灯(PWR)长亮。
- 将天线的另一端放到可以看的到天的地方。
- 等待 1S 左右, TXD 指示灯开始闪烁,表明有数据传输
- 打开电脑串口调试助手,设置对应的串口号(我这里是COM5),波特率9600,8 位数据位,1 位停止位,无校验位,无流控制。
串口助手可以在此处下载
注:1.由于 GPS 室内搜星不稳定,请将模块或者天线放到阳台或窗户旁,或者直接在户外进行实验。
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。
注:由于 GPS 存在静态漂移,在 Google Earth 中看到的结果与实际会存在误差。使用例程计算出来的百度坐标误差特别小。
树莓派使用
树莓派提供C与pyton两种程序控制
开启Uart接口
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
安装相关函数库
Python库
pip3 install pyserial pip3 install pynmea2 pip3 install pynmeagps
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
wiringPi
#打开树莓派终端,并运行以下指令 cd sudo apt-get install wiringpi #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错 #Bullseye分支系统使用如下命令: sudo git clone https://github.com/WiringPi/WiringPi cd WiringPi sudo ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
lgpio
sudo su wget https://github.com/joan2937/lg/archive/master.zip unzip master.zip cd lg-master sudo make install # 更多的可以参考官网:https://github.com/gpiozero/lg
硬件连接
- 将模块直接插在树莓派上面,黄色跳冒接B位置,放置在可视天空下,让模块获取卫星信号:
minicom调试
- 安装minicom调试助手
sudo apt-get install minicom # 对于树莓派5\ZERO\2B sudo minicom -D /dev/ttyAMA0 -b 9600 # 对于树莓派4B\3B+\3B sudo minicom -D /dev/ttyS0 -b 9600
默认波特率为115200,如需设置波特率为9600加参数 -b 9600,-D代表端口,/dev/ ttySO 类似于windows中的COM1,下图是使用树莓派4B的串口ttyS0测试:

退出:Ctrl+A 然后单独按X,YES 回车
cutecom测试
- 安装cutecom调试助手
sudo apt-get install cutecom
- 运行cutecom,出现图形化串口助手界面,类似windows的sscom:
cutecom
- 下图使用树莓派5测试,波特率9600,串口ttyAMA0
示例程序
- 下载程序
wget https://files.waveshare.com/wiki/L76K-GPS-HAT/Demo/L76K_GPS_HAT_Code.zip unzip L76K_GPS_HAT_Code.zip sudo chmod 777 -R L76K_GPS_HAT_Code cd L76K_GPS_HAT_Code/RaspberryPi
- C程序
cd c/ sudo make clean && sudo make sudo ./main
- python程序
cd python python3 main.py
- 预期效果
模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
转换后的高德地图坐标,可以去高德拾取坐标系统输入坐标,例如:
114.08331567625963,22.53857879961489
- 获取原始NMEA数据程序
python3 nmea.py
RDK 主板使用
硬件连接
- 将跳帽插在B区域
- 将L76x GPS HAT直接插在X3 PI的40PIN上
安装库
使用终端,使用以下指令安装函数库
pip3 install pyserial pip3 install pynmea2 pip3 install pynmeagps
使用minicom测试
- 安装minicom调试助手
sudo apt-get install minicom sudo minicom -D /dev/ttyS3 -b 9600
退出:Ctrl+A 然后单独按X,YES 回车
Jetson Orin Nano 使用
安装库
使用终端,使用以下指令安装函数库
pip3 install pyserial pip3 install pynmea2 pip3 install pynmeagps
minicom测试
- 安装minicom调试助手
sudo apt-get install minicom
通过UART串口连接
- 将跳帽插在B区域,L76K GPS HAT通过40pin排针接入Jetson Orin Nano
- 使用minicom 控制UART串口
sudo minicom -D /dev/ttyTHS1 -b 9600
通过USB数据线连接
将L76K GPS HAT跳线帽置于A,通过USB线接到在Jetson Nano的USB
sudo minicom -D /dev/ttyUSB0 -b 9600
示例程序
- 下载程序
wget https://files.waveshare.com/wiki/L76K-GPS-HAT/Demo/L76K_GPS_HAT_Code.zip unzip L76K_GPS_HAT_Code.zip sudo chmod 777 -R L76K_GPS_HAT_Code cd L76K_GPS_HAT_Code/Jetson
- 获取原始NMEA数据程序
sudo python3 nmea.py
资料
文档
程序
软件
数据手册
FAQ
将天线置于室外空旷地域,天线有字一面朝下,开机45S之后即可收到有效定位数据
- 这个模块是依赖GNSS卫星定位的,GNSS定位至少需要4颗卫星的稳定信号,室内通常无法满足;
- 手机在商圈内,可以通过Wi-Fi 指纹定位,蓝牙信标(Beacon),地磁定位,UWB(超宽带)和运营商基站辅助获取精准定位
- 该模块不支持wifi,蓝牙和蜂窝,因此不能实现商圈室内定位了
- 发送以下指令将波特率改为115200
$PMTK251,115200*1F<CR><LF>
- 发送以下指令将波特率恢复到默认的9600:
$PMTK251,9600*17<CR><LF>
是待机模式,请置于OFF,否则开机就待机了,没有GPS输出
检查一下 STANDBY 开关是否处于 OFF 位置,再按下 FORCE_ON 按键大约 1 秒,观察串口是否有数据输出。如果还是没有数据输出的话,检查一下 TXD 和 RXD 引脚有没有正确
连接
跳线帽的作用是切换串口设备,跳线帽连到 A, L76B 会跟 USB 接口连接;跳线帽连到B, L76B 与树莓派连接;跳线帽连到 C, 树莓派与 USB 连接(此时模块可以作为一个 USB
转 TTL 模块使用)
在天气晴朗的开阔环境下测试,误差在2.5m内。















