私はProlite LEDサインを持っています。これは、Apacheのログやその他の面白い統計情報からのスクロール検索クエリを表示するように設定するのが好きです。問題は、私のG5はシリアルポートを持っていないので、私はシリアルドングルにUSBを使用しなければならないということです。これは/dev/cu.usbserialおよび/dev/tty.usbserialとして表示されます。 OS XまたはLinuxのシリアルポートとプログラム的に対話する
私はこのすべてを行う
は互角の-ドーリーのようだ:私はそれに話を serial port toolを使用する場合もstty -f /dev/cu.usbserial
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb
すべてが動作します。
上記のシリアルポートツールの実行中にこのコードを実行すると、すべてが動作します。しかし、私はツールを切断するとすぐに接続が失われます。
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10)
ser.write("<ID01><PA> \r\n")
read_chars = ser.read(20)
print read_chars
ser.close()
シリアルポートツールを使わずにシリアルポートに通話を開始するにはどのような魔法が必要ですか?それは権限の問題ですか?また、/dev/cu.usbserialと/dev/tty.usbserialの違いは何ですか?
いいえ、シリアル番号はありません。問題は、pythonスクリプトをsudoで実行しても問題は解決されず、私が言及したguiツールで接続を開くと問題が解決されます。
ちょうど先週、私は、USBシリアルドングルからデバッグ情報を読み込んで、埋め込みCアプリケーションをデバッグするのに役立つ小さなPythonユーティリティを書いたので、PySerialについてよく理解していると思っています。いくつかの追加情報が問題の診断に役立つかもしれません:*どのUSB-Serialドライバを使用していますか? *シリアル接続をPythonから開こうとする前に、すべてのシリアルオプション(ボーレート、フロー制御、パリティ、ストップビットなど)を正しく設定していることは確かですか? *どのバージョンのPySerialを使用していますか? – Matt
あなたの後にシリアル番号が表示されることはありませんか?そのような:/dev/cu.usbserial-xxxxxxxxA /dev/tty.usbserial-xxxxxxxxA /dev/cu.usbserial-xxxxxxxxB /dev/tty.usbserial-xxxxxxxxB私の他のスルー多分そこには、Pythonの許可の問題が話しているシリアルポート。 Pythonインスタンスが実行されているユーザーを知っていますか?そして、それがどんな役割を果たしているのか? –