#!/usr/bin/python3
import csv
import datetime
import time
from sense_hat import SenseHat
sense = SenseHat()
sense.set_rotation(180)
msleep = lambda x: time.sleep(x / 1000.0)
t = sense.get_temperature()
p = sense.get_pressure()
h = sense.get_humidity()
t = round(t, 1)
p = round(p, 1)
h = round(h, 1)
# This bit just flashes the LED matrix a few times to indicate the readings are to follow
sense.clear([255,0,0])
msleep(200)
sense.clear([0,0,0])
msleep(200)
sense.clear([255,0,0])
msleep(300)
sense.clear([0,0,0])
msleep(300)
sense.clear([255,0,0])
msleep(400)
sense.clear([0,0,0])
msleep(400)
msg = "T: %s P: %s H: %s" % (t,p,h)
sense.show_message(msg, scroll_speed=0.07, text_colour=(0,0,200))
with open('/data/sense/env.csv', 'a', newline='') as fp:
a = csv.writer(fp, delimiter=',')
data = [["sense",time.strftime("%d/%m/%Y"),time.strftime("%H:%M:%S"),t,p,h]]
a.writerows(data)
$ crontab -e
# m h dom mon dow command
*/5 * * * * /data/sense/env.py
# head /data/sense/env.csv
Sensor,Date,Time,Temperature,Pressure,Humidity
sense,05/09/2015,21:55:14,29.7,1027.9,33.4
sense,05/09/2015,22:00:14,29.8,1028.0,32.5
sense,05/09/2015,22:05:15,29.8,1028.0,33.5
sense,05/09/2015,22:10:14,30.0,1028.0,34.2
sense,05/09/2015,22:15:14,29.7,1028.0,32.9
sense,05/09/2015,22:20:15,29.6,1028.0,32.8
sense,05/09/2015,22:25:15,29.5,1028.0,33.3
sense,05/09/2015,22:30:14,29.6,1028.1,32.8
sense,05/09/2015,22:35:15,29.2,1028.1,33.4
envdata<-read.csv("env-2015.csv")
boxplot(Pressure ~ factor(Date, levels=unique(Date)), data=envdata,ylim=c(990, 1040))
title(main="Pressure, Ingol Preston",
xlab="Date",
ylab="Pressure (mb)")
boxplot(Pressure ~ factor(Date, levels=unique(Date)), data=envdata,ylim=c(990, 1040), outline=FALSE)
title(main="Pressure, Ingol Preston",
xlab="Date",
ylab="Pressure (mb)")
boxplot(Temperature~factor(Date, levels=unique(Date)),data=envdata, ylim=c(22, 35))
title(main="Temperature, Ingol Preston",
xlab="Date",
ylab="Temperature")
boxplot(Temperature~factor(Date, levels=unique(Date)),data=envdata, ylim=c(22, 35), outline=FALSE)
title(main="Temperature, Ingol Preston",
xlab="Date",
ylab="Temperature")
boxplot(Humidity~factor(Date, levels=unique(Date)),data=envdata, ylim=c(22, 50))
title(main="Humidity, Ingol Preston",
xlab="Date",
ylab="Humidity")
boxplot(Humidity~factor(Date, levels=unique(Date)),data=envdata, ylim=c(22, 50), outline=FALSE)
title(main="Humidity, Ingol Preston",
xlab="Date",
ylab="Humidity")
head(envdata, 20)
## Sensor Date Time Temperature Pressure Humidity
## 1 sense 05/09/2015 21:55:14 29.7 1027.9 33.4
## 2 sense 05/09/2015 22:00:14 29.8 1028.0 32.5
## 3 sense 05/09/2015 22:05:15 29.8 1028.0 33.5
## 4 sense 05/09/2015 22:10:14 30.0 1028.0 34.2
## 5 sense 05/09/2015 22:15:14 29.7 1028.0 32.9
## 6 sense 05/09/2015 22:20:15 29.6 1028.0 32.8
## 7 sense 05/09/2015 22:25:15 29.5 1028.0 33.3
## 8 sense 05/09/2015 22:30:14 29.6 1028.1 32.8
## 9 sense 05/09/2015 22:35:15 29.2 1028.1 33.4
## 10 sense 05/09/2015 22:40:14 29.2 1028.0 33.6
## 11 sense 05/09/2015 22:45:15 29.3 1028.1 33.9
## 12 sense 05/09/2015 22:50:14 29.5 1028.0 33.3
## 13 sense 05/09/2015 22:55:14 29.2 1028.0 33.5
## 14 sense 05/09/2015 23:00:15 29.5 1028.0 33.3
## 15 sense 05/09/2015 23:05:15 29.4 1028.0 33.6
## 16 sense 05/09/2015 23:10:15 29.7 1028.0 32.9
## 17 sense 05/09/2015 23:15:14 29.6 1028.1 33.1
## 18 sense 05/09/2015 23:20:16 29.5 1028.0 33.8
## 19 sense 05/09/2015 23:25:17 29.5 1028.0 33.2
## 20 sense 05/09/2015 23:30:16 29.5 1027.9 32.8
tail(envdata, 20)
## Sensor Date Time Temperature Pressure Humidity
## 32178 sense 26/12/2015 14:30:17 32.6 1007.2 37.9
## 32179 sense 26/12/2015 14:35:17 32.8 1007.2 36.6
## 32180 sense 26/12/2015 14:40:16 32.7 1007.2 36.7
## 32181 sense 26/12/2015 14:45:17 32.6 1007.2 36.5
## 32182 sense 26/12/2015 14:50:34 32.6 1007.0 37.3
## 32183 sense 26/12/2015 14:55:34 32.8 1007.0 36.4
## 32184 sense 26/12/2015 15:00:33 32.5 1007.0 36.6
## 32185 sense 26/12/2015 15:03:28 32.8 1006.8 36.7
## 32186 sense 26/12/2015 15:05:03 32.9 1006.8 36.6
## 32187 sense 26/12/2015 15:10:03 32.8 1006.9 36.3
## 32188 sense 26/12/2015 15:15:03 32.8 1006.8 36.9
## 32189 sense 26/12/2015 15:20:03 32.7 1006.7 35.7
## 32190 sense 26/12/2015 15:25:03 32.8 1006.7 36.4
## 32191 sense 26/12/2015 15:30:02 32.8 1006.7 35.7
## 32192 sense 26/12/2015 15:35:03 32.7 1006.6 35.7
## 32193 sense 26/12/2015 15:40:03 32.9 1006.7 36.2
## 32194 sense 26/12/2015 15:45:03 33.1 1006.8 35.6
## 32195 sense 26/12/2015 15:50:03 32.8 1006.6 35.2
## 32196 sense 26/12/2015 15:55:03 32.9 1006.4 35.4
## 32197 sense 26/12/2015 16:00:03 32.7 1006.5 35.2
summary(envdata[4:6])
## Temperature Pressure Humidity
## Min. :23.40 Min. : 0 Min. :22.20
## 1st Qu.:29.50 1st Qu.:1008 1st Qu.:33.10
## Median :30.50 Median :1015 Median :35.20
## Mean :30.48 Mean :1015 Mean :35.37
## 3rd Qu.:31.50 3rd Qu.:1023 3rd Qu.:37.60
## Max. :34.50 Max. :1040 Max. :48.90