Adafruit Ultimateを入手しました。詳細なレポートは時間が取れた時にするとして、今回は簡単な導通テストのみやってみます。
用意したもの
ハードウェア
- Adafruit Ultimate 66チャンネル10Hz GPSモジュール Version 3
- USB-シリアル変換IC
- USBケーブル
- ブレッドボード
ソフトウェア
今回は簡易チェックということで、USB-シリアル変換ICを介してPCとGPSモジュールを接続し、Teratermでデータを読み出します。Aruduinoやラズパイとの接続はまた次回行います。
接続
USB-シリアル変換ICとGPSモジュールの接続
USB-シリアル変換ICとGPSモジュールのTx/Rx,GNDを接続します。GPSモジュールの電源(VIN)は、USB-シリアル変換ICの3.3V出力(3V3端子)からとります。
PCとUSB-シリアル変換IC
USBケーブルでPCとUSB-シリアル変換ICを接続します。すると、GPSモジュールに電源が供給されGPSモジュールのLED(赤)が1sec周期で点滅します。
データ読み出し
TeraTermを起動すると約1sec間隔で以下のようなデータが読み出されます。
$GPGGA,000040.799,,,,,0,00,,,M,,M,,*7B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPRMC,000040.799,V,,,,,0.00,0.00,060180,,,N*41 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
なんだこれ?と思って少し調べてみると、GPSモジュールからのデータはNMEAというフォーマットで出力されてくるようです。
どうやら、$GPRMCで始まる行の3番目の要素がVの時はデータなし(GPSのデータを取得できていない)を表す様子。で、しばらく待っているとGPSの電波をつかんだようで送られてくるデータが以下のように変わりました。
$GPGGA,125931.000,3567.5853,N,13974.5201,E,1,05,1.92,34.7,M,38.7,M,,*55 $GPGSA,A,3,17,03,22,08,23,,,,,,,,2.12,1.92,0.88*05 $GPRMC,125931.000,A,3567.5853,N,13974.5201,E,0.38,211.19,040417,,,A*63 $GPVTG,211.19,T,,M,0.38,N,0.71,K,A*3A
上記の例だと、3567.5853,Nが北緯を13974.5201,Eが東経を表しています。どこの座標かはGoogleMapなどで調べてみてください。
このあたりデータの詳しい読み方などは詳細な記事にしたいと思います。
コメント