概述
通过Arduino收集GPS数据,连接至电脑端,在电脑端通过python对数据进行整理,并通过发布 TOPIC,本部分主要记录如何通过Arduino读取GPS数据。
接线方式
- GPS 的 UCC GND 分别接到 arduino板子上的 5v 和 GND
- GPS 的 TXD 引脚接 arduino 的RX1引脚 (只需要接受从芯片上发回的数据)
- Arduino 连接至串口
#解析代码
方法一
将gps 发布的数据不加处理,全部发送到串口
void setup() {
// put your setup code here, to run once:
// put your setup code here, to run once:
Serial1.begin(38400);
Serial.begin(38400);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial1.available()) {
//Serial.print((char)Serial1.read());
Serial.print((char)Serial1.read()); // read each character
}
}
结果如下:
串口受到的数据如下
$GNGLL,0000.0000,N,00000.0000,E,085931.000,V,N*59
$GNGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*2E
$GNRMC,085931.000,V,0000.0000,N,00000.0000,E,000.0,000.0,151118,,,N*63
$GNVTG,000.0,T,,M,000.0,N,000.0,K,N*1C
$GNZDA,085931.000,15,11,2018,00,00*41
$GNGGA,085932.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*76
$GNGLL,0000.0000,N,00000.0000,E,085932.000,V,N*5A
$GNGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*2E
其中“ $GNGGA 所在的行就是GPS 的信息,格式如下:
$GNGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)
(1) UTC 时间,格式为 hhmmss.ss;
(2) 纬度,格式为