概要
事前準備
利用方法
バグと改良予定
ここが最大の難関かも...
コンパイル環境の構築についての詳細は他のサイトにも情報がありますので、そちらを参考にしてください。
ESP32開発ボードに乗っているUSB関係のチップ(CP2102 : USB-UART Bridge)がそのままではPC側に認識されませんので、ドライバーのインストールが必要です。
M5Stackの最新版はUSB関係のチップが変更になっています。 CH9102Fに変更になっていますので、CH9102F対応のドライバーが必要です。
USB接続できるRIGの一部では、CP210xを利用しているものがあります。 これらのドライバーと相性(同居)ができない場合もあるかもしれません。 私の場合は、USB接続タイプのGPSロガーとの同居ができない問題にぶつかったことがあります。
M5Stack Basic v2.6から、USB関係のチップがCH9102Fに変更になっています。 ところが、V2.6の初期版(?)は、基板上のシルク印刷が2.4のままになっているものがあります。 これは、パッケージに記されているバージョンは2.6であることと、基板上のチップのシルク印字で9102であることを確認するのが確実ですが......私の場合、このチップ上の型番の印字が肉眼では見えません(涙)。
Arduino 1.8.13以降、なにやら大きな違いがあるようで、そのまま1.8.15に上書きしてもうまくコンパイルできない場合があります。 いろいろ試した結果、Arduino環境をすべて削除して、最初からインストールしなおしたらうまくいきました。
1.8.16から1.8.18に更新した際にも同様の事態に陥りました。結局、最初からインストールしなおしたらうまくいきます。Arduino IDEを更新する度に、クリーンインストールするのが確実かも...
下記サイトからArduino IDEをダウンロードしインストールしてください。 Arduino IDE 1.8.18で動作確認をしています。
ネット上にある M5Stack用のArduino IDEの環境構築に関する情報が、新旧入り混じって混乱しています! 既に、Arduino IDEをインストール済みの方も、一度全削除して、ゼロから環境構築を行った方が確実です。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
を指定するArduino IDEのライブラリーマネージャーで下記のライブラリーをインクルードしてください。
→ →ライブラリー名を検索して下記のサイトからライブラリー(*.zip)をダウンロードして保存(適当な場所に..) 。 いずれもGitHubにあります。緑の Code から を選んでダウンロードしてください。その後、zipファイルを解凍(最近の若者は展開というらしい)する必要はありません。
ダウンロード後、
、 、 から、 先ほどダウンロードした*.ZIPを指定してインストールしてください。 tinyGPSPlusとArduinoJsonのそれぞれに作業が必要です。別ページに掲載しているKetaiTracker for M5Stackのスケッチ(ソースコード)をArduino IDEで開いてください。
スケッチを読み込んだあと、下記の手順でライブラリー
(M5Stack
Core2Core2の方はM5Stack Core2
,
Arduino_JSON
およびTinyGPSPlus
)をインクルードしてください。
OTAを利用する場合はArduinoOTAもインクルードしてください。
この時、スケッチの上部に #include <TinyGPS++.h>l
および#include <ArduinoJson.h>
などが自動的に追加されます。
既にスケッチ中に、上記の#include文があり重複しますが、そのままでもいいし、追加された先頭の2行を削除してもどちらもでOKのようです。
M5Stackをコンピュータに接続し、Arduino IDEが利用するシリアルポートを下図のように変更してください。
Arduino IDEの利用でつまづくのはこのページに記載している内容のどこかです。。。 実際にスケッチをコンパイルすると、あれこれエラーを吐いてくる場合があります。
Arduino IDEでライブラリーのインクルードを行うということは、必要な ヘッダーファイルのインクルード(#include
)とリンカでマージするライブラリーの指定も行うようです。
低水準(旧人類)プログラマーの私には、最初その挙動が理解できず悩みました。