
screen
次のようにセッションを開始して、USB 経由で接続されたセルラー モデムに AT コマンドを手動で送信していますscreen /dev/ttyUSB0
。デバイスに送信するコマンドを bash スクリプトで自動化したいのですが、これまでのところ成功していません。試したことは次のとおりです。
- コマンドの出力を tty インスタンスにリダイレクトします。
echo 'AT COMMAND' > /dev/ttyUSB0
- 分離されたスクリーンセッションにコマンドを送信する:
screen -d -m 'AT COMMAND' /dev/ttyUSB0
- stty を使用してシリアル ポートを設定し、コマンドを送信します。
stty -F /dev/ttyUSB0 115200 raw -echo -echoe -echok -echoctl -echoke
echo -e -n 'command_here\r' > /dev/ttyUSB0
他のスクリプト言語やそれらが提供するライブラリ (Python のライブラリなどpyserial
) を使用することも検討していますが、追加のパッケージをダウンロードせずに直接使用できる Unix コマンドの方が好きです。