我試圖與我的智能電錶進行通信,這部分工作。 基本上,我通過FT232 USB串行電纜從我的儀表中獲取串行數據。 智能電錶有一個數據記錄器端口,每10秒(9600波特,7個數據位,偶數位,1個停止位)發送一個電報信息。我用minicom配置文件是串行通信在minicom中工作,但不在python中
pu port /dev/ttyUSB0
pu baudrate 9600
pu bits 7
pu parity E
pu stopbits 1
pu minit ~^M~AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0^M
這個工程,我能夠成功地接收我的數據。但我的目標是在收到的python中的數據,所以我嘗試下面的腳本
import serial
ser = serial.Serial()
ser.baudrate = 9600
ser.bytesize=serial.SEVENBITS
ser.parity=serial.PARITY_EVEN
ser.stopbits=serial.STOPBITS_ONE
ser.xonxoff=0
ser.rtscts=0
ser.timeout=20
ser.port="/dev/ttyUSB0"
ser.close()
ser.open()
print ("Waiting for P1 output on " + ser.portstr)
counter=0
#read 20 lines
while counter < 20:
print ser.readline()
counter=counter+1
try:
ser.close()
print ("Closed serial port.")
except:
sys.exit ("Couldn't close serial port.")
這似乎並不工作,它只是超時20秒後。我也曾嘗試 '銅' 有:
銅-l的/ dev/ttyUSB0 -s 9600 -oe
我發現運行python腳本時,然後運行該腳本的Minicom的python腳本將獲得所需的數據。我也嘗試將初始化字符串更改爲'',它適用,但如果我沒有設置它,minicom不會得到任何數據
有沒有人有任何想法?
你能發佈的Minicom腳本 - 我猜測它做一些事情來打開你的Python代碼沒有港口。另外 - 它是否以root身份運行? – adrianmcmenamin
@adrianmcmenamin我沒有使用minicom的任何腳本,我只需通過運行> minicom smartmconfig'運行'配置文件。 – user2826436
它們不以root身份運行,它們由撥出組中的用戶運行。我試圖以root身份運行它們,結果相同。 – user2826436