Hallo Leute,
ich komm leider selbst nicht mehr weiter, auch ohne google nicht^^ Ihr seid meine letzte Hoffnung
Ich lese über ein Script den seriellen Port vom Pi aus, dieser ist an einen Arduino gekoppelt...soweit so gut... ich bekomme auch einen Wert zurück nur leider kann ich mit dem nichts anfangen (weiter verarbeiten).
hier mal der code von der betroffenen Zeilen:
import serial
import pymysql
import time
from SQL import *
ArduinoConnection = serial.Serial('/dev/ttyACM0',115200,timeout=1)
db = pymysql.connect( host ="localhost", user ="root",passwd ="tutti86", db="Garage")
db.autocommit ( True )
cur = db.cursor()
def read_serial():
while True:
tempZustaende = ArduinoConnection.read(1)
time.sleep(0.02)
print type(tempZustaende)
print tempZustaende
print tempZustaende[0]
print tempZustaende[1]
print tempZustaende[2]
print tempZustaende[3]
print tempZustaende[4]
print tempZustaende[5]
print tempZustaende[6]
print tempZustaende[7]
Alles anzeigen
Antwort:
pi@srv-www /var/www/Webserver $ sudo python serialArduinoOne.py
<type 'str'>
0
0
Traceback (most recent call last):
File "serialArduinoOne.py", line 60, in <module>
read_serial()
File "serialArduinoOne.py", line 20, in read_serial
print tempZustaende[1]
IndexError: string index out of range
Jetzt die Frage, warum kann ich aus dem ankommenden String (Zeigt ja Type(tempZustaende) das es sich um einen string handelt) kein einzelnes char auswerten?
ich kann z.B nicht einfach test = tempZustaende[0] schreiben...Warum?
Hoffe Ihr könnt mir weiterhelfen und im vorraus schonmal sorry für so eine einfache Frage wahrscheinlich^^