はじめに
こんにちは、マトモなPCを持っていないbockringです。いつも個人開発をiPadでやるという謎行為に走っています。そしてジャンクのWindows PCで書き込むという… しかし、Windowsには相性問題があり、秋月電子さんのAE-RP2040というマイコンボードは接続できません。ということでLinuxの開発環境を整えていきます。
今回入れるIDEは、タイトルにある通り
・Arduino IDE(C/C++ベースのArduino言語のIDE)
・Thonny(Python/MicroPython/CircuitPythonのIDE)
の計2つです。
実行環境
項目 | 詳細 |
---|---|
SoC | AllWinner A64 |
RAM | LPDDR3 1GB(512MB×2) |
ROM | Team製MicroSDXC 64GB(Class 10) |
OS | Armbian 24.2.1 jammy |
※Armbian 24はDebian系のUbuntuライクなOSです。
Ubuntu 22.04 LTS Jellyfishと操作感はほぼ同じです。
インストールするIDEのバージョンはそれぞれ
・Arduino IDE : 1.8.19
・Thonny : 4.1.4
Thonnyのインストール
Thonnyに関しては、ターミナルでのコマンド1発でインストールできるので、先に行います。
user@pine64:~$ sudo apt install thonny
これを実行し、途中で「インストール許可しますか?」的なことを聞かれたらY
と入力してインストール完了まで待つだけです。
あとはソフトウェア一覧かターミナルからThonnyを開き、言語などの設定を済ませば完了です。
さすがはPython実行環境なだけあって接続がスムーズです。となるとMicroPythonを頑張って覚えないと… Arduino言語で慣れてしまうと定義の仕方が慣れませんね…(笑)
Arduino IDE 1.8.19のインストール
Arduino IDEの少し厄介なのは、ターミナルで
user@pine64:~$ sudo apt install arduino-1.8.19
みたいに入れてもデータパックがありません(存在するなら有識者の方、教えてください…!)。
今回の環境は64bitのARM環境なので、64bitARMプロセッサ用ファイル(※ダウンロードリンクです)をArduino公式サイトからダウンロードします。
次にプリインストールソフトウェアの「ファイル」や「XArchiver」などで、解凍します(「ファイル」で実行する方が無難)。
インストールです。解凍したフォルダ内のinstall.sh
をダブルクリックすればターミナルが開くので待つだけでインストール完了です。
基本的にはインストールはどのバージョンでも同じなのですが、Armbian 23以前ではターミナルを用いてinstall.sh
というArduino IDEのインストールファイルに実行権限を付与する必要があります。
これは、ファイルのプロパティ画面でも可能な気がしてしまいますが、実行できません。
また、「GDebi Package Installer」が開いてしまうこともあるかもしれませんが、インストールはできません。
なんだかんだあってインストール完了です。このレガシーな開発画面、良いですね。
本当は初期バージョンの1.0とかも好きなんですが、対応ボードの幅が狭すぎるため却下しました。あとインストールファイルが用意されていない場合があります。
Arduino IDEの設定
これだけ別章でやります。やることが多いからです。まずCtrl
+,
でIDEの環境設定を開きます。
そして、
・コードの折りたたみの有効化
・行数表示の有効化
・起動時の最新バージョン確認機能の無効化
・言語の英語固定設定
の4つを設定します。個人的に、この中では、3つ目の「最新バージョン確認機能の無効化」が重要です。なぜなら、IDE 1
系統だと、その確認時にIDEがプチフリーズします。つまり、入力ができません。しかも、今の時代にあえてIDE 1
系統を入れる人は、IDE 2
(VSCodeベース)なんか使用しないはずです。とっとと無効化しましょう。
次にボードマネージャから
・Raspberry Pi Pico / RP2040
・Arduino SAMD Boards (32-bits ARM Cortex-M0+)
・Arduino SAM Boards (32-bits ARM Cortex-M3)
の3つをインストール、なんですが、どうやらArduino DUE用のツール(M3のやつ)はArmbianは非対応のようです。PicoとM0(M0+のやつ)はインストールこそできたものの、コンパイルでなぜか失敗します。
int count = 0;
void setup () {
Serial.begin(115200);
}
void loop () {
count = count + 1;
Serial.print("Count : ");
Serial.println(count);
delay(100);
}
秋月さんのAE-RP2040でも動くはずです。本来のMicroPythonで書くなら
from time import
count = 0
continue = 1
while continue == 1:
count = count + 1
print("Count :",count)
time.sleep(0.1)
もちろん、ThonnyではPico上で実行できます。プロッタでも綺麗な直線見れました。
私の保有ボードは
ボード | 数量 | 備考 |
---|---|---|
Arduino DUE R2 | 1 | Arduino IDEとの相性が良 |
Arduino M0 R3 | 1 | 動作のみ確認済み |
Tiny 2040 | 1 | 小さく、IOが少ない |
AE-RP2040 | 2 | ちょうど良いサイズ |
ちなみに、RP2040をWindowsのArduino IDEで開発しようなんて夢は捨てて下さい。相性問題を起こします。というか、Windows上で開発するならメインマイコンとは別にUSBチップを積むボードを使用しましょう。ARMのマイコンに組み込まれてるタイプは、経験上相性問題が頻発します。
おわりに
ネタ切れなので投稿しただけです、ありがとうございました。
ちなみに、Armbianって使ってる人が多くないんですよね。情報量を増やすためにもSBC関係の記事も投稿していこうと思います。
ちなみに相性問題も含めArduino IDEでの開発でおすすめできるボードは、
ボード | 備考 |
---|---|
Arduino UNO R3 | 基本モデルで相性問題も低確率 |
Arduino DUE R2 | 相性問題も低確率で高性能だが高コスト |
Arduino Nano | ブレッドボードで開発しやすく安価 |
の3つです。もちろん、用途に合わせてPicoやLeonard、Micro、STM32、ESP32なども含めて検討して下さい。
それではまた〜