Samples_UART_GPS_format - gfd-dennou-club/mrubyc-esp32 GitHub Wiki
GPSモジュールからは NMEA フォーマットの情報が送信される.NMEAフォーマットの情報はセンテンスの集まりであり,1 つのセンテンスは「$」で始まり,csv と同様にカンマ区切りでデータが並ぶ.
$GPGGA,030917.000,3529.8275,N,13301.5109,E,1,6,3.66,41.3,M,28.6,M,,*67 $GPGLL,3529.8275,N,13301.5109,E,030917.000,A,A*5D $GPGSA,A,3,19,01,14,28,17,21,,,,,,,3.77,3.66,0.93*0B $GPGSV,4,1,15,01,73,016,28,22,53,107,,14,51,310,34,21,50,041,24*71 $GPGSV,4,2,15,03,42,148,,28,35,316,29,08,30,084,,17,29,297,34*71 $GPGSV,4,3,15,30,26,246,,07,15,208,,19,06,284,27,27,01,096,*7A $GPGSV,4,4,15,193,,,,194,,,,195,,,*47 $GPRMC,030917.000,A,3529.8275,N,13301.5109,E,0.15,22.47,160621,,,A*5F $GPVTG,22.47,T,,M,0.15,N,0.29,K,A*01 $GPZDA,030917.000,16,06,2021,,*5A
各センテンスの意味は「NMEAフォーマット」で Google 検索すると多くの記事が引っかかるが,例えば((<URL:www.hiramine.com/physicalcomputing/general/gps_nmeaformat.html>)) などが読み易い.
GPS から日時・緯度経度を取得する場合には,センテンス $GPRMC に着目すれば良い.
センテンス例: $GPRMC,085120.307,A,3541.1493,N,13945.3994,E,000.0,240.3,181211,,,A*6A
-
第 1 引数: 世界標準時 (UTC) での時刻. フォーマットは hhmmss.ss
-
例: 085120.307 → 08:51:20.307 UTC
-
-
第 2 引数: ステータス
-
V = 警告, A = 有効
-
-
第 3 引数: 緯度. フォーマットは dddmm.mmmm
-
例: 3541.1493 → 緯度:35度41.1493分
-
-
第 4 引数: 北緯か南緯か
-
N = 北緯, S = 南緯
-
-
第 5 引数: 経度. フォーマットは dddmm.mmmm
-
例: 13945.3994 → 経度;139度45.3994分
-
-
第 6 引数: 東経か西経か
-
E = 東経、W = 西経
-
-
第 7 引数: 地表面における移動の速度 000.0 – 999.9 [knot].
-
第 8 引数: 地表における移動の真方位。000.0~359.9度
-
第 9 引数: 世界標準時 (UTC) での日付
-
例: 181211 → 2011年12月18日(UTC)
-
-
第 10 引数: 磁北と真北の間の角度の差。000.0~359.9度
-
第 11 引数: 磁北と真北の間の角度の差の方向。E = 東、W = 西
-
第 12 引数: モード
-
N = データなし, A = Autonomous(自律方式), D = Differential(干渉測位方式), E = Estimated(推定)
-
-
第 13 引数: チェックサム値