ich habe ein wahrscheinlich nur kleines Problem und bin voller Hoffnung, dass ihr mir helfen könnt.
Ich habe ein Python Skript, welches eine serielle Verbindung zu einem Arduino Board aufbaut. Sobald die Verbindung aufgebaut ist soll die ganze Zeit der Input überprüft werden und sofern ich bestimmte Daten vom Arduino Board bekomme sollen diese einfach in der Konsole ausgegeben werden. Darüber hinaus möchte ich aber auch Eingaben über das Terminal machen können, was wiederrum ans Arduino Board gesendet wird. Zusammenfassend soll also die ganze Zeit über der Eingang überprüft werden ob etwas vom Arduino kommt und zudem möchte ich Eingaben via Terminal machen können.
Folgender Code funktioniert nicht
Code: Alles auswählen
import serial
import threading
speed = 9600
port = "/dev/tty.usbserial-A800eIZh"
arduino = serial.Serial(port, speed, timeout=1)
exit_flag = False
class listening(threading.Thread):
def run(self):
while not False:
try:
s = arduino.read(1024)
print "Got from Arduino:", s
except IOError:
print "IOError!"
class terminal_input(threading.Thread):
def run(self):
exit_flag = False
while not exit_flag:
try:
t = arduino.read(1024)
t = raw_input("Send XXX to quit:")
if t == 'XXX':
exit_flag = True
arduino.write(t)
except IOError:
print "IOError!"
arduino.close()
x = listening()
y = terminal_input()
y.start()
x.start()
Crhiss