Making your own smart ‘machine learning’ thermostat
Data Donderdag – 19 november 2015 – Niek Temme
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
Quirky needs your Wink Hub back after a botched security update- CNET -
18 – 50 billion connected devices by 2020- Gartner, IDC, Cisco -
device hub cloud
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
Quirky needs your Wink Hub back after a botched security update- CNET -
18 – 50 billion connected devices by 2020- Gartner, IDC, Cisco -
device hub cloud
Device ConnectionCloud- Storage- Analitics
How Smart, Connected Products Are Transforming CompaniesMichael E. Porter James E. Heppelmannoktober 2015
The device
2
3
4
1
2
3
4
1A01_1933A01_1933A01_1982A01_1982A01_1933A01_1884A01_1933A01_1982A01_1933
40b5af00_rx000A01_8574094222_9670832 column=fd:cd, timestamp=1425905812807, value=193340b5af00_rx000A01_8574094222_9796804 column=fd:cd, timestamp=1425905812807, value=193340b5af00_rx000A01_8574094222_9919598 column=fd:cd, timestamp=1425905812807, value=198240b5af00_rx000A01_8574094223_9043289 column=fd:cd, timestamp=1425905812807, value=198240b5af00_rx000A01_8574094223_9166720 column=fd:cd, timestamp=1425905812807, value=193340b5af00_rx000A01_8574094223_9294077 column=fd:cd, timestamp=1425905812807, value=188440b5af00_rx000A01_8574094223_9416375 column=fd:cd, timestamp=1425905812807, value=193340b5af00_rx000A01_8574094223_9540631 column=fd:cd, timestamp=1425905812807, value=198240b5af00_rx000A01_8574094223_9669088 column=fd:cd, timestamp=1425905812807, value=1933
Connection & Storage
3 sensors1000 values per scecond
In one year
31 bilion rows
+/- 800GB
?Analytics
increase maintain
61 2 3 4 5 1 2 3 4 5 6
Smart Temp - Sensor value - 2015-03-19
0 7 14 21 28 35 42 49 568
101214161820
Act tempSet temp
Minutes
Tem
pera
ture
°C
Making it smart
00:00 00:10 00:3000:20 00:40 00:50 01:00
6 min 5 min 4 min 3 min 2 min 2 min
Making it smart
Scorescore =
( [number of times boiler goes on] * 10 * 60 ) +( [total minutes boiler is on] * 2 ) +( absolute( [maximum reached temperature] – [set temperature] ) ) +( if([overshoot]=true ) then 3600 else 0 )
00:00 00:10 00:3000:20 00:40 00:50 01:00
4 min 4 min 4 min 3 min 3 min 2 min
00:00 00:10 00:3000:20 00:40 00:50 01:00
2 min 2 min 2 minoff off off
scenariotempdif: 7 ℃outempdif: 8 ℃
initial
improved
k-means clustering
Thank you
questions or feedback?
http://niektemme.com/2015/08/09/smart-thermostat/
@niektemmelinkedin.com/in/niektemme
EXTRA SLIDES
• 1000 values per second
• Why 1000?
• Solved with in-memory database
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
2 3 4
5 6 7
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
Quirky needs your Wink Hub back after a botched security update- CNET -
18 – 50 billion connected devices by 2020- Gartner, IDC, Cisco -
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
2 3 4
5 6 7
I II III
Making your own smart ‘machine learning’ thermostat using
Arduino, AWS, HBase, Spark, Raspberry PI and XBee
niektemme.com/2015/08/09/smart-thermostat
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
2 3 4
5 6 7
I II III
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
2 3 4
5 6 7
I II III
Start with ‘IoT’
Used scenario• Scenario = pattern of six 10 minute intervals
For example 5 4 3 2 2 2
• The tempdif = (set – inside) temperature
• The outtempdif = (set – outside) temperature
• Raspberry PI selects (given a tempdif and outtempdiff)– 50% of the time: best temperature scenario– 50% of the time: alternative scenario
• Used scenario and tempdif and outtempdiff used to select this scenario are uploaded to the server.
Making it smart
Minutes per run – maintain room temperature Minutes per run – maintain room temperature (alternative)
Two step process
A. Score each used scenario
B. Cluster and rank scenarios in each cluster
B. Cluster and select
Making it smart
0 5 10 15 20 25 30 35 40 45 50 55 608
10
12
14
16
18
20
Act tempSet temp
Minutes
Tem
pera
ture
°C
0 5 10 15 20 25 30 35 40 45 50 55 608
10
12
14
16
18
20
Act tempSet temp
Minutes
Tem
pera
ture
°C
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
2 3 4
5 6 7
I II III
00:00 00:10 00:3000:20 00:40 00:50 01:00
6 min 5 min 4 min 3 min 2 min 2 min
61 2 3 4 5 1 2 3 4 5 6
increase maintain
0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 608
10
12
14
16
18
20
Act tempSet temp
Minutes
Tem
pera
ture
°C
Making it smart
00:00 00:10 00:3000:20 00:40 00:50 01:00
6 min 6 min 6 min 2 min off 2 min
Arduino+
XBee
RaspPI+
XBee
AWSHBaseSpark
Boiler
Device ConnectionCloud- Storage- Analitics
How Smart, Connected Products Are Transforming CompaniesMichael E. Porter James E. Heppelmannoktober 2015
Personal journey
Top Related