stdinとstdoutでminicomを使用する方法は?

stdinとstdoutでminicomを使用する方法は?

Pythonを使用してUSB-RS-232コンバータを介してデバイスと通信する必要があります。アプリはminicomスムーズに動作するため、非対話型モードで実行できる場合は、すべてが良いでしょう。

ドキュメントを読むと、いくつかの興味深いオプションがありますが、それらのどれも完全に理解していません。

 -t   Terminal type. With this flag, you can override the environment 
      TERM variable. 

 -S   script.   Run  the named script at startup.

私のアプリとの間でデータをどのように転送しますかminicom?他のものを使うべきですか?

ベストアンサー1

minicomインタラクティブな使用には適していますが、I/O プログラミングに適したツールではありません。

/devローカルPythonプログラムはノードのシリアルポートを開く必要があります。ファイルに書き込むのと同じように機能します。

fd = os.open('/dev/ttyUSB0', os.O_RDWR)
fd.write(...)

唯一のトリッキーな部分は、ビットレートなどを設定することです。これを行うには、次を使用します。Python termiosライブラリ:

attr = termios.tcgetattr(fd)
attr[5] = attr[6] = termios.B9600
termios.tcsetattr(fd, termios.TCSANOW, attr)

これに関するPythonドキュメントでは、すでにCでこのAPIを使用しており、Pythonに変換するのに役立つ必要があると仮定しています。したがって、この道を進むには、StevensやLargoなどの古典的な方法を使用する必要があります。Unix環境の高度なプログラミング

より高いレベルのライブラリは、レベルを超えてtermios* ixタイプではなくシステムへの移植性を提供できます。pyシリアルポート

おすすめ記事