L76X GPS Module
| ||||||||||||||||||||
|
说明
产品说明
本产品是一款具有GNSS(全球导航卫星系统)功能模块,支持GPS,BD2和QZSS等定位系统,具有体积小、功耗低、定位快等优点。带上我,你可以轻松实现全球定位。
本模块提供树莓派、STM32、Arduino控制例程。
产品参数
- 接收信道: 22个跟踪信道,66个捕获信道和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
- 串口通信波特率: 4800bps~115200bps(默认9600)
- 更新速率: 最大 10Hz(默认 1HZ)
- 通信协议: NMEA 0183 /PMTK
- 工作电压: 3.3V/5V
- 工作电流: 11mA(5V)
- 工作温度 -40℃ ~ 85℃
- 产品尺寸: 32.5X25.5(mm)
接口说明
模块 | USB转串口 |
VCC | 电源正(2.7V~5V ) |
GND | 电源地 |
TX | 串口数据输出 |
RX | 串口指令输入 |
PPS | 状态指示(定位成功输出秒脉冲) |
windows串口调试
- 连接接天线,连接USB转UART模块,再接连接到电脑。如图所示。连接之后,电源指示灯(PWR)长亮。
注意:红线不是VCC,黑线不是GND
模块 | USB转串口 |
VCC | 5V/3.3V |
GND | GND |
RX | TXD |
TX | RXD |
PPS | 不接 |
- 打开电脑串口调试助手,设置对应的串口号(我这里是COM5),波特率9600,8 位数据位,1 位停止位,无校验位,无流控制。
串口助手可以在此处下载
注:1.由于 GPS 室内搜星不稳定,请将模块或者天线放到阳台或窗户旁,或者直接在户外进行实验。
2. 模块首次定位(冷启动),在正常情况下(户外,天气良好,没有大型建筑遮挡),需要35秒时间才能定位成功,请耐心等待。如果天气条件不好,可能需要更长的定位时间,甚至无法定位。
下载 u-center解压打开安装。运行程序,点击 Receiver 菜单,选择 Port,设置实际的串口号,Baudrate: 9600。点击 (连接按钮) ,即可连接到GPS模块, u-center 将显示各种信息,如下图:
树莓派使用
树莓派提供C与pyton两种程序控制
环境配置
开启Uart接口
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config
选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口:
安装相关函数库
如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用,python库可以不安装,直接运行程序即可
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
硬件连接
模块 | RaspberryPi |
VCC | 5V |
GND | GND |
TX | P15 |
RX | P14 |
PPS | 不接 |
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,再将模块连接树莓派。
退出:Ctrl+A 然后单独按X,YES 回车
下载并运行测试例程
下载程序
git clone git://github.com/waveshare/L76X-GPS-Module.git cd L76X-GPS-Module/
C程序
cd C make clean make sudo ./main
python程序
cd python sudo python main.py
预期效果
模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X GPS Module输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,复制坐标到http://www.gpsspg.com/maps.htm 左边选择百度地图,就可以看到你的位置了(如果直接去“百度拾取坐标系统”需要交换经纬度两个数的位置)。
注意:模块默认波特率是9600,但是运行例程以后全部改为了115200。
STM32
本例程是基于HAL库进行开发的,例程已经在XNUCLEO-F103RB上进行了验证。
点击此处下载代码或在资料中下载。
- 硬件连接
模块 | STM32 |
VCC | 5V |
GND | GND |
TX | PA10 |
RX | PA9 |
PPS | 不接 |
- 预期效果
模块首次定位需要35秒的等待时间。
前面是模块输出的原始数据。
Time是L76X GPS Module输出的时间。
Latitude and longitude是输出的经纬度和经纬方向。
Baudu Coordinates 为转换后的百度地图坐标,复制坐标到http://api.map.baidu.com/lbsapi/getpoint/,就可以看到你的位置了(如果直接去“百度拾取坐标系统”需要交换经纬度两个数的位置)。
注意:模块默认波特率是9600,但是运行例程以后全部改为了115200。
Arduino
本例程已经在Arduino UNO上进行了验证。
点击此处下载代码或在资料中下载。
硬件连接
模块 | Arduino |
VCC | 5V |
GND | GND |
TX | 2 |
RX | 3 |
PPS | 不接 |
预期效果
模块首次定位需要35秒的等待时间。
打开串口助手,设置波特率为9600
前面是模块输出的原始数据。
Time是L76X GPS Module输出的时间。
由于Arduin数据精度不够就没有做算法,算出来的数据也是误差特别大的。
注意:模块默认波特率是9600,但是运行例程以后全部改为了115200。
资料
文档
程序
软件
数据手册
Quectel L76相关
- Quectel_GNSS_Flash_EPO_Application_Note_V1.0
- Quectel_GNSS_FOTA_User_Guide_V1.0
- Quectel_GNSS_Low_Power_Mode_Application_Note_V2.0
- Quectel_GNSS_SDK_Commands_Manual_V1.4
- Quectel_L76_GNSS_Presentation_V1.3
- Quectel_L76_Series_GNSS_Protocol_Specification_V3.3
其它芯片
FAQ