今回は M5Stack 用として販売されている GPS Unit (AT6558) を紹介します。
@1,200 円程度と安価な GPS Unit です。
(2020.7.30 最高裁判決)
自動車への GPS 機器の取付はストーカー規制法に定める「見張り」に該当しないという判決を下しました。
とはいっても、こういう小型 GPS Unit の取り扱いについては、あらぬ疑いをもたれぬよう十分に配慮した使い方が求められると思います。
■ ■ ■
さて、先日は ATOM GPS Kit (M8030-KT) という ATOM マイコン専用の GPS Kit でしたが、今回試してみる GPS Unit は UART な Grove 端子付きのユニットとなります。
M5Stack 系のマイコンはモチロン、Arduino などにも簡単に接続できるので、汎用性も高く、とっつきやすい GPS ユニットです。
公式ドキュメント:Description
M5Stack Basic (Arduino IDE) で使う
M5Stack Basic の Grove 端子は I2C の Grove Port A なので、GPS Unit の UART は本体裏の GPIO に直接接続します。
※ UART で使うために、Arduino IDE で GPSRaw.begin のポート番号の変更とかもやってみたんですが、すんなり動いてくれなかったので、仕方なく GPIO ソケットへの直刺しとしました。
M5Stack Basic | GPS Unit |
---|---|
GPIO16 (RXD2) | TXD |
GPIO17 (TXD2) | RXD |
5V | 5V |
GND | GND |
〇 GPSRaw
ただ、サンプルを動かしただけです。
〇 FullExample
このサンプルでは TinyGPS++ ライブラリを使うので、TinyGPSPlus-1.0.2.zip を解凍しライブラリを追加する必要があります。
この写真は起動直後で、まだ衛星を補足してないのでデータはありません。
M5Stack Basic はバッテリも内蔵していて SD カードも使えるので、外に持ち出すには最高かと思いきや・・・Grove 端子が I2C なので、こんな感じに配線が必要になってしまうので、なんかイマイチです。
M5Stack Basic や Core で GPS するなら、GPS モジュールを拡張基板に取り付けてスタックするとか、なにかひと工夫する必要がありますね。
M5Stack Basic(UIFlow)で使う
UIFlow なら Grove 端子が使えるんじゃないかとやってみたら、これがなんと上手くいきました。
GPS ユニットを追加して、port A を選択するだけです。
で、この数ブロックという簡単な配置だけで、GPS ユニットはすんなり動作し、確認することができました。
UIFlow の GPS 関連の命令はこれだけですが、必要最小のものは入ってるので、まぁ、基本的なことはできるんじゃないかと思います。
M5Stack Basic や Core なら SD カードも標準装備なので、UIFlow でプログラムを作っていけば、市販品に負けないくらいの GPS ロガーは作れそうです。
M5StickC(Arduino IDE)で使う
Arduino IDE のサンプル例の GPSRaw.ino を動かしてみました。
(ファイル → スケッチ例 → M5StickC → Unit → GPS → GPSRaw.ino)
小さな画面で Raw データが変化するので文字が見にくくて、サンプルそのままではまったく役に立ちません。
M5StickC(UIFlow)で使う
M5Stack の UIFlow と同じようなブロックを配置して動かしてみました。
M5StickC の Grove 端子と接続する際の注意点としては、GPS ユニットを追加した後に、port の設定を Custom にして、SDA/TX → 32、SCL/RX → 33 を設定します。
M5StickC + GPS ユニットも、ちゃんと動作してくれました。
u-center で、”みちびき” に対応させる
GPS モジュールのドキュメント AT6558 によれば、日本の ”みちびき” にも対応してるということなので、u-center を使って設定してみました。
この GPS ユニットの Grove 端子は、PORT C(UART)なので、このまま USB シリアル変換モジュールを介してパソコンと接続します。
GPS ユニットを自宅の窓から外に出して受信してみたんですが、みちびきの補足はできなかったので、もっとロケーションのいいところで、試してみることにします。
それと、中国の BeiDou をもっと補足してもいいようにも思うんだけど・・・
u-center の設定は合ってると思うんですが・・・
u-center というか、GNSS(GPS)って奥が深くて。
モジュールのドキュメント見ても、専門用語が意味不明だったりして・・・
これは単に基礎的な知識が不足してるだけなんだけど。
この先、GNSS(GPS)モジュールでなにかしようとするなら、もっと勉強が必要で、まずはトラ技のバックナンバーあたりから、読み直してみようかと思ってます。