20

Apache ログやその他の楽しい統計からのスクロール検索クエリを表示するように設定したい Prolite LED サインがあります。問題は、私の G5 にはシリアル ポートがないため、USB からシリアルへのドングルを使用する必要があることです。/dev/cu.usbserial および /dev/tty.usbserial として表示されます。

私がこれを行うと、すべてがハンキードーリーのようです:

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 ツールで接続を開くと、問題が解決する唯一のことです。

4

2 に答える 2

5

/dev/cu.xxxxxは「コールアウト」デバイスです。これは、シリアル デバイスへの接続を確立して通信を開始するときに使用するものです。/dev/tty.xxxxxは「ダイヤルイン」デバイスで、ファックス リスナーなどの着信コールのポートを監視するために使用されます。

于 2008-08-07T00:19:03.233 に答える
0

GUI とシリアル ポート間のトラフィックを監視して、何らかの特別なコマンドが送信されているかどうかを確認しましたか? また、興味深いことに、Python は UTF-8 などではなく ASCII を送信しています。私が尋ねる理由は、文字列の引用符の変更と、実際には ASCII と UTF-8 の違いであるいくつかの言語に気付いたからです。

于 2008-08-06T23:40:43.810 に答える