例程
在ESP-IDF的UART例程中发现有写好的GPS解析例程,对于ESP32平台来说可以直接用,十分方便
可以通过ESP-IDF Eclipse直接创建例程
测试数据
如果没有GPS模块的话,可以使用USB转UART模块代替GPS模块,向ESP32发送数据
比如下面这段数据
$GPGSV,1,1,04,04,58,259,37,08,50,201,37,27,77,143,39,195,,,36,1*68
$GBGSV,3,1,12,02,40,228,27,03,52,187,27,06,74,184,32,07,69,287,30,1*7C
$GBGSV,3,2,12,09,81,243,30,10,56,267,33,16,65,169,36,19,23,245,31,1*74
$GBGSV,3,3,12,27,54,096,30,30,37,175,32,39,56,168,39,40,71,323,34,1*73
$GNGLL,3031.521991,N,11423.563025,E,103356.000,A,A*41
$GNTXT,01,01,02,ANTSTATUS=OPEN*35
$GNRMC,103357.000,A,3031.521949,N,11423.563005,E,0.123,203.96,041221,,E,A,V*75
$GNVTG,203.96,T,,M,0.123,N,0.228,K,A*25
$GNGGA,103357.000,3031.521949,N,11423.563005,E,1,08,2.14,55.389,M,-13.83,M,,*5B
$GNGSA,A,3,04,08,27,,,,,,,,,,5.77,2.14,5.36,1*0A
$GNGSA,A,3,06,09,27,39,40,,,,,,,,5.77,2.14,5.36,4*02
数据经过该例程解析结果为
W (8530) FHPL_EXAMPLE: Unknown statement:$GNTXT,01,01,02,ANTSTATUS=OPEN*35
I (8730) FHPL_EXAMPLE: 2021/12/4 18:33:57 =>
latitude = 30.52537°N
longitude = 114.39272°E
altitude = 41.56m
speed = 0.063333m/s