私はttyUSB0デバイスに接続されたカードの読み込みを持っています。カードが通過するのを待って(例えば30秒)、データを渡してデータを受け取った後にpythonスクリプトを作成する必要がありますスクリプトを閉じて、データのみで行を印刷します。 30秒以内にカードが通過しなければ、スクリプトが終了します。ここでPythonのシリアルからの読み出し
はスクリプトです:これにより
#!/usr/bin/python
import time
import serial
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate = 4800,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.SEVENBITS,
timeout=1
)
counter=0
while 1:
x=ser.readline()
print x
何が起こるかは、それは私にCtrl + C
EDITヒットするまで、これまでの行を印刷し続けるということです。読み込みを待つためにどのように発見を私は今、30秒後にスクリプト全体のタイムアウトを行う最良の方法は何でしょうか? x = ser.read()
前
time.sleep(30)
:ちょうど次を追加し、30秒間のスクリプト睡眠を作るために
#!/usr/bin/python
import time
import serial
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate = 4800,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.SEVENBITS,
timeout=None
)
#while 1:
x=ser.read(size=16)
print x
30秒待つとはどうでしたか? – Fejs
編集を見てください。それは私が尋ねてきたことです、スクリプト全体を30秒待たせる方法です。 – rgomez