· 7 years ago · Nov 25, 2018, 04:14 PM
1import Adafruit_DHT
2import sqlite3
3from datetime import datetime
4
5db = sqlite3.connect(':memory:')
6
7cursor = db.cursor()
8cursor.execute('''
9 CREATE TABLE IF NOT EXISTS data(id INTEGER PRIMARY KEY AUTOINCREMENT, temperature NUMERIC, humidity NUMERIC, current_time TIMESTAMP
10 )
11''')
12
13db.commit()
14
15sensor = Adafruit_DHT.DHT11
16pin = 'P8_7'
17
18readings = [Adafruit_DHT.read_retry(sensor, pin) for i in range(0, 18)]
19temperatures = [r[1] for r in readings]
20humidities = [r[0] for r in readings]
21temperatures.remove(max(temperatures))
22temperatures.remove(min(temperatures))
23humidities.remove(max(humidities))
24humidities.remove(min(humidities))
25
26temperature = sum(temperatures)/len(temperatures)
27humidity = sum(humidities)/len(humidities)
28current_time = datetime.now()
29
30cursor.execute('''INSERT INTO data(temperature, humidity, current_time)
31 VALUES(?,?,?)''', (temperature, humidity, current_time))
32
33db.commit()
34
35cursor.execute('''SELECT * FROM data''')
36rows = cursor.fetchall()
37
38print(rows)
39
40db.close()