インターフェイスの出力をリダイレクトしますか?

インターフェイスの出力をリダイレクトしますか?

ATコマンドをモデムインターフェイス(/dev/ttyUSB3)にエコーしており、コマンドは正常に実行されます。

たとえば、次のコマンドが機能し、出力は次のようになりますOK

echo -e "ATZ\r" > /dev/ttyUSB3

cat /dev/ttyUSB3他のアクティブな端末でこれを見ることができます。

モデムから戻るデータを処理するためにどのように使用せずにcat(たとえば、コマンドを送信して出力を取得するために使用する)、出力を変数またはファイルにリダイレクトできますか?OK

ベストアンサー1

通常のファイルと同様に、シリアルデバイスを使用する必要があります。唯一の違いは、速度と制御線の設定にいくつかのioctl()が必要であることです。

os.system("echoだから...を使用しないでください。しかし、f = open('/dev/ttyUSB3', 'rw')そしてそしてf.write()そしてf.read()

理論的にはこれを使用ioctl()して速度などを設定できますが、その段階ではすべてのパラメータを直接マーシャリングするよりもpySerialを使用する方が簡単です。ser = serial.Serial(port='/dev/ttyUSB3', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)そしてser.write()そしてser.read()

シリアルポートの識別名を設定するには、/dev/ttyUSB3をハードコーディングする代わりにudevを使用する必要があります。実行方法は次のとおりです。シングルUSB/RS-232アダプタ実行方法は次のとおりです。マルチポートUSB/RS-232アダプタ

おすすめ記事