GPS data Parsing - cchamchi/cansat GitHub Wiki
GPS์์ ์ค์ ๋ก ๋์ค๋ ๋ฐ์ดํฐ๋ฅผ parsingํด ๋ด ์๋ค
์ฐ์ passthru ์ฝ๋๋ฅผ ํตํด GPS ์์ ์ด๋ค ์ ํธ๊ฐ ๋์ค๋์ง ํ์ธ ํฉ๋๋ค.
์๋ ์ฝ๋๋ cansat์ฉ package๊ฐ arduino์ ์ธ์คํจ ๋์ด์ผ ํฉ๋๋ค. ์๋๋ฅผ ์ฐธ๊ณ ํ์ธ์
https://github.com/cchamchi/cansat/wiki/Cansat-Package-install
#include <CansatSystem.h>
#include <CansatSerial.h>
static CansatHwSerial PLport(Serial1);
void setup() {
CansatSystemInit();
PLport.begin(9600);
Serial.begin(9600);
PLport.RxModePortSet(RxMode_GPS_PORT);
}
void loop() {
while (Serial.available()) Serial1.write(Serial.read());
while (Serial1.available()) Serial.write(Serial1.read());
}
์๋์ ๋ฐ์ดํฐ๊ฐ 1์ด ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ๋ณต์ ์ผ๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
$GNGGA,064537.00,3723.06061,N,12707.40444,E,2,11,1.04,53.6,M,18.9,M,,0000*70
$GNGSA,A,3,08,26,27,31,50,16,21,23,42,,,,1.64,1.04,1.26*12
$GNGSA,A,3,74,85,,,,,,,,,,,1.64,1.04,1.26*11
$GPGSV,3,1,10,04,20,079,46,08,44,228,38,16,57,042,41,21,21,052,46*78
$GPGSV,3,2,10,23,32,241,42,26,35,074,48,27,88,298,47,31,11,137,43*70
$GPGSV,3,3,10,42,43,152,39,50,43,152,40*75
$GLGSV,1,1,04,74,38,102,42,75,,,32,85,77,100,34,,,,22*64
$GNGLL,3723.06061,N,12707.40444,E,064537.00,A,D*76
$GNRMC,064538.00,A,3723.06067,N,12707.40443,E,0.018,,050418,,,D*60
$GNVTG,,T,,M,0.018,N,0.034,K,D*36
๊ฐ๊ฐ์ ์๋ฏธ๋ http://navspark.mybigcommerce.com/content/NMEA_Format_v0.1.pdf ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์
์ฐ๋ฆฌ๋ GGA,RMC,VTG ์ ๋ณด๋ฅผ ์ด์ฉํ ๊ฒ์ ๋๋ค. GGA์ ๋ณด๋ ๋์ผํ๋ ์๋ GPGGAํฌ๋ฉง์ ๋ด ์๋ค

$GNGGA,064537.00,3723.06061,N,12707.40444,E,2,11,1.04,53.6,M,18.9,M,,0000*70
- UTC๋ 064537.00 ์
๋๋ค. 06์ 45๋ถ 37.00์ด ์
๋๋ค.ํ๊ตญ์๊ฐ์ผ๋ก๋ 9๋ฅผ๋ํ 15์47๋ถ37์ด๋ค์
hour=