iIve попросил вас несколько недель назад о решении моей проблемы с скриптом python.Чтение Python из скрипта Arduino все еще не работает
Я только что начал свой проект и все еще испытывал проблемы.
Моего 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 - буква разделитель между следующей строкой
- Первого номера Влажность
- Во-вторых, температура
- Третий является фоторезистор
- Следующая одна почва moisure
- и последний из которых является вентилятор рабочее состояние (N - не работает, Y - работает)
Я хотел бы использовать сценарий Python с хрон, чтобы написать текстовый файл с результатами для каждого датчика данных.
Например, я буду использовать cron для сохранения 4 текстовых файлов (temp.txt, humi.txt, soil.txt, photo.txt) каждые 5 минут, 30 минут, 1 час, 3 часа, 12 часов, 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
все время.
Что в этом плохого?
Может быть, вы могли бы изменить последнюю строку 'печати time.strftime ("% Y -% m-% d% H:% M:% S "), пункты [2], repr (buffer)', чтобы увидеть, что именно вы разобрали каждый раз? –