[英]Reading realtime data from serial port from Arduino into a python script
[英]Python reading from Arduino script still not working
iIve幾周前曾問過您有關我的Python問題的解決方案。
我剛剛再次開始我的項目,但仍然遇到問題。
我的Arduino運行正常,命令sudo屏幕/ 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一起使用,以編寫一個文本文件,其中包含每個傳感器數據的結果。
例如,我將使用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
。
它出什么問題了?
我懷疑不是
items = buffer[start:end].strip().split()
你要
items = buffer[start:end].split().strip()
或者可能
items = buffer[start:end].split()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.