M5StickC(ESP32)の開発言語

現時点での情報です。最新情報はM5StickC非公式日本語リファレンスを確認してください。

概要

これまでArduino Coreの情報しか書いていませんでしたが、どんな環境で開発ができるかを調べてみました。

C/C++言語

ESP-IDF

ESP32の標準的な開発環境です。一番低レベルまで制御が可能ですが、細かいライブラリは準備されていませんので、M5StickCのAXP192などの制御ライブラリが整備されていません。

自分でライブラリから構築できる人向けですので、一般的にはおすすめしません。

Arduino Core for ESP32(Arduino IDE)

事実上の標準開発環境です。ArduinoにESP32のライブラリを追加します。一番ライブラリが充実していて、情報も多く開発が楽です。

エディタがArduino IDEと呼ばれており、文字列補間ができないので、すこし使いにくいです。

Arduino for Visual Studio Code

裏側はArduino Coreのままで、エディタ部分だけVisual Studio Codeを利用しています。

Microsoftが作って公開しているプラグインのため、信頼性はあります。しかしながらArduino Coreを使っている以上、エディタが使いやすくなった以上の差はあまりありません。

PlatformIO

Arduino Coreとほぼ同じ環境ですが、エディタが自由に選べます。Arduino IDEではなく、Visual Studio Codeと組み合わせて動かすことが多いようです。

基本的にはArduino Coreと同じプログラムがコンパイルできますが、ライブラリ管理が違うので、画面から入れることができるライブラリの種類は若干異なります。

コンパイラなども自動的にダウンロードして、環境を整備してくれるので初回にかなり時間がかかりますが、かんたんに環境構築はできます。一方Arduino Coreとは違う環境になりますので、差分がでてくる可能性があります。

ライブラリの設定などはArduino IDEと共通になります。

ブロック+MicroPython

M5Stack UIFlow Cloud

M5StickCの販売元が提供している開発環境です。最近よくあるブロックを組み合わせてプログラミングが可能です。

ブロックで表現できないことはMicroPythonでも記述可能です。基本的にはWi-Fiに接続して、ブラウザ上からプログラムを更新するスタイルになります。

パソコンに接続する必要がないので、かんたんにプログラムの更新が可能ですが、大量の端末がある場合にはWi-Fiが混雑して利用しにくいかもしれません。

最初にUIFlow用のプログラムを端末に転送し、Wi-Fi設定をすることで環境構築が完了します。

M5Stack UIFlow Desktop

UIFlowをWi-Fiを利用せずに、USB接続で利用する場合の環境です。こちらも最初にUIFlow用のプログラムを端末に転送し、USBモードに変更することで環境構築が完了します。

Wi-Fiが無い環境はこちらをおすすめします。ただしDesktop版は安定したバージョンしか提供されませんので、Beta版などの新機能は利用できません。

プログラム転送も、USB接続のため非常に早いです。教室などで複数人に教育する場合にはDesktop版をおすすめします。

JavaScript

obniz

こちらもWi-Fiに接続して、ブラウザからプログラムを転送するタイプの開発環境です。非常にサンプルやライブラリが充実しており、開発しやすいのが特徴です。

サンプルプログラムなども、大量に公開されており、クリックだけで自分の端末で動かすことができるのが便利です。

ただし、有料ライセンスのため気軽に試すことができません。

その他の環境

あまり情報がないのでおすすめしにくい開発環境です。

Mongoose OS

無料で使えるJavaScript開発環境です。

Espruino

無料で使えるJavaScript開発環境です。

Zerynth

PythonとCが利用できる開発環境です。

MicroPython

MicroPythonオフィシャルの環境。M5Stick社の製品を使っているのであればUIFlowで十分な気がします。その他のESP32ボードでPythonを使う場合にはこちらが適しています。

まとめ

個人的には一番標準であるArduino IDEを使っています。C言語に抵抗があるのであればPythonか、JavaScriptあたりが候補ですが、なかなか難しいところです。

コメント