0

嗨,我盯着外面看,已经破解了从 Python 向我的 Arduino 发送多位信息。我现在想将信息从我的 Arduino 发送到我看过可能示例的 python,但它们都发送以显示仅发送一行信息。

他就是我所坚持的。Arduino 发送一个起始编号 255,然后是一个 ID,然后是终端窗口上看起来像这样的信息。

255  start chr

1    ch ID

99   Value

我想将这些拆分回python中的单独数组。

感谢您的任何提示。

4

2 回答 2

1

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

于 2013-02-23T09:57:55.197 回答
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]
于 2017-03-24T15:34:47.543 回答