嗨,我盯着外面看,已经破解了从 Python 向我的 Arduino 发送多位信息。我现在想将信息从我的 Arduino 发送到我看过可能示例的 python,但它们都发送以显示仅发送一行信息。
他就是我所坚持的。Arduino 发送一个起始编号 255,然后是一个 ID,然后是终端窗口上看起来像这样的信息。
255 start chr
1 ch ID
99 Value
我想将这些拆分回python中的单独数组。
感谢您的任何提示。
嗨,我盯着外面看,已经破解了从 Python 向我的 Arduino 发送多位信息。我现在想将信息从我的 Arduino 发送到我看过可能示例的 python,但它们都发送以显示仅发送一行信息。
他就是我所坚持的。Arduino 发送一个起始编号 255,然后是一个 ID,然后是终端窗口上看起来像这样的信息。
255 start chr
1 ch ID
99 Value
我想将这些拆分回python中的单独数组。
感谢您的任何提示。
最简单的方法是使用专用分隔符(例如逗号)并相应地拆分字符串。也就是说:编写代码的 Arduino 端,使 Python 端的解析变得容易。
将 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]