ATOMIC GPS キットを購入しました

 

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日起動させたい場合には向きません

www.switch-science.com

www.switch-science.com

環境設定と実装

Arduinoのサンプルコードがあるのでそちらを参考にしたら簡単に実装できるはずですgithub.com

開発にはarduinoIDEを使います

サンプルコードは上記リンクからダウンロードします

 

IDE環境設定に以下のまとめが参考になりました

qiita.com

 

ボードマネージャーから「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ケータイなので下記のリンクアプリを入れました

play.google.com

 

バッテリーをつけて外出し、10分以上歩きます

初めは緯度経度、時刻は0を取得します

数分すると時刻のみが取得できるようになります

そして10分以上経つと緯度経度も取得できるようになります

 

画像はケータイで確認したところです

会社周辺を歩いてみました

地図に表示させたところ歩いた経路が表示されました

 

画像では再生速度を速くしていますが、実際は5秒に一回取得するようにしました

困った点

なかなか緯度経度が取得できなかったことです

部屋の中ではGPSデータは取得できないようでしたので外を数分歩いても緯度、経度、時刻が0しか取れずこまりました

なぜかはわからないのですが、一旦外にでた後GPSキットをボードから外し、再起動させることで数分後に時刻を取得することに成功しました

その後、10分ほど経過すると緯度経度も取得できます

何度か試しましたが、毎回この動作で取得可能でした

毎回取得できるかの確認に10分程度までしか待たなかったので、もう少し待てば取れるところだった可能性もあります



地図表示

Ambient

Ambient」を使いました

使い方も簡単で、可視化もすぐできるのでお試しするのによかったです

UIを見ただけだとどこから地図描画したら良いのかわからなかったのですが

検索したらすぐに出てきました 

緯度、経度を入力する

ログイン

データ読み込みをして

チャンネルをクリック

その後チャート設定をどこでするのかわからず迷いましたが以下の真ん中のアイコンです

そして地図を選択すればOKです

 

使い方はチュートリアルを読めば問題ないですが、Libのリンクを貼っておきます

Ambient_ESP8266_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を使って描画出力しました