ich würde mich gerne erst einmal vorstellen. Habe nur sehr oberflächlich Erfahrung mit Python (ich arbeite mit Python 3.5.3) und arbeite mich gerade ein.
Arduino/C mache ich schon ein bisschen länger und arbeite gerade an einer autarken Energieversorgung. Dabei wird von Lithium Akkus per CAN Bus ein Arduino Nano genutzt, der die Daten per USB und virtuellem seriellen Port auf einen RasPi überträgt. Die Daten sehen so aus:
CAN Adresse,Messerttyp,Wert
also als Beispiel:
40,SOC,75
Nun möchte ich diese seriellen Daten gerne in eine Liste bzw. Array aufteilen. und mache das so ("import serial", Baudrate usw. funktioniert, das lasse ich mal raus):
Code: Alles auswählen
serCANbuf = str(serCAN.readline().decode().strip('\r\n'))
serCANbuf = serCANbuf.split(',')
print(serCANbuf) # Resultat: ['40', 'SOC', '75'], soweit so gut
print(serCANbuf[0]) # Resultat: 40, auch gut
print(serCANbuf[-1]) # Resultat: 75, auch gut, letztes Element der Liste
print(serCANbuf[1]) # Resultat: IndexError: list index out of range
Code: Alles auswählen
SOC