なぜArduinoIDEはダメ?(脱線)
なぜ今回ArduinoCLIを紹介しているのかというと、ArduinoIDEがかゆいところに手が届かないからです。
遅い...
WiFiを使用したWebServerのプログラムを書いてそれをコンパイルしたのですが、ArduinoIDEではコンパイルに40秒(キャッシュありで16秒)ほど、対してWSLでのArduinoCLIではコンパイルに14秒(キャッシュありで5秒)ほどでした。
このように、プログラムによってはコンパイル時間にかなりの差が出てしまいます。
また、ボードへの転送の際にも必ずコンパイルを行うため、無駄に時間がかかってしまいます。
なんか使いにくい...
私だけじゃないと思うのですが、やっぱり使い慣れたエディタを使ってプログラムは書きたいですよね。
(もちろん外部のエディタを使うという機能はあるのですが!)
じゃあArduinoCLIはどうなの?
ArduinoCLIは、ArduinoIDEからコンパイル機能を持ってきただけのCLIプログラムみたいな感じなのに、あまりにもコンパイル時間が早くなっており、上記の問題を抱えてる方にはかなりオススメなのです。
最後の仕上げ
前回までで、プログラムのコンパイルは終わりました。
というわけでボードに対してアップロードしていきたいと思います。
といっても簡単です。
$ arduino-cli upload -b esp32:esp32:esp32 esp32_ledtest -p シリアルポート
だけです。
シリアルポートは、arduino-cli board list
で調べることができます。
$ arduino-cli upload -b esp32:esp32:esp32 -p シリアルポート -i XXXXX.zip
また、このようにすると、すでにコンパイルされた.zip
ファイルを転送することができます。
これをうまく使えば、複数ボードへの転送も簡単に行えます。
まとめ
実をいうと、あと30時間しか時間がなくて焦っています。
ただ、WSLからUSBのバインド・アタッチができず、.NETと格闘してました。(結局わかんなかったです。)
さぁ、現実に戻りましょう。
というわけで、「コンソールでやってみない?」