前回はArduino互換のピン配置が、いまじゃ「お手軽マイコン開発業界」(そういう業界があるのか?)じゃデファクトだ、みたいなことを書きました。一方、ArduinoのIDEも結構な人気です。IDE業界のデファクトと言えば、やはりEclipseじゃないかと思うのですが、シンプルで単なるエディタ?にも見えなくもないArduinoIDE、結構来てます。多品種のArduinoをサポートするための仕組みが有効活用されたのか、Arduinoでない開発ボードにもぐいぐい広がっている感じ。今回は、そんなArduino IDEの活用事例として、これまた最近来ている感じの M5Stack を見てみたいと思います。
※「鳥なき里のマイコン屋」投稿順Indexはこちら
今回ターゲットにするのは いろいろ品種のあるM5Stackシリーズから Basic な Core開発キットです。プラスチックのパッケージから取り出すとこんな感じ。
とりあえず本体だけでなく、USB Type.CケーブルとI/O端子から信号引き出すためのケーブル類まで付属しているのでUSBでPCとつなげば即使えます。バッテリ用の端子も出ていますが、バッテリBOXは別。ただ、付属のUSBケーブルの長さが20cmもないので、かなり窮屈です。長めのケーブル用意しておいた方が楽に作業できると思います。本体上面にはカラーLCDパネルと3つのキーがあります。本体を2つに分けるとこんな感じ。
左の、ボードの内容を見れば明らかですが、機能テンコ盛りです。
-
- 「マイコン」はESP32、よってWiFi、BLE使用可能(技適マークあり)
- スピーカ内蔵
- マイクロSDのスロットあり
とりあえずこのガタイで、表示、キー入力、無線、外部ストレージ、音声出力と盛り込んだ上に、売りが、
-
- 上下左右にI/Oを拡張できる!
です。右のBOTTOMと書かれたモジュールからは、上下左右にピンヘッダと、ピンソケットが出ています。
上下はBUS PORTと名付けられており、左右はI/O PORTと名付けられています。BUSといって昔風のアドレス、データバスが出ているわけではなく、I2CとSPIです。上下左右に5V, 3.3V電源、GNDがもれなく出ているので1辺で目的を達することができるように考えているのだと思います。さらに、
ボトムとトップの間にボード重ねて拡張することもできる
とんでもなく拡張性に富んだ「システム」じゃないかと思います。これはこれで、ボードサイズとピン配を含め
M5Stackの世界
を形成しつつあるようです。
さて、本題のIDEに入りましょう。インストール済のArduino IDEに、M5Stackの箱に同梱されていた CORE DEVELOPMENT KIT V1.0というタイトルの小さな説明書きを見ながら、M5Stack開発のためのアドオンというか、プラグインというかをインストールしてみます。Arduino IDE的には、追加ボード情報のインストールという位置づけかと思います。
説明書通りのアドレスを入力しているのにファイルを見つけることができないようです。ありがちなことですが、「何かが変わり」、印刷されたものには反映されていない、という状態でしょう。
この世界、そんなもんだあ~
というわけで、M5Stackのウエブサイトへ行き、以下のクイックスタートガイドの手順に従ってインストールを行いました。
1発でインストールできている説明書と異なり、まず、ESP32のツールをインストールし、後からM5Stack用のライブラリをさらにインストールするという2段構えに変更されていました。インストールは問題なく成功。目出度く、Hello World へと進めることができました。こんな感じ。
しかし、副作用というか、このところ触っていないのでちょっと後ろめたかったESP32用のツールも同時にインストールされました。これは、使わないとイケない。
Arudinoお使いの方はご存知だと思うのですが、Arudinoでプログラミングに使っている言語は、CかC++にクリソツですが、Cと呼んではいけないものです。例えば、main()などというものはなく、あくまで「ベアメタル」な開発風味を漂わせる
初期化のsetup()と、処理の無限ループのloop()
だったりします。でもまあ、Cのつもりで書けるので気楽といえば気楽。個人的には、伝統に則り”Hello World!”とビックリマークを入れたいところですが、IDEのメニューから選択できるM5Stack用のHello Worldにはビックリマークがありません。ま、いいか。「ビルド」するとこんな感じの容量を使いました。
右矢印ボタンを押せば、以下のようなメッセージとともに、プログラムがM5Stackに書き込まれます。このフラッシュ書き込みを Upload と唱えるArudino業界の習慣?にはちと慣れませぬ。GHSのツールじゃ下向き矢印でしたな。そういえば。ダウンロード、と。
何はともあれ、プログラムが目出度く書き込まれ、RESETもかかって、実行されたようです。
電池BOXつないで動かしたら、実にいろいろ使えそうな感じがするのだけれど、どうでしょう。これだけ機能あると、どこぞの開発ボードと比べると(比べてはイケないという声が聞こえる気もするが)、コスパ良すぎな気もする。世間(どこの世間だ)に受けるのは分かる。