本产品是一款具有GNSS(全球导航卫星系统)功能的树莓派扩展板,支持GPS,BD2和QZSS等定位系统,具有体积小、功耗低、定位快等优点。带上我,你的树莓派将可以轻松实现全球定位
程序提供一个支持百度地图的校准算法,精确度较高。
[器件简介]
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)规范(具体参考)。为了确保与未来树莓派附加板的一致性和兼容性,并提供更好的用户体验。
注意:这里我们并未使用,无需理会
串口助手可以在此处下载
注:1.由于 GPS 室内搜星不稳定,请将模块或者天线放到阳台或窗户旁,或者直接在户外进行实验。
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。
注:由于 GPS 存在静态漂移,在 Google Earth 中看到的结果与实际会存在误差。使用例程计算出来的百度坐标误差特别小。
树莓派提供C与pyton两种程序控制
打开树莓派终端,输入以下指令进入配置界面
- sudo raspi-config
- 选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
然后重启树莓派:
- sudo reboot
- wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
- tar zxvf bcm2835-1.60.tar.gz
- cd bcm2835-1.60/
- sudo ./configure && sudo make && sudo make check && sudo make install
- # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
- 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版本,如果没有出现说明安装出错
- sudo apt-get update
- sudo pip install RPi.GPIO
- sudo apt-get install python-serial
- 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,再将模块连接树莓派。
退出:Ctrl+A 然后单独按X,YES 回车
- sudo git clone https://github.com/waveshare/L76X-GPS-Module.git
- cd L76X-GPS-Module/
- cd C
- make clean
- make
- sudo ./main
- cd python
- sudo python main.py
模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,复制坐标到http://www.gpsspg.com/maps.htm 左边选择百度地图,就可以看到你的位置了(如果直接去“百度拾取坐标系统”需要交换经纬度两个数的位置)。
注意:模块默认波特率是9600,但是运行例程以后全部改为了115200。