嗨,我正在凝视,并已破解从Python发送多位信息到我的Arduino。我现在想从我的Arduino发送信息到python,我看过可能的例子,但它们都发送只显示一行信息被发送。Arduino到python串行读取分割
他是我坚持的东西。Arduino发送一个开始号码255然后一个ID,然后在终端窗口上看起来像这样的信息。
255 start chr
1 ch ID
99 Value
我想将它们拆分成python中的单个数组。
感谢您的任何提示。
嗨,我正在凝视,并已破解从Python发送多位信息到我的Arduino。我现在想从我的Arduino发送信息到python,我看过可能的例子,但它们都发送只显示一行信息被发送。Arduino到python串行读取分割
他是我坚持的东西。Arduino发送一个开始号码255然后一个ID,然后在终端窗口上看起来像这样的信息。
255 start chr
1 ch ID
99 Value
我想将它们拆分成python中的单个数组。
感谢您的任何提示。
最简单的方法是使用专用分隔符(例如逗号)并相应地拆分字符串。那就是:以这样的方式编写代码的Arduino一侧,以便在Python端解析变得容易。
不知道你的意思,但我的arduino Serial.print(data0)Serial.print(data1)Serial.print(data2) – 2013-02-23 13:43:02
@jamesjordan:'print'或'println'?该代码会产生'255199',这是不可能解析的。 – Eric 2013-02-23 14:22:31
打印Arduino的项目与一个分隔符的线路,如像这样一个逗号:
Serial.print(VALUE 1);
Serial.print((" , "));
Serial.print(VALUE 2);
Serial.print((" , "));
Serial.println(LAST VALUE);
使用的println最后值将所有以前的打印组合成一条线。随着Arduino的串行监视器结果是这样的:
VALUE 1 , VALUE 2 , LAST VALUE
您可以在python容易分裂的价值观和可变分配给每个值像数组取值:
SERIALDATA= sensorData.readline() #Read line of text from Arduino
DATASPLIT= SERIALDATA.split(' , ') #Splits the line of text into array of strings composed of each individual sensor data
pyVALUE1= DATASPLIT [0]
pyVALUE2= DATASPLIT [1]
pyFINALVAL= DATASPLIT [2]
是实际输出'Arduino的“开始chr”?值之间有两条新行吗?或者你收到'255199'? – Eric 2013-02-23 09:55:13
它只是在单独的行上输出255 1 99。我想让他们进入data0 data1 data2。 – 2013-02-23 13:36:46