Arduino到python串口读取拆分

时间:2013-02-23 09:53:24

标签: python serial-port arduino pyserial

嗨,我正盯着看,已经破解了从Python向我的Arduino发送多条信息。我现在想从我的Arduino发送信息到python我看过可能的例子,但他们都发送只显示一行信息被发送。

他就是我所坚持的.Arduino正在发送一个起始编号255,然后是一个ID,然后在终端窗口上显示它的信息。

255  start chr

1    ch ID

99   Value

我想将它们拆分为python中的各个数组。

感谢任何提示。

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用专用的分隔符(例如逗号)并相应地拆分字符串。那就是:编写代码的Arduino端,以便在Python端进行解析变得容易。

答案 1 :(得分:1)

将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]