M5StickCを手に入れてWindows10上のArduinoIDEでサンプルコンパイルをしてみると、ソース量からなんでこんなに時間かかる?のだろうとググってみるとLinux(Ubuntu)でコンパイルが一番短いとの記事を見つけMint20に環境を構築してみました。
インストール環境
MacBookProで動かしている仮想環境ParallelsDesktopにLinuxMint20をインストールしてあります。
- MacBookPro13 (BigSur)
- LinuxMint20
- ArduinoIDE 1.8.13
ArduinoIDEのダウンロードとインストール
ArduinoIDEのダウンロード
linuxMint上のブラウザでArduinoIDEのダウンロードページからLinux64bitsをクリックします。
https://www.arduino.cc/en/software

寄付かダウンロードのみかの選択に遷移するが一回目は寄付ボタン出てこなかった、リロードなどをしたら[JUST DOWNLOAD]が出てきた。


必要なパッケージのインストール
最初はいきなりArduinoIDEをインストールをしたら色々とエラーが出て、調べるとパイソン系のパッケージが必要なのが件の記事で知り、先にパイソン系のパッケージをインストールする。
$ sudo apt install -y git python-is-python3 python3-distutils
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py —use-feature=2020-resolver
$ sudo pip install pyserial
ダウンロードしたファイルの解凍とインストール
$ cd (ホームディレクトリに移動)
$ mkdir arduinoIDE
$ cd arduinoIDE
$ tar xvf ../Downloads/arduino-1.8.13-linux64.tar.xz
すると直下にarduino-1.8.13というディレクトリができるので・・・
$ cd arduino-1.8.13
$ sudo ./install.sh
M5StickCの接続とArduinoIDEの実行
M5StickCの接続確認
USBケーブルを使ってM5StickCとMACを繋ぐと、MacOSからMacに繋ぐか仮想環境に繋ぐかのポップアップが出てきて仮想環境を選びます。
もしくは、仮想環境のメニューからUSBの接続でM5Stickを選びます。
$ ls /dev/ttyUSB*
/dev/ttyUSB0
上記のコマンドでデバイスが作られているかを確認し、ttyUSB0(末尾番号は環境によって変わる)があれば無事に接続。
ArduinoIDEの実行
メニューから[Development]-[ArduinoIDE]を選ぶ

ArduinoIDEからM5StickCを認識しているか確認、[Tools]-[Port]に[/dev/ttyUSB0]があればチェック。

ArduinoIDEにM5StickC用ライブラリをインストール
M5StickCに入っているCPUなど関連するライブラリをインストールします。
最初にESP32のライブラリの在りか(URL)を指定する。
追加ボードマネージャーにESP32で使うURLを登録
ArduinoIDEを起動して[File]-[Preferences]を選択し環境設定を開く。


Additional Boards Manager URLs:(追加のボードマネージャーURL)に
https://dl.espressif.com/dl/package_esp32_index.json
を入力しま、ポップアップを閉じます。
esp32のボードを追加する
ボードマネージャーを[tools]-[Board]-[Boards Manager…]から開き

①の所に「esp32」と入力し、出てきた項目の「esp32 by Espressif System」をインストールする。

M5StickC用のライブラリをインストール
ライブラリマネージャを[Sketch]-[include Library]-[Manage Libraries…]から開き。

①の所に「m5stickc」と入力し、出てきた項目の「M5StickC by M5StickC」の[install]をクリックしインストール。

M5StickCの開発環境の確認
メニューから[Tools]を選び赤枠の中を確認。
Boardの項がM5StickCで無ければそのまま[Board “???”]-[ESP32Arduino]-[M5Stick-C]を選びます。

動作確認
ここまで巧く設定が行ければコンパイルしM5StickCへ送信し何か?ができるはず。
