M5StickCとUnitVの開発環境
オモチャといえども開発環境の整備を侮ってはいけませんね。
今回、気楽な感じでM5StickCとUnitVを買ったわけですが、これらのものは立派なマイコンであり、従って、開発環境を整える必要があるものです。
メーカ提供の使い方、アプリのみで遊ぶ場合は良いですが、ちょっと変えようと思うと開発環境の構築を避けては通れません。
今回は、短時間ではありますが、M5StickCとUnitVのための開発環境に関して調べましたので備忘録を兼ねて記事に残しておきたいと思います。
開発環境って色々あるんだ。
開発環境を考える上で、M5StickCやUnitVが何者かを考える必要があります。
まず、M5StickCもUnitVもマイコンであるということです。
M5StickCに使っているチップはESP32というwifiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラです。
具体的には、Tensilica社のXtensa LX6マイクロプロセッサを使っています。
UnitVは高性能なニューラルネットワークプロセッサ(KPU)とデュアルコア64ビットRISC-V CPUを有するKendryte K210というAIチップを使っています。
従って、M5StickCの開発環境はESP32用の開発環境であり、UnitVの開発環境はK210用の開発環境になります。
これを理解するのに少々時間がかかってしまいました。
ESP32用の開発環境
まずは、ESP32用の開発環境について調べたことを記載します。
ESP32用の開発環境は沢山あります。
オフィシャルなものは、ESP-IDFというものがあります。
ネットの情報を見る限り、これは今流行の統合開発環境ではないようです。
パソコン上でプログラムを作り、M5StickCへ転送して動作を確認しながら開発を進めていくことができる環境としては、Arduino IDEがありました。
Arduino IDEに関してはネットにも書籍にも情報が結構あり、選んでも良さそうです。
(参考資料)Arduino IDE 環境設定手順書
https://www.artec-kk.co.jp/studuino/docs/jp/Arduino_environment_setup.pdf
また、プログラムの規模が大きくなってきた場合には、Visual Studio Codeが良さそうです。
今回、実際にArduino IDEとVisual Studio Codeをインストールして使ってみた結果、Arduino IDEを開発環境として選ぶこととしました。
理由は、シンプルで今回の目的(オモチャを作る)にあった使いやすさ、ということになります。
ちなみに、Arduino IDEで使う言語は、C/C++です。
(参考資料)M5SticCの機能と構成
K210用の開発環境
K210用の開発環境は、Sipeedが提供しているようで、Standard SDK、Free RTOS SDK、Tool chain for MacOS、OpenOCD for Ubuntuが提供されています。
この他に、Windows環境においてはMaixpyも提供されています。
Maixpyは、micro pythonベースで開発を行うもので、Standard SDKをベースにK210やUnitV向けのperipheralを移植したもののようです。
実際にMaixpyをインストールして使ってみましたが、開発環境の画面にカメラの映像も出て、効率的に開発が行えることが確認できました。
Windows以外では、Maixpyは動作しないようなので、K210用の開発環境としては、WindowsマシンでMaixpyを使うこととしました。
(参考資料) UnitVの機能とK210のアーキテクチャ
以上で開発環境の構築は終わりです。
次回からいよいよUnitVからの画像を処理してRoverCを動かすことにチャレンジです。
では、また。
(参考図書)