【发布时间】:2015-04-14 15:59:43
【问题描述】:
我的 arduino 通过 USB 连接到 pi,它使用下面的简单程序从 DHT 传感器发送读数(这个位在 arduino 串行监视器中按预期工作):
int chk = DHT.read11(DHT_PIN);
Serial.println(DHT.temperature,1);
delay(2000);
然后我有一个 python 程序应该从串口获取数据:
import serial
conn = serial.Serial('/dev/ttyACM0',9600)
temp = conn.readline()
print temp
然后在 php 中使用 $temp = shell_exec('python temp.py 2>&1'); 调用此脚本,该脚本工作正常,但我从序列中得到的值是错误的。
预期的输出应该类似于23.0,但是当我刷新页面(甚至在终端中运行python 脚本)时,我会得到2323.0、23.023.0、22..0 和2 之类的值。这些内容一直在变化,很少以所需的格式出现。
似乎串行数据重叠,即使Serial.println() 函数将其放在新行上。如果有人能告诉我如何纠正这个问题,将不胜感激。
【问题讨论】:
标签: php python arduino raspberry-pi pyserial