工作好きな情報系の雑記

[Raspberry Pi 3]ArduinoのスケッチをCUIで書き込む方法

実験の都合上、Arduinoに自動でスケッチを書き込む方法が必要になったので調べた。

PlatformIOというのを使うとCUIで書き込めるようになるらしい。

!(https://qiita-image-store.s3.amazonaws.com/0/77816/0d0e330b-8517-c9dc-6339-940e22505bca.png...
コマンドラインでArduino開発 : vim + platformio - Qiita - Qiita

けど、書き込むのにはUARTを使わないといけない。
今回の環境ではUART用のGPIOがRPiと接続されていたから、USBシリアルを使って書き込むことができない。だから接続ついでにGPIO経由で書き込めれば良いなと思ってたけど、それだとどうもうまく書き込めない。リセット信号がうまく送られない感じ?
今回の環境では使えないかもしれないね。とほほ


追記(2017/08/07):

GPIO経由で書き込めるようだと判明。
前回はArduinoにリセット信号がうまく届かなかったせいで書き込みが終わらなかったんだけど、RESET信号ラインにもう一つArduinoを挟んで、うまく立ち下がりパルスを送れるようにすれば書き込みが可能になる。

上のような配線をして、追加したArduinoには以下のようなプログラムを書き込んでおく。

そんでRPiでは、以下のコマンドを実行してから書き込みを開始する。

書き込み終わったら、別のプログラムでも使えるようにピンのモードを戻しておく。

Arduinoブートローダを書き込んだ単体のATmega328p(ワンチップArdino)をRaspberry Piのシリアルポートに直結して連携させます。 Raspberry PiでArduino IDEを動かせばシリアルポート経由でスケッチを書き込む事も可能になるようにセットアップします。   注意 Raspberry Piには色々な種類があり色々なOSを走らせることができます。このレポートが対象としているのは
Raspberry Pi シリアルポート経由でArduinoと連携 | kosakalab - kosakalab
モバイルバージョンを終了