ATOMIC GPSキット
緯度経度を取得したく、ATOMIC GPSキットを購入しました
手のひらサイズで持ち運びしやすい大きさです
ケーブルも付属しているのでこれだけで開発可能でした
キット内容物一覧
- 1x AtomicGPS
- 1x ATOM Lite
- 1x 六角スパナ
- 1x M2*3 mm 六角セルフタッピングネジ
- 1x M2*8mm六角穴付き小ネジ
- 1x 18 cm Type-C ケーブル
マイクロSDカードは付属されていないので、書き込みたい人は別途購入する必要があります
私は手持ちがあったのでそちらを利用しました
購入先
持ち歩きする予定なのでバッテリーも一緒に購入しました
バッテリーは1-2時間持ちます
1日起動させたい場合には向きません
環境設定と実装
Arduinoのサンプルコードがあるのでそちらを参考にしたら簡単に実装できるはずですgithub.com
開発にはarduinoIDEを使います
サンプルコードは上記リンクからダウンロードします
IDE環境設定に以下のまとめが参考になりました
ボードマネージャーから「M5Stack」をインストールします
「FastLED」も入れておきます
ボードは「M5Stack-ATOM」を選択
Portは自分が接続しているものを選択します
あとは初めに落としてきたサンプルコードを開いて実行すれば動くはずです
私の環境ではなぜか動かなかったのでsetRxBufferSizeを使ってサイズを1024に変更し、libの中身をちょっと変更しています
libにあるAnalyse()メソッドで取得できる値が全て無効のデータになっていました
GPSAnalyse::Analyse()
また、SDカードの書き込み部分は小数点以下5として書き出しました
txtFile.print(Lat,5);
その後SDカードは必要としなかったので書き込み部分全て削除してしまいました
Libの中でどのようなデータが取得できているか確認するためにGPSのフォーマットはこちらを参考にしました
このフォーマットを見て無効なデータが取得されていることに気づけました
テスト
外で実際に緯度経度を取得できるか試します
シリアル通信している様子が見たいのでSerial Bluetooth Terminalを使います
私はandroidケータイなので下記のリンクアプリを入れました
バッテリーをつけて外出し、10分以上歩きます
初めは緯度経度、時刻は0を取得します
数分すると時刻のみが取得できるようになります
そして10分以上経つと緯度経度も取得できるようになります
画像はケータイで確認したところです
会社周辺を歩いてみました
地図に表示させたところ歩いた経路が表示されました
画像では再生速度を速くしていますが、実際は5秒に一回取得するようにしました
困った点
なかなか緯度経度が取得できなかったことです
部屋の中ではGPSデータは取得できないようでしたので外を数分歩いても緯度、経度、時刻が0しか取れずこまりました
なぜかはわからないのですが、一旦外にでた後GPSキットをボードから外し、再起動させることで数分後に時刻を取得することに成功しました
その後、10分ほど経過すると緯度経度も取得できます
何度か試しましたが、毎回この動作で取得可能でした
毎回取得できるかの確認に10分程度までしか待たなかったので、もう少し待てば取れるところだった可能性もあります
地図表示
Ambient
「Ambient」を使いました
使い方も簡単で、可視化もすぐできるのでお試しするのによかったです
UIを見ただけだとどこから地図描画したら良いのかわからなかったのですが
緯度、経度を入力する
ログイン
データ読み込みをして
チャンネルをクリック
その後チャート設定をどこでするのかわからず迷いましたが以下の真ん中のアイコンです
そして地図を選択すればOKです
使い方はチュートリアルを読めば問題ないですが、Libのリンクを貼っておきます
緯度経度は9,10がデフォルトで設定されているのでそこに入れるようにしたら他に設定は必要ありません
ambient.set(9, latbuf); // 9番目のデーターとして緯度をセット
dtostrf(lng, 11, 7, lngbuf);
ambient.set(10, lngbuf); // 10番目のデーターとして経度をセット
ambient.send();
GPS Visualizer
SDカードに書き込みした場合には「GPS Visualizer」がよかったです
CSVで出力をしていたので、緯度経度のみを出力するようにして
Convert to GPXを使って描画出力しました