“L76X GPS HAT”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
 
(未显示7个用户的57个中间版本)
第1行: 第1行:
 +
<div class="wiki-pages blue-color">
 
<div class="tabber">
 
<div class="tabber">
 
{{扩展板|colorscheme=blue
 
{{扩展板|colorscheme=blue
 
|name = L76X-GPS-HAT
 
|name = L76X-GPS-HAT
|img = [[File:L76X-GPS-HAT-1.jpg|360px |alt=L76X GPS HAT|link=http://www.waveshare.net/shop/L76X-GPS-HAT.htm]]
+
|img = [[File:L76X-GPS-HAT-1.jpg|360px |alt=L76X GPS HAT|link=https://{{SERVERNAME}}/shop/L76X-GPS-HAT.htm]]
 
|category1=树莓派
 
|category1=树莓派
 +
|category2=Jetson Nano
 +
|category3=地平线
 
|brand=Waveshare
 
|brand=Waveshare
 
|feature =  GPS
 
|feature =  GPS
第11行: 第14行:
 
}}
 
}}
  
<div class="tabbertab" title="说明">
+
<div class="tabbertab" title="说明" id="myintro">
 +
 
 +
<h1>说明</h1>
 +
 
 
=产品简介=
 
=产品简介=
本产品是一款具有GNSS(全球导航卫星系统)功能的树莓派扩展板,支持GPS,BD2和QZSS等定位系统,具有体积小、功耗低、定位快等优点。带上我,你的树莓派将可以轻松实现全球定位<br />
+
本产品是一款具有GNSS(全球导航卫星系统)功能的扩展板,适用于树莓派,Jetson Nano以及旭日®X3 PI, 支持GPS,BD2和QZSS等定位系统,具有体积小、功耗低、定位快等优点。带上我,你的主板将可以轻松实现全球定位<br />
 +
程序提供一个支持百度地图的校准算法,精确度较高。<br />
 
==产品参数==
 
==产品参数==
 
*接收信道: 33个跟踪信道,99个捕获信道和210个PRN信道
 
*接收信道: 33个跟踪信道,99个捕获信道和210个PRN信道
第39行: 第46行:
 
[[FILE:L76X-GPS-HAT-interface.jpg|1500px]]
 
[[FILE:L76X-GPS-HAT-interface.jpg|1500px]]
  
[器件简介]
+
[器件简介]<br />
#L76B模组
+
1. L76B模组<br />
#CP2102
+
2. CP2102,USB转UART芯片<br />
#CAT24C32
+
3. CAT24C32,EEPROM存储芯片<br />
#EEPROM存储芯片
+
4. RT9193-33,电源芯片<br />
#RT9193-33电源芯片
+
5. 备份模式唤醒按键<br />
#备份模式唤醒按键
+
6. 待机模式开关<br />
#待机模式开关
+
7. 状态指示灯; RXD/TXD:串口收发指示灯; PPS:GPS状态指示灯; PWR:电源指示灯<br />
#状态指示灯
+
[接口简介]<br />
#RXD/TXD:串口收发指示灯
+
8. Raspberry Pi GPIO接口,方便接入Raspberry Pi <br />
#PPS:GPS状态指示灯
+
9. USB TO UART接口<br />
#PWR:电源指示灯
+
10. GNSS天线接口<br />
 +
11. ML1220电池座,可接ML1220充电电池,用于掉电保存数据和热启动<br />
 
[跳线说明]<br />
 
[跳线说明]<br />
 
12.UART选择跳线帽<br />
 
12.UART选择跳线帽<br />
第57行: 第65行:
 
C:USB转串口访问树莓派<br />
 
C:USB转串口访问树莓派<br />
 
<br />
 
<br />
待机模式: 使用按键 STANDBY KEY 可以让模块进入待机模式, 待机模式是一种低功耗模式。在待机模式下,模块停止卫星搜索和导航,没有定位信息(NMEA 消息)输出,但可以通过PMTK 命令或任何其他数据访问。<br /><br />
+
待机模式: 使用按键 STANDBY开关可以让模块进入待机模式, 待机模式是一种低功耗模式。在待机模式下,模块停止卫星搜索和导航,没有定位信息(NMEA 消息)输出,但可以通过PMTK 命令或任何其他数据访问。<br /><br />
 
备份模式: 按键 FORCE ON 按下可以让模块退出备份模式。相对于待机模式,备份模式下的功耗更低。在备份模式下,模块会停止获取和跟踪卫星。 UART1 不可访问。但是 RTC 域中的备份内存(包括快速启动所需的所有 GPS 信息和少量用户配置变量)是获得的。支持 EASYTM 自生成轨道预测功能,可实现快速定位。在这种模式下, 模块的电流大约是 7uA。备份模式下,唯一的唤醒方式是将 FORCE_ON 引脚拉高<br /><br />
 
备份模式: 按键 FORCE ON 按下可以让模块退出备份模式。相对于待机模式,备份模式下的功耗更低。在备份模式下,模块会停止获取和跟踪卫星。 UART1 不可访问。但是 RTC 域中的备份内存(包括快速启动所需的所有 GPS 信息和少量用户配置变量)是获得的。支持 EASYTM 自生成轨道预测功能,可实现快速定位。在这种模式下, 模块的电流大约是 7uA。备份模式下,唯一的唤醒方式是将 FORCE_ON 引脚拉高<br /><br />
 
CAT24C32: 这个芯片的作用是为树莓派提供一个 ID EEPROM(包括供应商信息, GPIO 映射和有效的设备树信息)。添加这个的目的是因为 Raspberry Pi 推出的 micro-HAT(uHAT)规范([https://github.com/raspberrypi/hats 具体参考])。为了确保与未来树莓派附加板的一致性和兼容性,并提供更好的用户体验。<br />
 
CAT24C32: 这个芯片的作用是为树莓派提供一个 ID EEPROM(包括供应商信息, GPIO 映射和有效的设备树信息)。添加这个的目的是因为 Raspberry Pi 推出的 micro-HAT(uHAT)规范([https://github.com/raspberrypi/hats 具体参考])。为了确保与未来树莓派附加板的一致性和兼容性,并提供更好的用户体验。<br />
第65行: 第73行:
  
 
=windows串口调试=
 
=windows串口调试=
 +
*安装[https://{{SERVERNAME}}/w/upload/6/62/CP210x_USB_TO_UART.zip CP2102 驱动];模块的串口选择到A(黄色跳冒),通过USB口与L76B进行通信。<br>
 
*连接接天线,插上USB线,再连接到电脑。如图所示。连接之后,电源指示灯(PWR)长亮。<br>
 
*连接接天线,插上USB线,再连接到电脑。如图所示。连接之后,电源指示灯(PWR)长亮。<br>
 +
*将天线的另一端放到可以看的到天的地方。<br>
 
[[FILE:L76X_GPS_HAT_TEST.png|600px]]
 
[[FILE:L76X_GPS_HAT_TEST.png|600px]]
 
*等待 1S 左右, TXD 指示灯开始闪烁,表明有数据传输<br>
 
*等待 1S 左右, TXD 指示灯开始闪烁,表明有数据传输<br>
 
*打开电脑串口调试助手,设置对应的串口号(我这里是COM5),波特率9600,8 位数据位,1 位停止位,无校验位,无流控制。<br>
 
*打开电脑串口调试助手,设置对应的串口号(我这里是COM5),波特率9600,8 位数据位,1 位停止位,无校验位,无流控制。<br>
串口助手可以在[http://www.waveshare.net/w/upload/5/5f/Sscom.7z 此处下载]<br>
+
串口助手可以在[https://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z 此处下载]<br>
 
[[file:L76X_GPS_Module_sscom.png|600px]] <br>
 
[[file:L76X_GPS_Module_sscom.png|600px]] <br>
 
<font color="#FF0000">
 
<font color="#FF0000">
第75行: 第85行:
 
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。<br>
 
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。<br>
 
</font>
 
</font>
*为了可以更好的查看所在区域,请安装 GoogleEarthPluginSetup.exe 插件。安装完成后,在 View 菜单下选择 Google Earth。<br>
 
 
注:由于 GPS 存在静态漂移,在 Google Earth 中看到的结果与实际会存在误差。使用例程计算出来的百度坐标误差特别小。<br>
 
注:由于 GPS 存在静态漂移,在 Google Earth 中看到的结果与实际会存在误差。使用例程计算出来的百度坐标误差特别小。<br>
  
第89行: 第98行:
 
sudo pip install RPi.GPIO
 
sudo pip install RPi.GPIO
 
sudo apt-get install python-serial
 
sudo apt-get install python-serial
 +
sudo apt-get install gpsd gpsd-clients python-gps
 
</pre>
 
</pre>
  
 
==硬件连接==
 
==硬件连接==
 
*将模块直接插在树莓派上面,黄色跳冒接B位置
 
*将模块直接插在树莓派上面,黄色跳冒接B位置
[[file:L76X_GPS_HAT_Rpi_connet.png|1200px]] <br>
+
[[file:L76X_GPS_HAT_Rpi_connet.png]]<br>
  
 
==minicom调试==
 
==minicom调试==
第111行: 第121行:
 
*下载程序
 
*下载程序
 
<pre>
 
<pre>
git clone https://github.com/waveshare/L76X-GPS-Module.git
+
wget https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
cd L76X-GPS-Module/
+
unzip L76X_GPS_HAT_Code.zip
 +
sudo chmod 777 -R L76X_GPS_HAT_Code
 +
cd L76X_GPS_HAT_Code/RaspberryPi
 
</pre>
 
</pre>
 
+
<!--sudo git clone  https://github.com/waveshare/L76X-GPS-Module.git-->
 
*C程序
 
*C程序
 
<pre>
 
<pre>
cd C
+
cd wiringPi
 
make clean
 
make clean
 
make
 
make
第126行: 第138行:
 
<pre>
 
<pre>
 
cd python
 
cd python
sudo python main.py
+
sudo pip3 install pynmeagps
 +
sudo pip3 install gps3
 +
sudo python3 main.py
 
</pre>
 
</pre>
  
第132行: 第146行:
 
模块首次定位需要35秒的等待时间。<br>
 
模块首次定位需要35秒的等待时间。<br>
 
前面是模块输出的原始数据。<br>
 
前面是模块输出的原始数据。<br>
Time是L76X GPS Module输出的时间。<br>
+
Time是L76X输出的时间。<br>
 
Latitude and longitude是输出的经纬度和经纬方向。<br>
 
Latitude and longitude是输出的经纬度和经纬方向。<br>
Baudu Coordinates 为转换后的百度地图坐标,复制坐标到http://www.gpsspg.com/maps.htm 左边选择百度地图,就可以看到你的位置了(如果直接去“百度拾取坐标系统”需要交换经纬度两个数的位置)。<br>
+
Baudu Coordinates 为转换后的百度地图坐标,可以去[http://api.map.baidu.com/lbsapi/getpoint/ 百度拾取坐标系统],需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。<br>
[[file:L76X_GPS_Module_rpi_test.png|800px]]<br>
+
[[File:L76X GPS HAT N E.png|500px]]<br>
注意:模块默认波特率是9600,但是运行例程以后全部改为了115200。 <br>
+
 
 +
 
 +
=旭日® X3 PI使用=
 +
==硬件连接==
 +
*将跳帽插在B区域
 +
*将L76x GPS HAT直接插在X3 PI的40PIN上
 +
:[[File:X3_PI_Connect_L76x_HAT.jpg|500px]]
 +
==安装库==
 +
使用终端,使用以下指令安装函数库
 +
<pre>
 +
sudo pip3 install pynmeagps
 +
sudo pip3 install gps3
 +
sudo apt-get install python3-serial
 +
sudo apt-get install gpsd gpsd-clients python3-gps
 +
</pre>
 +
==使用minicom测试==
 +
*安装minicom调试助手
 +
<pre>
 +
sudo apt-get install minicom
 +
sudo minicom -D /dev/ttyS3 -b 9600
 +
</pre>
 +
[[file:L76X_GPS_Module_rpi_minicom1.png|900px]]<br>
 +
退出:Ctrl+A 然后单独按X,YES 回车<br>
 +
==示例程序==
 +
*下载程序
 +
<pre>
 +
wget  https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
 +
unzip L76X_GPS_HAT_Code.zip
 +
sudo chmod 777 -R L76X_GPS_HAT_Code
 +
cd L76X_GPS_HAT_Code/Sunrise
 +
</pre>
 +
*测试程序
 +
<pre>
 +
sudo python3 main.py
 +
</pre>
 +
 
 +
*预期效果
 +
模块首次定位需要35秒的等待时间。<br>
 +
前面是模块输出的原始数据。<br>
 +
Time是L76X输出的时间。<br>
 +
Latitude and longitude是输出的经纬度和经纬方向。<br>
 +
Baudu Coordinates 为转换后的百度地图坐标,可以去[http://api.map.baidu.com/lbsapi/getpoint/ 百度拾取坐标系统],需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。<br>
 +
[[File:X3_PI_Test_L76x_HAT.jpg|500px]]<br>
 +
 
 +
=Jetson Nano使用=
 +
==硬件连接==
 +
*将跳帽插在B区域
 +
*将L76x GPS HAT直接插在Jetson Nano的40PIN上
 +
 
 +
==安装库==
 +
使用终端,使用以下指令安装函数库
 +
<pre>
 +
sudo pip3 install pynmeagps
 +
sudo pip3 install gps3
 +
sudo apt-get install python3-serial
 +
sudo apt-get install gpsd gpsd-clients python3-gps
 +
</pre>
 +
==使用minicom测试==
 +
*安装minicom调试助手
 +
<pre>
 +
sudo apt-get install minicom
 +
sudo minicom -D /dev/ttyTHS1 -b 9600
 +
</pre>
 +
[[file:L76X_GPS_Module_rpi_minicom1.png|900px]]<br>
 +
退出:Ctrl+A 然后单独按X,YES 回车<br>
 +
==示例程序==
 +
*下载程序
 +
<pre>
 +
wget  https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
 +
unzip L76X_GPS_HAT_Code.zip
 +
sudo chmod 777 -R L76X_GPS_HAT_Code
 +
cd L76X_GPS_HAT_Code/Jetson\ nano/
 +
</pre>
 +
*测试程序
 +
<pre>
 +
sudo python3 main.py
 +
</pre>
 +
 
 +
*预期效果
 +
模块首次定位需要35秒的等待时间。<br>
 +
前面是模块输出的原始数据。<br>
 +
Time是L76X输出的时间。<br>
 +
Latitude and longitude是输出的经纬度和经纬方向。<br>
 +
Baudu Coordinates 为转换后的百度地图坐标,可以去[http://api.map.baidu.com/lbsapi/getpoint/ 百度拾取坐标系统],需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。<br>
 +
 
 
</div>
 
</div>
  
<div class="tabbertab" title="资料">
+
<div class="tabbertab" title="资料" id="myresources">
 +
 
 +
<h1>资料</h1>
 +
 
 
===文档===
 
===文档===
*[http://www.waveshare.net/w/upload/6/60/L76X_GPS_HAT_SchDoc.pdf 原理图]
+
*[https://{{SERVERNAME}}/w/upload/6/60/L76X_GPS_HAT_SchDoc.pdf 原理图]
  
 
===程序===
 
===程序===
*[http://www.waveshare.net/w/upload/c/cb/L76X_GPS_HAT_code.7z 示例程序]
+
*[https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip 示例程序]
 +
<!--*[https://www.waveshare.net/w/upload/c/cb/L76X_GPS_HAT_code.7z 示例程序]-->
 
*[https://github.com/waveshare/L76X-GPS-HAT Github]
 
*[https://github.com/waveshare/L76X-GPS-HAT Github]
  
第153行: 第255行:
 
{{L76X/GPS/HAT}}
 
{{L76X/GPS/HAT}}
  
<br /><big>批量下载教程——请戳<big><big><big></big></big></big></big>[[File:download-icon.png|link=批量下载教程]]
+
</div>
 +
<div class="tabbertab" title="FAQ" id="myfaq">
 +
 
 +
<h1>FAQ</h1>
 +
==L76X 常见问题==
 +
{{FAQ|为什么运行程序定位是00,00|
 +
将天线置于室外空旷地域,天线有字一面朝下,开机45S之后即可收到有效定位数据<br />
 +
|||}}
 +
 
 +
{{FAQ|怎么见过改波特率改为115200|
 +
*发送以下指令将波特率改为115200
 +
$PMTK251,115200*1F<CR><LF>
 +
*发送以下指令将波特率恢复到默认的9600:
 +
$PMTK251,9600*17<CR><LF>
 +
|||}}
  
<!--{{Join_us}}-->
+
{{FAQ|程序运行一遍报错误或者一开始就结束|
</div>
+
[[file:L76_GPS_HAT_ERR1.png|1200px]]<br />
<div class="tabbertab" title="FAQ"><br />
+
务必保证一面的第一步是关闭的,因为这个会把树莓派的login shell信息也输出到串口导致串口冲突了。<br />
{{FAQ| 电大约一分钟后,电源指示灯(PWR)亮起, TXD 没有闪烁,串口也没有数据输出?|
+
[[file:L76X_GPS_Module_rpi_serial.png|center|1200px]]<br />
 +
|||}}
 +
{{FAQ| 为什么程序和minicom调试也是乱码,使用USB转串口正常?|
 +
[[file:L76_GPS_HAT_useerr2.png|1200px]]<br />
 +
如果使用时出现上述现象,请检查一下 树莓派config.txt配置,sudo nano /boot/config.txt,请将如下语句屏蔽,此语句是温度传感器占用了串口通信线;
 +
[[file:L76_GPS_HAT_useerr3.jpg|1200px]]<br />
 +
|||}}
 +
 
 +
{{FAQ|STANDBY开关作用|
 +
是待机模式,请置于OFF,否则开机就待机了,没有GPS输出
 +
|||}}
 +
{{FAQ|python程序如何修改GPS的更新速率?|
 +
python程序中的main.py中,第12行就是修改更新速率,默认是400ms,你可以在L76X.py中找到对应的宏定义,进行替换即可<br />
 +
[[file:L76X_GPS_HAT_python0.png]]<br />
 +
[[file:L76X_GPS_HAT_python1.png]]
 +
|||}}
 +
{{FAQ| 上电大约一分钟后,电源指示灯(PWR)亮起, TXD 没有闪烁,串口也没有数据输出?|
 
检查一下 STANDBY 开关是否处于 OFF 位置,再按下 FORCE_ON 按键大约 1 秒,观察串口是否有数据输出。如果还是没有数据输出的话,检查一下 TXD 和 RXD 引脚有没有正确
 
检查一下 STANDBY 开关是否处于 OFF 位置,再按下 FORCE_ON 按键大约 1 秒,观察串口是否有数据输出。如果还是没有数据输出的话,检查一下 TXD 和 RXD 引脚有没有正确
 
连接|||}}
 
连接|||}}
 
{{FAQ|为什么定位不准?|
 
{{FAQ|为什么定位不准?|
定位精度与所在的环境有关系,一是天气原因下雨天,空气中水分多,影响了信号的传输。这也是为什么夏季手机信号稍弱的原因,夏季雨多潮湿,再加之高温蒸发,使得空气中的水分变多,从而影响卫星信号的传输。二高楼因素在一些高层建筑物旁边容易造成卫星信号不好或者信号偏移问题,在建筑低层或者地下建筑,如地下停车场、地下商场、地铁、隧道等,由于受到墙体的遮挡,室内信号衰减非常大,就形成了信号覆盖弱点,所以造成定位不精准,误差大等情况,同样在一些高山阻挡下也容易导致定位不精准。三是卫星数量农村及偏僻地区上空安置卫星数量少,造成位置偏差大等情况。四卫星信号会受到大气电离层、地面建筑物、森林、水面等因素的影响,导致计算出现偏差|||}}
+
定位精度与所在的环境有关系,一是天气原因下雨天,空气中水分多,影响了信号的传输。这也是为什么夏季手机信号稍弱的原因,夏季雨多潮湿,再加之高温蒸发,使得空气中的水分变多,从而影响卫星信号的传输。二高楼因素,在一些高层建筑物旁边容易造成卫星信号不好或者信号偏移问题,在建筑低层或者地下建筑,如地下停车场、地下商场、地铁、隧道等,由于受到墙体的遮挡,室内信号衰减非常大,就形成了信号覆盖弱点,所以造成定位不精准,误差大等情况,同样在一些高山阻挡下也容易导致定位不精准。三是卫星数量,农村及偏僻地区上空安置卫星数量少,造成位置偏差大等情况。四卫星信号会受到大气电离层、地面建筑物、森林、水面等因素的影响,导致计算出现偏差|||}}
 
{{FAQ|我在户外还是接收不到数据?|
 
{{FAQ|我在户外还是接收不到数据?|
 
请检查天线是否接好,还有有字的一面要朝下,天线的接收在没有字的那一面|||}}
 
请检查天线是否接好,还有有字的一面要朝下,天线的接收在没有字的那一面|||}}
第176行: 第308行:
 
{{FAQ|纽扣电池支持充电吗?|
 
{{FAQ|纽扣电池支持充电吗?|
 
如果使用的是可充电的纽扣电池,模块在正常的供电情况下,可支持给背面的纽扣电池充电。推荐使用可充电电池ML1220|||}}
 
如果使用的是可充电的纽扣电池,模块在正常的供电情况下,可支持给背面的纽扣电池充电。推荐使用可充电电池ML1220|||}}
 +
{{FAQ|为什么获取到的GPS坐标,放到百度地图或者谷歌地图精度不高?|
 +
获取到的原始GPS数据是没有经过处理的地理坐标,一般称之为月球坐标,需要加入一定的算法才能定位准,不同的地图使用的算法是不一样的,同样的一个坐标在谷歌和百度上的处理是不一样的。程序默认有提供一个百度地图的算法,可以作为参考。|||}}
 +
{{FAQ|为什么树莓派打印的定位是0,0或者直接程序卡死无法定位?|
 +
置于空旷的室外,天线有字一面朝下,确保开机后有45S即会有定位数据。|||}}
 +
{{FAQ|L76X GPS HAT的定位误差是多少米?|
 +
在天气晴朗的开阔环境下测试,误差在2.5m内。
 +
|||}}
 +
{{FAQ|如何解析获取到的定位信息?|
 +
下面以GNRMC为例,解析获取到的定位信息,如下所示:
 +
[[File:L76 print.png|800px]]
 +
[[File:L76X GNSS Date .png|800px]]
 +
|||}}
 +
</div>
 +
<div class="tabbertab" title="售后" id="mysupport">
 +
 +
<h1>技术支持</h1>
 +
<br />{{Service18}}</div>
 
</div>
 
</div>
<div class="tabbertab" title="售后"><br />{{Service08}}</div>
 

2023年1月6日 (五) 14:19的最新版本

L76X-GPS-HAT
L76X GPS HAT
{{{name2}}}
{{{name3}}}
板载接口
RPi USB TO UART

说明

产品简介

本产品是一款具有GNSS(全球导航卫星系统)功能的扩展板,适用于树莓派,Jetson Nano以及旭日®X3 PI, 支持GPS,BD2和QZSS等定位系统,具有体积小、功耗低、定位快等优点。带上我,你的主板将可以轻松实现全球定位
程序提供一个支持百度地图的校准算法,精确度较高。

产品参数

  • 接收信道: 33个跟踪信道,99个捕获信道和210个PRN信道
  • 接收信号: GPS,BD2和QZSS
  • 支持SBAS: WAAS, EGNOS, MSAS, GAGAN
  • 信号频段: GPS L1(1575.42Mhz) BD2 B1 (1561.098MHz) C/A Code
  • 捕获时间: 冷启动:10S(最快);热启动:1S
  • 捕获灵敏度: -148dBm
  • 跟踪灵敏度: -163dBm
  • 重捕捕获灵敏度: -160dBm
  • 定位精度: <2.5mCEP
  • 最高海拔: 18000(M)
  • 最大速度: 515m/s
  • 逻辑电压: 3.3/5V
  • 通信接口: UART
  • 串口通信波特率: 4800~115200(默认9600)
  • 更新速率: 最大 10Hz(默认 1HZ)
  • 通信协议: NMEA 0183 /PMTK
  • 工作电压: 2.7V~5V(由5V 引脚输入电源)
  • 工作电流: 13mA
  • 工作温度 -40℃ ~ 85℃
  • 产品尺寸: 65X30.5(mm)

硬件介绍

L76X-GPS-HAT-interface.jpg

[器件简介]
1. L76B模组
2. CP2102,USB转UART芯片
3. CAT24C32,EEPROM存储芯片
4. RT9193-33,电源芯片
5. 备份模式唤醒按键
6. 待机模式开关
7. 状态指示灯; RXD/TXD:串口收发指示灯; PPS:GPS状态指示灯; PWR:电源指示灯
[接口简介]
8. Raspberry Pi GPIO接口,方便接入Raspberry Pi
9. USB TO UART接口
10. GNSS天线接口
11. ML1220电池座,可接ML1220充电电池,用于掉电保存数据和热启动
[跳线说明]
12.UART选择跳线帽
A:USB转串口控制L76B
B:树莓派控制L76B
C:USB转串口访问树莓派

待机模式: 使用按键 STANDBY开关可以让模块进入待机模式, 待机模式是一种低功耗模式。在待机模式下,模块停止卫星搜索和导航,没有定位信息(NMEA 消息)输出,但可以通过PMTK 命令或任何其他数据访问。

备份模式: 按键 FORCE ON 按下可以让模块退出备份模式。相对于待机模式,备份模式下的功耗更低。在备份模式下,模块会停止获取和跟踪卫星。 UART1 不可访问。但是 RTC 域中的备份内存(包括快速启动所需的所有 GPS 信息和少量用户配置变量)是获得的。支持 EASYTM 自生成轨道预测功能,可实现快速定位。在这种模式下, 模块的电流大约是 7uA。备份模式下,唯一的唤醒方式是将 FORCE_ON 引脚拉高

CAT24C32: 这个芯片的作用是为树莓派提供一个 ID EEPROM(包括供应商信息, GPIO 映射和有效的设备树信息)。添加这个的目的是因为 Raspberry Pi 推出的 micro-HAT(uHAT)规范(具体参考)。为了确保与未来树莓派附加板的一致性和兼容性,并提供更好的用户体验。
注意:这里我们并未使用,无需理会

windows串口调试

  • 安装CP2102 驱动;模块的串口选择到A(黄色跳冒),通过USB口与L76B进行通信。
  • 连接接天线,插上USB线,再连接到电脑。如图所示。连接之后,电源指示灯(PWR)长亮。
  • 将天线的另一端放到可以看的到天的地方。

L76X GPS HAT TEST.png

  • 等待 1S 左右, TXD 指示灯开始闪烁,表明有数据传输
  • 打开电脑串口调试助手,设置对应的串口号(我这里是COM5),波特率9600,8 位数据位,1 位停止位,无校验位,无流控制。

串口助手可以在此处下载
L76X GPS Module sscom.png
注:1.由于 GPS 室内搜星不稳定,请将模块或者天线放到阳台或窗户旁,或者直接在户外进行实验。
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。
注:由于 GPS 存在静态漂移,在 Google Earth 中看到的结果与实际会存在误差。使用例程计算出来的百度坐标误差特别小。

树莓派使用

树莓派提供C与pyton两种程序控制

开启Uart接口

打开树莓派终端,输入以下指令进入配置界面

sudo raspi-config
选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
L76X GPS Module rpi serial.png

安装相关函数库

如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用

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分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错

lgpio

#打开树莓派终端,并运行以下指令
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install

# 更多的可以参考官网:https://github.com/gpiozero/lg
  • 安装Python函数库
sudo apt-get update
sudo pip install RPi.GPIO
sudo apt-get install python-serial
sudo apt-get install gpsd gpsd-clients python-gps

硬件连接

  • 将模块直接插在树莓派上面,黄色跳冒接B位置

L76X GPS HAT Rpi connet.png

minicom调试

  • 安装minicom调试助手
sudo apt-get install minicom
# 对于树莓派3B\3B+\4B
sudo minicom -D /dev/ttyS0 -b 9600
# 对于树莓派ZERO\2B
sudo minicom -D /dev/ttyAMA0 -b 9600

默认波特率为115200,如需设置波特率为9600加参数 -b 9600,-D代表端口,/dev/ ttySO 类似于windows中的COM1,如果不是树莓派3,那么是minicom -D /dev/ttyAMA0,再将模块连接树莓派。
L76X GPS Module rpi minicom1.png
退出:Ctrl+A 然后单独按X,YES 回车

示例程序

  • 下载程序
wget  https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
unzip L76X_GPS_HAT_Code.zip 
sudo chmod 777 -R L76X_GPS_HAT_Code
cd L76X_GPS_HAT_Code/RaspberryPi
  • C程序
cd wiringPi
make clean
make
sudo ./main
  • python程序
cd python
sudo pip3 install pynmeagps
sudo pip3 install gps3
sudo python3 main.py
  • 预期效果

模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,可以去百度拾取坐标系统,需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。
L76X GPS HAT N E.png


旭日® X3 PI使用

硬件连接

  • 将跳帽插在B区域
  • 将L76x GPS HAT直接插在X3 PI的40PIN上
X3 PI Connect L76x HAT.jpg

安装库

使用终端,使用以下指令安装函数库

sudo pip3 install pynmeagps
sudo pip3 install gps3
sudo apt-get install python3-serial
sudo apt-get install gpsd gpsd-clients python3-gps

使用minicom测试

  • 安装minicom调试助手
sudo apt-get install minicom
sudo minicom -D /dev/ttyS3 -b 9600

L76X GPS Module rpi minicom1.png
退出:Ctrl+A 然后单独按X,YES 回车

示例程序

  • 下载程序
wget  https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
unzip L76X_GPS_HAT_Code.zip 
sudo chmod 777 -R L76X_GPS_HAT_Code
cd L76X_GPS_HAT_Code/Sunrise
  • 测试程序
sudo python3 main.py
  • 预期效果

模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,可以去百度拾取坐标系统,需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。
X3 PI Test L76x HAT.jpg

Jetson Nano使用

硬件连接

  • 将跳帽插在B区域
  • 将L76x GPS HAT直接插在Jetson Nano的40PIN上

安装库

使用终端,使用以下指令安装函数库

sudo pip3 install pynmeagps
sudo pip3 install gps3
sudo apt-get install python3-serial
sudo apt-get install gpsd gpsd-clients python3-gps

使用minicom测试

  • 安装minicom调试助手
sudo apt-get install minicom
sudo minicom -D /dev/ttyTHS1 -b 9600

L76X GPS Module rpi minicom1.png
退出:Ctrl+A 然后单独按X,YES 回车

示例程序

  • 下载程序
wget  https://www.waveshare.net/w/upload/f/f4/L76X_GPS_HAT_Code.zip
unzip L76X_GPS_HAT_Code.zip 
sudo chmod 777 -R L76X_GPS_HAT_Code
cd L76X_GPS_HAT_Code/Jetson\ nano/
  • 测试程序
sudo python3 main.py
  • 预期效果

模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,可以去百度拾取坐标系统,需要置换程序的经纬度位置,例如116.307629,40.058359要改成:40.058359,116.307629(百度拾取坐标系统是经度在前)。

FAQ

L76X 常见问题

将天线置于室外空旷地域,天线有字一面朝下,开机45S之后即可收到有效定位数据


  • 发送以下指令将波特率改为115200
$PMTK251,115200*1F<CR><LF>
  • 发送以下指令将波特率恢复到默认的9600:
$PMTK251,9600*17<CR><LF>


L76 GPS HAT ERR1.png
务必保证一面的第一步是关闭的,因为这个会把树莓派的login shell信息也输出到串口导致串口冲突了。

L76X GPS Module rpi serial.png


L76 GPS HAT useerr2.png
如果使用时出现上述现象,请检查一下 树莓派config.txt配置,sudo nano /boot/config.txt,请将如下语句屏蔽,此语句是温度传感器占用了串口通信线; L76 GPS HAT useerr3.jpg


是待机模式,请置于OFF,否则开机就待机了,没有GPS输出


python程序中的main.py中,第12行就是修改更新速率,默认是400ms,你可以在L76X.py中找到对应的宏定义,进行替换即可
L76X GPS HAT python0.png
L76X GPS HAT python1.png


检查一下 STANDBY 开关是否处于 OFF 位置,再按下 FORCE_ON 按键大约 1 秒,观察串口是否有数据输出。如果还是没有数据输出的话,检查一下 TXD 和 RXD 引脚有没有正确

连接


定位精度与所在的环境有关系,一是天气原因下雨天,空气中水分多,影响了信号的传输。这也是为什么夏季手机信号稍弱的原因,夏季雨多潮湿,再加之高温蒸发,使得空气中的水分变多,从而影响卫星信号的传输。二高楼因素,在一些高层建筑物旁边容易造成卫星信号不好或者信号偏移问题,在建筑低层或者地下建筑,如地下停车场、地下商场、地铁、隧道等,由于受到墙体的遮挡,室内信号衰减非常大,就形成了信号覆盖弱点,所以造成定位不精准,误差大等情况,同样在一些高山阻挡下也容易导致定位不精准。三是卫星数量,农村及偏僻地区上空安置卫星数量少,造成位置偏差大等情况。四卫星信号会受到大气电离层、地面建筑物、森林、水面等因素的影响,导致计算出现偏差


请检查天线是否接好,还有有字的一面要朝下,天线的接收在没有字的那一面


此模块定位只是单独靠卫星定位,而手机定位不只是靠卫星定位,手机定位还依靠AGPS(辅助全球卫星定位系统)、LBS基站定位、Wifi定位、蓝牙定位等等各种定位系统结合,因此手机定位有着更加快的定位速度,精度方面在不同给环境下也是有着不同的区别,并且手机的GPS信号支持的多重卫星系统和模块支持的多重卫星系统不一致。所以模块和手机定位的数据有一定的差异。


首先保证发送命令的波特率和串口输出的波特率一致,在模块搜索到卫星数比较多的时候波特率从高向低设定可能会无法修改,因为波特率太低模块无法一次性发送所有的数据,可以考虑使用SET_NMEA_OUTPUT指令减少输出的数据字段,然后再修改波特率即可。


跳线帽的作用是切换串口设备,跳线帽连到 A, L76B 会跟 USB 接口连接;跳线帽连到B, L76B 与树莓派连接;跳线帽连到 C, 树莓派与 USB 连接(此时模块可以作为一个 USB

转 TTL 模块使用)


CAT24C32 的作用是为树莓派提供一个 ID EEPROM(包括供应商信息, GPIO 映射和有效的设备树信息),这是 Raspberry Pi 推出了 Micro-HAT(uHAT)规范。希望确保与未来附加板的一致性和兼容性,并且提供更好的用户体验。


如果使用的是可充电的纽扣电池,模块在正常的供电情况下,可支持给背面的纽扣电池充电。推荐使用可充电电池ML1220


获取到的原始GPS数据是没有经过处理的地理坐标,一般称之为月球坐标,需要加入一定的算法才能定位准,不同的地图使用的算法是不一样的,同样的一个坐标在谷歌和百度上的处理是不一样的。程序默认有提供一个百度地图的算法,可以作为参考。


置于空旷的室外,天线有字一面朝下,确保开机后有45S即会有定位数据。


在天气晴朗的开阔环境下测试,误差在2.5m内。


下面以GNRMC为例,解析获取到的定位信息,如下所示: L76 print.png L76X GNSS Date .png


技术支持


联系人:黄工
EMAIL:3005423122@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证