名称 | RaspberryPi と Arduino のシリアル通信 |
---|---|
番号 | MIRSMG4D-TECH-0001 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2017.04.19 | 牛丸真司 | 牛丸真司 | 初版 |
A02 | 2021.05.25 | 牛丸真司 | 牛丸真司 | 管理台帳フォーマットへの変更 |
RaspberryPi と Arduino は、それぞれのボードのUSBポートを USBケーブルで接続して、双方向のシリアル通信を行うことが可能である。
標準プログラムでは RaspberryPi から Arduino 側には走行指令、Arduno から RaspberryPi側には走行完了の通知などが行われる。
RaspberryPi側は USBシリアルデバイス として /dev/ttyACM0 を指定する。(/deev/ttyAMA0 は GPIO ポート)
Arduino側は特にポート指定は行わない。
115200 bps (Ver2.0→Ver3.0時に 9600bps から変更)
RaspberryPi、Arduino双方でデバイスオープン時にこの値を設定する。
short command_data[3]; // 2バイトの3要素データ (Ver2.0で1バイトから2バイトに変更)
RaspberryPi → Arduino、Arduino → RaspberryPi とも同じサイズのデータ通信を行う。
RaspberryPi → Arduino、Arduino → RaspberryPi とも同じ送信アルゴリズムで行う。