我刚刚开始我的项目,但仍然遇到了问题。
我的Arduino工作正常,命令sudo screen / dev / ttyACM0工作正常,我得到了:
T: 52.80% 23.80 15% 92% N
T: 52.80% 23.80 15% 92% N
T: 52.80% 23.80 15% 92% N
我想使用Python的cron脚本编写一个文本文件,其中包含每个传感器数据的结果。
例如,我每隔5分钟,30分钟,1小时,3小时,12小时使用cron保存4个文本文件(temp.txt,humi.txt,soil.txt,photo.txt), 24小时。
接下来,我将使用php脚本在我的网站上将数据显示为图表。
但问题出在我的python脚本上。我在这里找到了解决方案,目前我正在使用以下脚本(温度示例):
#!/usr/bin/python
import serial
import time
buffer = bytes()
ser = serial.Serial('/dev/ttyACM0',9600, timeout=10)
while buffer.count('T:') < 2:
buffer += ser.read(30)
ser.close();
# Now we have at least one complete datum. Isolate it.
start = buffer.index('T:')
end = buffer.index('T:', start+1)
items = buffer[start:end].strip().split()
print time.strftime("%Y-%m-%d %H:%M:%S"), items[2]
但是在我的文本文件中,我收到的信息不正确,如下所示:
2013-05-10 19:47:01 12%
2013-05-10 19:48:01
2013-05-10 19:49:01 N
2013-05-10 19:50:01 24.10
2013-05-10 19:51:01 24.10
2013-05-10 19:52:01 7%
2013-05-10 19:53:01 24.10
但它应始终为2013-05-10 19:47:01 24.10
。
它有什么问题?
答案 0 :(得分:0)
我怀疑不是
items = buffer[start:end].strip().split()
你想要
items = buffer[start:end].split().strip()
或者
items = buffer[start:end].split()