Python: legge i dati della porta seriale riga per riga in un elenco quando disponibilepython


Answers

Question

Sto puntando a scrivere un codice che sarà ascoltato e letto indefinitamente da una porta seriale che produrrà questa uscita ogni pochi secondi

uscita porta seriale:

aaaa::abcd:0:0:0
//printf("%d\n",data[0]);
2387
//printf("%d\n",data[1]);
14
-9
244
-44
108

Voglio che i dati vengano aggiunti in una lista come questa, output ipotizzato da python

[abcd::abcd:0:0:0, 2387, 14, -9, 244, -44, 108]

Ho provato questo codice tra molti altri, ma niente ha funzionato, continuo a non ricevere alcun output EDIT- il codice qui sotto mi dà questo risultato

'''[['abcd::', 'abcd::', 'abcd::', 'abcd::', 'abcd::']] #or
[['abcd::abcd:0:0:c9\n', '2406\n', '14\n', '-7\n']] # and so on, different output for each iteration''' 
#[['aaaa::c30c:0:0:c9\n', '2462\n', '11\n', '-9\n', '242\n', '-45\n', '106\n']] apparently it worked only once. 


ser = serial.Serial('/dev/ttyUSB1',115200, timeout=10)
print ser.name
while True:
    data = []
    data.append(ser.readlines())
    print data 
    # further processing 
    # send the data somewhere else etc
print data
ser.close()