積雲が映像制作したMV『RANGEFINDER』公開中
専門88IO

LinuxでArduino IDEを導入してESP32マイコンに書き込むまで

専門

突然だが現在部活のプロジェクトでM5StickCというESP32内蔵のモジュールを使っている。クイックサイエンスで購入できる安価で多機能なマイコンだ。

M5StickC--販売終了
ESP32-PICOを搭載したスティック型のM5Stackです。ポータブルで使いやすいオープンソースのIoT開発基板で、プロトタイプを素早く作ることができます。メイン写真は技適取得前の画像、実際はTelec表示があります。

開発環境の整備方法はクイックスタートを読めば分かるのだが、Windowsを想定して説明されているためにLinuxでは追加で行う必要のある操作がいくつか存在する。

メンバーとの情報共有、また備忘録を兼ねてまとめることにした。

スポンサーリンク

1.Arduino IDEのダウンロード

公式サイトからダウンロードしよう。

Software
Open-source electronic prototyping platform enabling users to create interactive electronic objects.

tar.xzファイル形式で提供されるため、以下のコマンドで展開する。

tar -Jxvf arduino-[version]-linux64.tar.xz

筆者はこの解凍コマンドを毎度忘れる。

フォルダ内にはインストール用スクリプトinstall.shが含まれているが、今回はインストールせずに使うので無視する。

スポンサーリンク

2.実行権限を付与

Windowsと異なりLinuxではファイルの実行権限が細かに設定されているため、一部ファイルに権限付与する必要がある。

chmod +x "ファイル名"

ここでは、解凍したフォルダ内の

  • ./arduino
  • ./arduino-builder
  • ./tool-builder/ctags/[version]-arduino11/ctags

の3つに権限を付与しよう。

※マイコンのデバイス名

M5StickCは特別ドライバーをインストールすることなく使用できる。

USB Type-C接続なので、筆者の環境でのデバイス名は/dev/ttyUSB0であった。

外部デバイスへの読み/書きの権限は標準でないため、上と同じく権限を付与する必要がある。この処理はスーパーユーザーで行うので頭にsudoを追加しよう。

sudo chmod o+rw /dev/ttyUSB0

この権限はPCの再起動後に初期化されるため、毎回実行しなければならない。グループに変更を加えることでこの操作を省略できるようになるらしいが詳細な説明は割愛する。

ls /dev/ttyUSB0 -l  # crw-rw---- 1 root uucp 188, 0 4月 16 13:58 /dev/ttyUSB0
sudo usermod -a -G uucp USER  # USERは自身のユーザー名

3.書き込みツールのインストール

Linux用Arduino IDEではESP32マイコンへの書き込みにPySerialというPythonライブラリを用いるがパッケージ内に含まれていない。

IDE自体がJava製であるのに対して一部Python製ライブラリを用いるのはややこしい。

筆者のOSはManjaro Linuxなので以下のコマンドで導入した。他のパッケージマネージャーでもおよそ同等のパッケージ名だと思う。

sudo pacman -S python-pyserial

あとがき

以上の4つの処理を行った後、M5StickCのクイックスタートに従ってプログラムを書き込むことができた。

m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Ar...

これで組み込み開発のためだけにWindowsを起動する必要はなくなった。これまで以上に捗るだろう。おそらく。

コメント

タイトルとURLをコピーしました