iIve 几周前向您询问了有关我的 python scripy 问题的解决方案。
我刚刚重新开始我的项目,但仍然遇到问题。
我的 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
- T - 字母是下一行之间的分隔符
- 第一个数字是湿度
- 二是温度
- 三是光敏电阻
- 下一个是土壤水分
- 最后一个是风扇工作状态(N - 不工作,Y - 工作)
我想使用 Python 的脚本和 cron 来编写一个文本文件,其中包含每个传感器数据的结果。
例如,我将使用 cron 每 5 分钟、30 分钟、1 小时、3 小时、12 小时、24 小时保存 4 个文本文件(temp.txt、humi.txt、soil.txt、photo.txt)。
接下来,我将使用 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
所有的时间。
它出什么问题了?