I'm receiving NMEA strings on a ESP32 board via a WIFI connection. I want to parse those comma separated strings. What is the best way to parse these strings and get the data values out of these strings.
I've searched the internet and there are many NMEA libs available, but all of what I've seen and found are build to receive the information over a serial interface. I cannot use those libraries as I'm receiving the data over UDP.
The NMEA libraries are processing the chars one by one when received over the serial interface. Over UDP you get the entire NMEA sting in one go.
Any suggestions? Which library to use? Or build my own library, but that will cost a lot of time of course.
Looking forward to some suggestions.
Examples of the NMEA sentences being received over UDP.
$SARMC,114910,A,5119.846,N,00256.107,E,18.6,44,270517,0>.0,W*45
!AIVDM,1,1,,A,133tF2002UP=7ALMMV9DuT0N0<4O,0*24
!AIVDM,1,1,,A,D33wEjQlTNfp00N000,4*71
!AIVDM,1,1,,B,13aL>1hP000=HTnMD3H=VwvL05K4,0*6C
$SAVWR,24.0,L,6.7,N,,,,*74
!AIVDM,1,1,,A,69WJRB40OEGr06P140,4*78
!AIVDM,1,1,,B,401uEOAv5Mci>0=GMjMDRKw0088h,0*76
!AIVDM,1,1,,B,D33wEjR;LNfp00N000,4*3E
$SAVWR,24.0,L,6.5,N,,,,*76
!AIVDM,1,1,,A,3344Eh0031P<hhBMGw7UDDDL0P00,0*50
$SADPT,13.3,0*7D
$SADBT,,f,13.3,M,,F*32
$SAVHW,,T,42.0,M,6.6,N,,,*16
$SAHDG,42.0,,,,*6D
$SAMTW,16.0,C*06
$SAVWR,28.5,L,6.5,N,,,,*7F
$SAVWR,28.5,L,6.5,N,,,,*7F
$GPVTG,043.0,T,043.0,M,7.3,N,13.5,K,D*15
!AIVDM,1,1,,B,133qNL00000>i<lMG=95H0lP0@9N,0*28
$SADPT,13.0,0*7E
$SADBT,,f,13.0,M,,F*31
$SAVHW,,T,42.0,M,6.6,N,,,*16
$SAHDG,42.0,,,,*6D
$GPZDA,114902.40,27,05,2017,,*69
