-
Notifications
You must be signed in to change notification settings - Fork 1
/
read_SI1145.py
38 lines (31 loc) · 1.13 KB
/
read_SI1145.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from SI1145.SI1145 import SI1145
from datetime import datetime
import time
import json
import requests
from configparser import ConfigParser
# Read config file
config = ConfigParser()
config.read('raspberrypi.cfg')
uid = config.get('RaspberryPi', 'uid')
url = config.get('Flask', 'url')
# Take measurement
sensor = SI1145()
measurement = {}
measurement["visible"] = sensor.readVisible()
measurement["IR"] = sensor.readIR()
measurement["UV"] = sensor.readUV()
print(measurement)
# Add timestamp
measurement["timestamp"] = str(datetime.utcnow())
# Add device id
measurement["device"] = uid
# Append to a csv file for the device
csvfile = "/home/pi/plant_monitor_rpi/measurements/SI1145_{}.csv".format(measurement["device"])
with open(csvfile, "a") as f:
# Make sure the entries are in the correct order
f.write("{}, {}, {}, {}\n".format(measurement["timestamp"],
measurement["visible"], measurement["IR"], measurement["UV"]))
# Upload to server
headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}
requests.post(url + "/si1145", data=json.dumps(measurement), headers=headers)