(これまでのあらすじ)
己の大願を成就せんと、紀伊の国は吉野の山中で千日の荒行を自らに課していた俺は、ある日一人の子供と出会った。
不動明王の御使いで矜羯羅童子を名乗るその子供に、M5Stackというすごいマイコンモジュールを教えてもらった俺はさっそく家に帰ると、AmazonでM5Stack Core2を注文したのだが、それは天が課した試練のひとつに過ぎなかった…
M5Stackはデフォルトでタッチ式TFT液晶ディスプレイ、Wi-Fiモジュール、6軸ジャイロセンサーなどを搭載している
まさにオールインワンといった趣のマイコンモジュールである。
さらに、拡張モジュールを重ねる(stack)ことで様々な機能を追加できるのが売りだ。
(問題 ハードウェア編)
さて、購入したM5Stack Core2にGPSモジュールをつけようと思ったところで問題が発生する。
重ねるのはいいが裏蓋が閉まらないのである。
裏蓋についている出っ張りがあっちこっちで干渉してしまい、全く閉まらない。
なんならバッテリーすらも干渉する。
仕方がないのでニッパーで出っ張りを切り飛ばし、バッテリーを本体基盤の上に置いてようやく閉まった。
ちなみに、GPSモジュールには2本のアンテナ線がついているが、片方は外部アンテナ用だ。
端子がプラプラしてると短絡して危ないので、マスキングテープを巻いておいた。
さらに問題が発生する
裏蓋がネジ止め(六角穴)であるため、追加したGPSモジュールで全長が伸びてしまい、
ネジの長さが足りなくなってしまった。
これも仕方がないのでホームセンターでM3のネジを買ってきてつけた。
ひとまず、これでハードウェア編は一段落である。
(問題 ソフトウェア編)
さてハードがどうにかなったので、ネットの記事を見ながらファームウェアの更新、IDEの導入、ハードウェアとの接続を済ませる。
M5StackにはUIFlowIDEというなかなかなモダンな開発環境がついている。
いわゆるヴィジュアルプログラミングの開発環境である。
Pythonのコードを吐き出すのでそちらを直接編集することも可能だ。
しかし、UIFlowのライブラリではGPSから取得できる情報がかなり限られている。
GPSから送られてくる電文の内容をフルサポートしていないのだ。
カッチョいいUIを備えたアプリケーションを作ろうと思った俺は少しがっかりした。
そこでGPSから送られてくる電文をPythonで解析して変換して表示を行おうと思ったのだが、
正直めんどくさい。
そこで登場するのがarduinoである。
M5Stackはarduinoでの開発も可能なのだ。
arduinoのTinyGPS++ライブラリであればGPSの電文をフルサポートしている。
さっそく俺はネットの記事を見ながらarduinoにM5Stackのライブラリをインストールしたのだった。
サンプルプログラムをコンパイルする。
これはかなり時間がかかる(5分くらい?)。
コンパイルすると自動的にリセットがかかるはずなのだが…かからない。
画面が黒くなったままである。
電源も入らない。
ムカついたのでGPIOのリセット端子に針金を差し込んで短絡させてみたがダメだった。
壊したのかとあせりまくった。
色々設定も確認したのだがうまくいかない。
しかし、3日後原因が判明する。
多くのネットの記事ではM5Stackのライブラリを入れろと書いてある。
が、購入したのはM5Stack Core2である。
M5Stack Core2のライブラリを入れなければならないのだ。
M5Stack Core2のライブラリをインストールし、サンプルプログラムをローディングし、ようやく動いた。
これは感動モノである。
これでようやく俺が作ろうと思っていたGPSマルチメーターのスタートラインに立てたわけだ
。
(つづく)