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.040:25

 WindowsやMacOSで何度もコンパイルして時間が気になる方はぜひ試してみてください。

更新履歴

  • 2020/6/14  Ubuntu 20.04での手順を追記
  • 2019/9/16  新規作成

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です