簡體   English   中英

從Arduino腳本讀取Python仍然無法正常工作

[英]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 
  • 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

它出什么問題了?

我懷疑不是

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM