Продолжаю осваивать питон
Накропал скрипт для лога данных с сенсора в БД
Железка определяется как
Bus 007 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
#!/usr/bin/python
import os
import time
import serial
import MySQLdb
#подключаем к БД
db = MySQLdb.connect(host="127.0.0.1",
port=3306,
user="user",
passwd="password",
db="air")
cur = db.cursor()
ser = serial.Serial( '/dev/ttyUSB0', 9600, timeout=10 )
a = 1
#начинаем читать
while a == 1:
s = ser.readline()
sa = s.split(',')
if len(sa) == 8:
pm25 = float(sa[0])
pm10 = float(sa[1])
hcho = float(sa[2])
voc = float(sa[3])
co2 = float(sa[4])
temp = float(sa[5])
humidity = float(sa[6])
summ = float(sa[7])
unixtime = long(time.time())
#первые несколько значений вылетают с нулями по пыли, так что их отбрасываем и ждем нормальных данных с ненулевой пылью
if pm25 != 0 and pm10 != 0:
a = 10
cur.execute(
'INSERT INTO data '
'(unixtime, pm25, pm10, hcho, voc, co2, temp, humidity)'
'VALUES'
'(%s, %s, %s, %s, %s, %s, %s, %s)',
(unixtime, pm25, pm10, hcho, voc, co2, temp, humidity))
db.commit()
db.close()
print('end')
Из неприятных минусов - железка перезагружается. Помогите побороть эту бяку.