どうしてもシェルだけで完結させたいアプリがあったものの、今までことごとくシェル単体での初期化に失敗していました。
仕方なくArduino IDEで通信したのですが……これではいつまで経ってもスタンドアローンにならないので調査。
その結果、実に初歩的なミスだったのでメモ。
実際のところ
Arduino IDEで初期化したあと、ふとsttyで状況を確認してみたところ、
当然というか以下のような値になってました。
$ sudo stty -F /dev/ttyUSB0 speed 115200 baud; line = 0; min = 0; time = 0; -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
今までボーレート位しか設定しなかったのだから、それじゃ動かなくて当然ですね。
というわけで、上のパラメーターに則り初期化コマンドを修正します。
$ stty -F /dev/ttyUSB0 speed 115200 min 0 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo -echoe -echok -echoctl
これで無事に通信できるようになりました。
読むときは
$ tail -f /dev/ttyUSB0
書くときは開いた状態で
$ echo -n "YOUR MSG" > /dev/ttyUSB0