今回は、深センの m5stack.com から直接購入した、ATOM GPS Kit (M8030-KT) を使ってみます。
この GPS Kit には最初から ATOM Lite という超小さいマイコンが刺さっているので、あとはバッテリーを繋いで公式のサンプルコードを書き込むだけで、緯度や経度などの GPS 情報を1秒ごとに SD カードに書込むことができます。
SD カードに記録される緯度や経度の情報は 10 進表記となっているので、このデータをコピーして Google マップに貼り付けるだけで、簡単に地図へマッピングすることができます。
それこそ Excel の VBA を使ってインポート可能な形式にでも成形すれば、この手の市販品の高価な GPS に負けない、ちょっとした GPS ロガーとして活用できると思います。
この Atom GPS Kit には最初から ATOM Lite が刺さってるんですが、中華の公式サイトから買った関係で技適はないだろうと考えていて、国内から買った技適付きのものと交換する予定だったんですが、ホンモノかどうかは不明なんですが、しっかり国内の技適マーク付いていたので驚きました。
サンプルコード "AtomicGPS" を試す
まずは、公式のサンプル AtomicGPS.ino を試してみました。
このサンプルは、緯度、経度、時間(UTC)の3つの情報を、1秒ごとに SD へ保存し、Bluetooth シリアルへ出力します。
SD カードに保存された、緯度、経度、時間の情報。
Google マップの検索窓に、SD 内のデータ(緯度、経度)をコピペすれば、ちゃんとマップへ表示してくれました。(このマップは、例として適当に表示してます。)
続いて、このサンプルは Bluetooth シリアルでもデータを出力してくれるので、 Android 端末の Bluetooth GPS というアプリで、これら3つの情報を表示させてみました。
このサンプルのヘッダファイル "GPSAnalyse.h" を見ると、GPS の NMEA フォーマット(一般的な測位出力形式で、ほとんどの GPS モジュールで NMEA 出力が可能です。)の $GPRMC の 12 の情報が struct で宣言されていたので、スケッチを少し修正して3つの情報以外のデータも表示させてみました。
時刻を世界標準時の UTC から JST に変換して、$GPRMC のデータを表示させてみました。
外付けバッテリの ”ATOM TailBAT” を付けて、屋外で試す
この ATOM GPS Kit に、外付けバッテリの ATOM TailBAT(190 mAh)を付けて、機動性を持たせてみます。
愛犬との散歩でポケットに入れて持ち出してみたんですが・・・
GPS 情報を得るために必要となる衛星の補足が足りないようで、誤差ありでイマイチでした。
こういった GPS 信号を受信するようなアダプタは、電波が遮られてしまうようなポケットやカバンに入れて使うことは難しいかもしれませんね。
正確な GPS 信号を得るには、GPS モジュールのアンテナ部分が、常に空が見えるように設置しないとダメみたいです。
それと、ATOM TailBAT のバッテリ容量は 190 mAh ということなので、この GPS Kit でどれだけ持つか消費電流を調べてみたんですが、平均すると大体 100mA くらいは流れているようです。
ということで、満充電でも2時間弱しか持たないので、一日持たせるなら、こういったモバイルバッテリを使う必要があります。
日本のみちびき(準天頂衛星システム:QZSS)に対応させる
この ATOM GPS Kit (M8030-KT) は、スペック的には日本のみちびきにも対応してるんですが、初期設定のままでは対応してないようなので、u-center という GPS 専用アプリを使って設定を変更する必要があります。
今回は、みちびき(QZSS)への対応と、通信速度を少し上げてやりたいと思います。
まず、ツールの u-center とシリアル通信(UART 通信)するために ATOM GPS Kit を分解して、GPS モジュールを取り外します。
GPS モジュール(BN-200)の取り外しはとっても簡単で、指だけでこんな感じに分解できます。
BN-200 のピン配置はこうなってるので、ちゃんと通信できるように USB シリアル変換モジュールのピンと接続してやります。
BN-200 のコネクタは "1mm 4pin SH" なので、aitendo の端子付きケーブルに 1P ソケットを取り付けました。
精密圧着ペンチは PA-21 で、導体部分と被覆部分の圧着は共に 1.6mm を使いました。
USB シリアル変換モジュールを介してパソコンと接続します。
準備が整ったら u-center を起動します。
メニューの View → Configuration View を開いて設定します。
左側の GNSS(GNSS Config) を選択して、QZSS(みちびき)などの必要な衛星の Enable にチェックを入れて、最後にウインドウ下の Send をクリックします。
今回の記事では単に GPS モジュールと呼んでますが、ホントなら GNSS モジュールと呼称するのが正解で、GPS は米国の衛星のことであり、GLONASS はロシアの衛星、そしてみちびきは日本の衛星を意味しています。
左側の MSG(Messages) を選択して、01-30 NAV-SVINFO を選択して、UART1 にチェックを入れて、最後にウインドウ下の Send をクリックします。
通信速度を少し速めに設定変更しました。
左側の RPT(Ports) を選択して、Baudrate を 19200 に変更して、最後に Send をクリックします。
BN-200 の不揮発性メモリに設定を書き込みます。(Send ボタン)
これやらないと次回起動で元に戻ってしまいます。
u-center 全体を表示させてみました。
室内での GPS 受信ということもあり、米国と中国の衛星が補足できただけで、残念ながら日本の ”みちびき” は1機も受信できませんでした。
ということで、本当にみちびきが受信できるか確かめたかったので、ATOM GPS Kit (M8030-KT) + ATOM TailBAT と Andoroid 端末を屋外に持ち出して確認しました。
衛星運用状況 | 準天頂衛星システム(QZSS) 公式サイト - 内閣府
Android アプリの Drogger GPS を使って、みちびきの受信を確認しました。
先頭の文字が Q で表示してくれると分かりやすいんですが、この G194 がみちびきの衛星となります。
■ ■ ■
ということで、今回は「ATOM GPS Kit (M8030-KT) + ATOM TailBAT」を紹介しました。
ホントならこのセットをポケットに入れて GPS ロガーとして使ってみよう考えていたんですが。
ポケットの中だとイマイチだったんで・・・少々残念です。。。
カバンから少し出すとか。
胸ポケットに入れて少し出すとか。
キーホルダに付けてぶら下げるとか・・・。
まぁ、少し工夫すればなんとかなりそうです。
で、これからの予定としては、この GPS データを Wi-Fi でテザリングした iPhone 経由で Ambient のクラウドサービスへ投げて、可視化でもやってみようかと思います。