LinuxでM5Stack向けArduinoIDE環境を構築する
M5Stackを利用するようになり、ArduinoIDEでコンパイルを行うようになりましたが、時間が非常にかかります。同じPCで測定してみたところ、Linux(Ubuntu18.04)でコンパイルする時間が一番短かったので環境構築する方法を紹介します。
もくじ(Index)M5Stack関連の目次へ戻る
記事で利用した環境について
- Ubuntu Desktop 18.04.3 64bit (Kernel 5.0.0)
- ArduinoIDE 1.8.10
※ ArduinoIDEは1.8.9でも検証しました。
※ 2020/6/14 Ubuntu 20.04+ArduinoIDE 1.8.12環境での手順が変わっていたので記事を更新しました。
※ 2022/6/20 Ubuntu 22.04 の環境の手順を追加しました。
自分では確認していないのですがKernel4.Xの場合はシリアルポートドライバのビルドが必要かもしれません。
https://m5stack.com/pages/download
ソフトウェアの準備
ArduinoIDEのダウンロード
ArduinoIDEは下記のHPからダウンロードします。ダウンロードする際に、貢献する(CONTRIBUTE)こともできます。(支払はクレジットカードかPayPalで行います。)
FireFoxを利用してLinux(64bit版)をダウンロードした場合は~/Downloads/arduino-1.8.12-linux64.tar.xzというファイルがダウンロードされます。
https://www.arduino.cc/en/main/software
M5Stackを接続し、シリアルポート名を確認する。
Ubuntu18.04ではUSBドライバは含まれているので接続すると認識されます。下記のコマンドを実行して接続された後に増えるポート名(/dev/ttyUSB?)を確認しておきましょう。(PCや他のLinuxによっては/dev/ttyUSB以外の場合もあります。)
ls /dev/ttyUSB*
インストール
ArduinoIDEを利用できるようにしていきます。
①必要なパッケージのインストール(Ubuntu 18.04と20.04で手順が異なります。)
ArduinoIDEを実行するために必要なパッケージをインストールしていきます。
Ubuntu 18.04
●aptでのインストール
sudo apt install -y python3 python python-pip
●pipを使ってインストール
pip install pyserial
Ubuntu 20.04
Ubuntu 20.04からPython2が廃止になった関係で、デフォルトのpythonが無くなりpython-pipパッケージも無いので下記の手順でインストールします。
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
Ubuntu 22.04
Ubuntu 22.04では、20.04の手順に加えて、brlttyというアプリがttyUSB0を占有しているらしく、アンインストールが必要です。(後述のchmodで/dev/ttyUSB0が無いと言われます。)
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
sudo apt autoremove brltty
②シリアルポートの設定
Ubuntuだと、ユーザをdialoutグループに追加して、ポートの権限を変更する必要があるので下記のようにコマンドを実行します。
※ USBにM5Stackをつないだ状態で行います。
sudo usermod -a -G dialout $USER
sudo chmod a+rw /dev/ttyUSB0
③tarファイルの解凍
ダウンロードしたフォルダからtarファイルを移動して解凍します。作業フォルダは「~/arduino」を使用します。
mkdir ~/arduino
cd ~/arduino
mv ~/Downloads/arduino-1.8.10-linux64.tar.xz .
tar xvf arduino-1.8.10-linux64.tar.xz
解凍すると~/arduino/arduino-1.8.10/ というディレクトリが作成されます。
④インストール
通常版
インストールしてアイコンから起動したい場合は、下記の手順でinstall.shを実行するとインストールできます。
cd ~/arduino/arduino-1.8.10
sudo ./install.sh
Portable版
ディレクトリ単位で異なる環境を作成したい場合はportableというディレクトリを作成します。
cd ~/arduino/arduino-1.8.10
mkdir portable
⑤実行
通常版
デスクトップの左下をクリックして、「Arduino IDE」というアイコンをクリックすると起動します。
Portable版
下記のようにarduinoを直接実行します。
cd ~/arduino/arduino-1.8.10
./arduino
ArduinoIDEの設定とサンプルのコンパイル
シリアルポートの名前が異なる以外はWindows10と使い方は一緒なので、あとの設定については下記の記事を参照してください。
初心者向けM5Stackの始め方(ArduinoIDE編)の「ArduinoIDEの設定」おわりに
M5StackのFactoryTestのビルドを自分の環境で測定したところ下記のようになっています。4コア以上の端末であれば仮想マシン上にUbuntu環境を構築しても良いかもしれません。
PC(ストレージはSSD) | OS | コンパイル時間 |
---|---|---|
CPU:Core i5 2415M(2C4T) MEM:16GB | Windows10 MacOSX Ubuntu18.04 | 1:40 1:33 0:33 |
CPU:Core i5 4570(4C4T) MEM:24GB | Windows10 Ubuntu18.04 | 1:20 0:25 |
上記PC上のVMWare(2C2T) MEM:8GB | Ubuntu18.04 | 0:25 |
WindowsやMacOSで何度もコンパイルして時間が気になる方はぜひ試してみてください。
更新履歴
- 2020/6/14 Ubuntu 20.04での手順を追記
- 2019/9/16 新規作成