smart thermometer-niek
TRANSCRIPT
Making your own smart ‘machine learning’ thermostat
Data Donderdag – 19 november 2015 – Niek Temme
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
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
AWS HBase Spark
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 Connection Cloud
- Storage
- Analitics
How Smart, Connected Products Are Transforming Companies Michael E. Porter James E. Heppelmann
oktober2015
The device
2
3
4
1
2
3
4
1 A01_1933 A01_1933 A01_1982 A01_1982 A01_1933 A01_1884 A01_1933 A01_1982 A01_1933
40b5af00_rx000A01_8574094222_9670832 column=fd:cd, timestamp=1425905812807, value=1933 40b5af00_rx000A01_8574094222_9796804 column=fd:cd, timestamp=1425905812807, value=1933 40b5af00_rx000A01_8574094222_9919598 column=fd:cd, timestamp=1425905812807, value=1982 40b5af00_rx000A01_8574094223_9043289 column=fd:cd, timestamp=1425905812807, value=1982 40b5af00_rx000A01_8574094223_9166720 column=fd:cd, timestamp=1425905812807, value=1933 40b5af00_rx000A01_8574094223_9294077 column=fd:cd, timestamp=1425905812807, value=1884 40b5af00_rx000A01_8574094223_9416375 column=fd:cd, timestamp=1425905812807, value=1933 40b5af00_rx000A01_8574094223_9540631 column=fd:cd, timestamp=1425905812807, value=1982 40b5af00_rx000A01_8574094223_9669088 column=fd:cd, timestamp=1425905812807, value=1933
Connection & Storage
3sensors1000valuesperscecond
Inoneyear31bilionrows+/-800GB
? Analytics
increase maintain
6 1 2 3 4 5 1 2 3 4 5 6
Smart Temp - Sensor value - 2015-03-19
8
10
12
14
16
18
20
0 10 20 30 40 50 60
Tempe
rature°C
Minutes
Acttemp
Settemp
Making it smart
00:00 00:10 00:30 00:20 00:40 00:50 01:00
6 min 5 min 4 min 3 min 2 min 2 min
Making it smart
Score score =
( [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:30 00:20 00:40 00:50 01:00
4 min 4 min 4 min 3 min 3 min 2 min
00:00 00:10 00:30 00:20 00:40 00:50 01:00
2 min 2 min 2 min off off off
scenario tempdif: 7 ℃ outempdif: 8 ℃
initial
improved
k-meansclustering
Thank you
questions or feedback? http://niektemme.com/2015/08/09/smart-thermostat/ [email protected] @niektemme linkedin.com/in/niektemme
EXTRA SLIDES
• 1000 values per second
• Why 1000?
• Solved with in-memory database
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
Boiler
2 3 4
5 6 7
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
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
AWS HBase Spark
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
AWS HBase Spark
Boiler
2 3 4
5 6 7
I II III
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
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
Minutesperrun–maintainroomtemperature Minutesperrun–maintainroomtemperature(alternaKve)
Two step process
A. Score each used scenario
B. Cluster and rank scenarios in each cluster
B. Cluster and select
Making it smart
8
10
12
14
16
18
20
0 10 20 30 40 50 60
Tempe
rature°C
Minutes
Acttemp
Settemp
8
10
12
14
16
18
20
0 10 20 30 40 50 60
Tempe
rature°C
Minutes
Acttemp
Settemp
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
Boiler
2 3 4
5 6 7
I II III
00:00 00:10 00:30 00:20 00:40 00:50 01:00
6 min 5 min 4 min 3 min 2 min 2 min
6 1 2 3 4 5 1 2 3 4 5 6
increase maintain
8
10
12
14
16
18
20
0 10 20 30 40 50 60
Tempe
rature°C
Minutes
Acttemp
Settemp
Making it smart
00:00 00:10 00:30 00:20 00:40 00:50 01:00
6 min 6 min 6 min 2 min off 2 min
Arduino +
XBee
RaspPI +
XBee
AWS HBase Spark
Boiler
Device Connection Cloud
- Storage
- Analitics
How Smart, Connected Product Are Transforming Companies Michael E. Porter James E. Heppelmann
oktober2015
Personal journey