无论是无人机开发、车载导航、还是地质灾害变形监测,获取高精度地理位置离不开 GPS 模块(如 NEO-M8N 系列模块)。这类模块在外设交互上极为简单,只要给模块接通 5V 电源,它的 TX 物理管脚就会以每秒 1 次(1Hz)或 10 次(10Hz)的频率,持续不断地向外倾泻一段完全符合国际海事组织规定的 **NMEA-0183 标准** ASCII 字符串流。
打开 Web Serial 调试助手,你会看到屏幕上在刷屏打印如下的文本帧:
`$GNGGA,081230.00,3112.56453,N,12128.45322,E,1,12,0.85,12.5,M,0.0,M,,*47`
我们来现场快速阅读其中的信息:起始的 `
GPS 接收机标准:NMEA-0183 串口协议规范与经纬度定位数据流解析 — Web Serial Pro 在线串口调试助手
代表一帧开始;`GNGGA` 指示本帧为 GPS 定位核心数据;`081230.00` 代表格林威治标准时间 8 点 12 分 30 秒;`3112.56453,N` 指示北纬 31 度 12.56453 分;`12128.45322,E` 指示东经 121 度 28.45322 分;`1` 代表 GPS 为有效定位(0表示未定位,若单片机读到 0 则代表当前在室内没有搜星成功);`12` 代表当前已成功锁定连接了 12 颗卫星;而最后的 `*47` 代表对整行字符进行 XOR 异或运算后算出来的校验和,用来防止数据在串行线路上出现传输出错,是单片机提取当前高精度位置的最佳时钟源。