Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

【地獄のバッドノウハウ】シリアル通信でコマンド送るタイプの装置が急制動するような場合、「tail -f」で監視し続けると動くことがある

shuzo-kino.hateblo.jp
でやった事ですが、今日周辺で似たことがあったので。

シリアル通信でコマンド送るタイプの装置……たとえばシリアルサーボなんかがあります。
それまでArduino IDEやminicomではちゃんと動いてくれたのに、
echoで単発のコマンド叩いたりpySerialでつなぐと急激な動きをみせてしまう場合……
「tail -f」でttyへの接続を維持したままやると、うまく動く事があります。

なぜといわれても知りません。
コネクションはり続けてるからでしょうか。

実際のところ

ターゲットデバイスが"/dev/ttyUSB0"

$ tail -f /dev/ttyUSB0 &

この状態で

$ echo "command" > /dev/ttyUSB0


あまりにバッドノウハウすぎるので、納期がギリギリでとりあえず何とかしないといけないというときの緊急避難方法と考えてください。
いつまでもこの実装のままだと後日利息までいれて技術負債をかえすことになるかも……。