我有一個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
一切也適用。
如果我在運行上面提到的串口工具時運行這段代碼,everthing也起作用。但是,一旦我斷開連接工具,連接就會丟失。
#!/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()
所以問題是,什麼magicks我需要執行開始對串口沒有串口工具說話?這是一個權限問題?另外,/dev/cu.usbserial和/dev/tty.usbserial有什麼區別?
不,沒有序號。問題是,即使使用sudo運行python腳本,問題仍然存在,並且只有在我提到的gui工具中打開連接時纔會出現問題。
就在上週,我寫了一個小型的Python實用程序,通過讀取USB串口加密狗的調試信息來幫助我調試嵌入式C應用程序,所以我想我認爲我很瞭解PySerial。一些附加信息可能有助於診斷問題:*您使用的是什麼USB串行驅動程序? *您是否確定在嘗試從Python打開串行連接之前已經正確配置了所有串行選項(波特率,流量控制,奇偶校驗,停止位等)? *您使用的是什麼版本的PySerial? – Matt 2008-08-07 22:08:26
你不會在他們後面看到任何序列號嗎?如:/dev/cu.usbserial-xxxxxxxxA /dev/tty.usbserial-xxxxxxxxA /dev/cu.usbserial-xxxxxxxxB /dev/tty.usbserial-xxxxxxxxB我的其他通過也許是有一個權限問題的Python與說話串行端口。你知道你的python實例在哪個用戶下運行嗎?也許它有什麼作用? – 2008-08-06 21:46:17