SlideShare uma empresa Scribd logo
1 de 32
Hack The House
Technical Briefing
Hacking for the
Internet of Things
3 simple rules
1. Delays are to be expected
a. Non-blocking asynchronous code
b. Work with mocks
c. let the user know you are working (spinners, etc)
2. Study the APIs & SDKs
3. Start small and add features - MVP thinking
a. Do the Hard stuff first
b. Have fun (at the end)
Devices at the Hackathon
Things you can code
1. Siemens HS658GXS6 and Bosch HRG636XS6 Home Connect Smart Ovens
2. Siemens SN478S06TE and Bosch SMU88TS06E Home Connect Smart Dishwashers
3. relayr WunderBars
4. 5 nest Thermostats
5. 4 nest Protect Smoke and CO Detectors
6. NetAtmo Weather Stations
7. 4 Foscam IP Cameras
8. 12 Philips Hue Light bulbs
Things you retro-fit
1. Siemens KS36FPI40 and Bosch KSF36PI40 Refrigerators
2. Siemens WM14Y7W4 and Bosch WAW28640 Washing
Machines
3. Siemens TE803509DE and Bosch TES80551DE Cofee
Machines
4. Siemens TB76XTRMW and Bosch TDA703021 Irons
Things you can code
the WunderBar
Documentation:
https://dev.relayr.io/
Support:
The relayr team!
B/S/H Oven and
Dishwasher
Documentation:
https://dev.relayr.io/
Support:
The relayr team!
nest Thermostat and
Smoke Alarms
Documentation:
https://developer.nest.com/
Support:
Francois Girodolle
Partner Evangelist - Nest Labs
Hacking the NetAtmo
Documentation:
https://dev.netatmo.com/
Support:
Dinu Gherman
Python Evangelist - relayr
Hacking the Foscam
Documentation:
https://github.com/quatanium/python-onvif
“http://foscam.us/downloads/
IP Camera User Manual for HD
Indoor_English_V2.0.pdf”
Support:
Daniel Mancuso
Hardware Engineer - relayr
Hacking the Hue
Documentation:
http://www.developers.meethue.com
Support:
Khaled Osman
Hardware Hacker - relayr
OnBoarding your BSH Device
relayr SDKs and API
HTML5 library initialize
//Initialize the Relayr SDK, you must give a RedirectURI and AppID
var relayr = RELAYR.init({
appId: "b616cb5d-17e6-4f57-aec5-e6eb1ab3de29",
});
HTML5 library Get Data
//If you have a token and your device ID, you can start listening to your
device without going through the login process
relayr.devices().getDeviceData({
token: "p7xjSVAhqP9gtqvg9aGD_dZ4DDzlSJHw",
deviceId:"c9b48194-bd71-42a6-9c11-f6901b9c9017",
incomingData: function(data){
console.log("data from single sensor with specific token", data);
}
});
HTML5 library Send Commands
//Turn you're BSH oven on
relayr.devices().sendCommand({
//you're relayr token if you haven't included it before
token: "p7xjSVAhqP9gtqvg9aGD_dZ4DDzlSJHw",
//relayr ID of you're oven
deviceId:"c9b48194-bd71-42a6-9c11-f6901b9c9017",
//turns on the Oven
command:{"path":"power_unit", "command": "power", "value": 2}
});
Android SDK
// INITIALIZE
private void loadUserInfo() {
RelayrSdk.getRelayrApi()
.getUserInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<User>() {
//...
@Override
public void onNext(User user) {
loadDevices(user.id);
}
});
}
// LOAD DEVICES
private void loadDevices(String userId) {
RelayrSdk.getRelayrApi()
.getTransmitters(userId)
.flatMap(new Func1<List<Transmitter>, Observable<List<TransmitterDevice>>>() {
@Override
public Observable<List<TransmitterDevice>> call(List<Transmitter> transmitters)
{
return
RelayrSdk.getRelayrApi().getTransmitterDevices(transmitters.get(0).id);
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<TransmitterDevice>>() {
//...
@Override
public void onNext(List<TransmitterDevice> devices) {
if (!devices.isEmpty())
subscribeForUpdates(devices.get(0));
}
});
}
// HANDLE DATA
private void subscribeForUpdates(TransmitterDevice transmitterDevice) {
RelayrSdk.getWebSocketClient()
.subscribe(transmitterDevice)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Object>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(Object o) {
//Parse data depending on device model
Log.i("DATA", o.toString());
}
});
}
// Send a Command
int value = 2;
String path = "power_unit";
String command = "power";
Command mCommand = new Command(path, command, value);
RelayrSdk.getRelayrApi()
.sendCommand(deviceId, mCommand)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Void>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(Void aVoid) {
Log.i("TAG", "Command sent");
}
});
The Other SDKs / Libraries and
Frameworks
● NodeJS - Paul
● iOS - Marcos
● C# - Khaled
● Ruby - sorry!
● Python - Dinu
Would Like to see more? let’s talk :)
Where to get Help
May the Force be with you!

Mais conteúdo relacionado

Semelhante a Bosch hackathon tech

IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019Jong-Hyun Kim
 
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB ⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB Victor Asanza
 
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014Jakub Kałużny
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Adam Dunkels
 
From the internet of things to the web of things course
From the internet of things to the web of things courseFrom the internet of things to the web of things course
From the internet of things to the web of things courseDominique Guinard
 
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocolsCONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocolsPROIDEA
 
maXbox starter30 Web of Things
maXbox starter30 Web of ThingsmaXbox starter30 Web of Things
maXbox starter30 Web of ThingsMax Kleiner
 
DIY ESPwatch Kit - DIY Smartwatch Usage
DIY ESPwatch Kit - DIY Smartwatch Usage DIY ESPwatch Kit - DIY Smartwatch Usage
DIY ESPwatch Kit - DIY Smartwatch Usage fanghe22
 
Introduction to Things board (An Open Source IoT Cloud Platform)
Introduction to Things board (An Open Source IoT Cloud Platform)Introduction to Things board (An Open Source IoT Cloud Platform)
Introduction to Things board (An Open Source IoT Cloud Platform)Amarjeetsingh Thakur
 
Password based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportPassword based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportChinaraja Baratam
 
Smart Home Automation using Voice Assistant
Smart Home Automation using Voice AssistantSmart Home Automation using Voice Assistant
Smart Home Automation using Voice AssistantTezpur University
 
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...Athens IoT Meetup
 
PowerShell: A Language for the Internet of Things #ATLPUG
PowerShell: A Language for the Internet of Things #ATLPUGPowerShell: A Language for the Internet of Things #ATLPUG
PowerShell: A Language for the Internet of Things #ATLPUGTaylor Riggan
 
Gas leakage detection system
Gas leakage detection systemGas leakage detection system
Gas leakage detection systemAashiq Ahamed N
 
SCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureSCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureqqlan
 
Cassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshopCassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshoptomtobback
 
Arduino Teaching Program
Arduino Teaching ProgramArduino Teaching Program
Arduino Teaching ProgramMax Kleiner
 
Arduino C maXbox web of things slide show
Arduino C maXbox web of things slide showArduino C maXbox web of things slide show
Arduino C maXbox web of things slide showMax Kleiner
 

Semelhante a Bosch hackathon tech (20)

IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019
 
Esp8266 v12
Esp8266 v12Esp8266 v12
Esp8266 v12
 
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB ⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB
⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB
 
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014
Shameful Secrets of Proprietary Network Protocols - OWASP AppSec EU 2014
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
 
From the internet of things to the web of things course
From the internet of things to the web of things courseFrom the internet of things to the web of things course
From the internet of things to the web of things course
 
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocolsCONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
 
maXbox starter30 Web of Things
maXbox starter30 Web of ThingsmaXbox starter30 Web of Things
maXbox starter30 Web of Things
 
DIY ESPwatch Kit - DIY Smartwatch Usage
DIY ESPwatch Kit - DIY Smartwatch Usage DIY ESPwatch Kit - DIY Smartwatch Usage
DIY ESPwatch Kit - DIY Smartwatch Usage
 
Introduction to Things board (An Open Source IoT Cloud Platform)
Introduction to Things board (An Open Source IoT Cloud Platform)Introduction to Things board (An Open Source IoT Cloud Platform)
Introduction to Things board (An Open Source IoT Cloud Platform)
 
Password based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportPassword based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final report
 
Smart Home Automation using Voice Assistant
Smart Home Automation using Voice AssistantSmart Home Automation using Voice Assistant
Smart Home Automation using Voice Assistant
 
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
 
PowerShell: A Language for the Internet of Things #ATLPUG
PowerShell: A Language for the Internet of Things #ATLPUGPowerShell: A Language for the Internet of Things #ATLPUG
PowerShell: A Language for the Internet of Things #ATLPUG
 
Gas leakage detection system
Gas leakage detection systemGas leakage detection system
Gas leakage detection system
 
IoT on Raspberry Pi
IoT on Raspberry PiIoT on Raspberry Pi
IoT on Raspberry Pi
 
SCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureSCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architecture
 
Cassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshopCassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshop
 
Arduino Teaching Program
Arduino Teaching ProgramArduino Teaching Program
Arduino Teaching Program
 
Arduino C maXbox web of things slide show
Arduino C maXbox web of things slide showArduino C maXbox web of things slide show
Arduino C maXbox web of things slide show
 

Último

Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...Priya Reddy
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证wpkuukw
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信oopacde
 
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptx
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptxCRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptx
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptxRishabh332761
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制uodye
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证tufbav
 
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证ehyxf
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证tufbav
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一uodye
 
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...vershagrag
 
Point of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratoryPoint of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratoryoyebolasonuga14
 
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
Hilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxHilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxhiredepot6
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一ougvy
 
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...Call Girls Mumbai
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahatimeghakumariji156
 

Último (20)

Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
Mankhurd Call Girls, 09167354423 Mankhurd Escorts Services,Mankhurd Female Es...
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
 
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptx
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptxCRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptx
CRISIS COMMUNICATION presentation=-Rishabh(11195)-group ppt (4).pptx
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
 
Abortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get CytotecAbortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get Cytotec
 
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
怎样办理伍伦贡大学毕业证(UOW毕业证书)成绩单留信认证
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
 
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
 
Point of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratoryPoint of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratory
 
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Udgir [ 7014168258 ] Call Me For Genuine Models We ...
 
Hilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptxHilti's Latest Battery - Hire Depot.pptx
Hilti's Latest Battery - Hire Depot.pptx
 
Abortion pills in Dammam +966572737505 Buy Cytotec
Abortion pills in Dammam +966572737505 Buy CytotecAbortion pills in Dammam +966572737505 Buy Cytotec
Abortion pills in Dammam +966572737505 Buy Cytotec
 
Critical Commentary Social Work Ethics.pptx
Critical Commentary Social Work Ethics.pptxCritical Commentary Social Work Ethics.pptx
Critical Commentary Social Work Ethics.pptx
 
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
在线制作(ANU毕业证书)澳大利亚国立大学毕业证成绩单原版一比一
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
 
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
 

Bosch hackathon tech

  • 3. 3 simple rules 1. Delays are to be expected a. Non-blocking asynchronous code b. Work with mocks c. let the user know you are working (spinners, etc) 2. Study the APIs & SDKs 3. Start small and add features - MVP thinking a. Do the Hard stuff first b. Have fun (at the end)
  • 4. Devices at the Hackathon
  • 5. Things you can code 1. Siemens HS658GXS6 and Bosch HRG636XS6 Home Connect Smart Ovens 2. Siemens SN478S06TE and Bosch SMU88TS06E Home Connect Smart Dishwashers 3. relayr WunderBars 4. 5 nest Thermostats 5. 4 nest Protect Smoke and CO Detectors 6. NetAtmo Weather Stations 7. 4 Foscam IP Cameras 8. 12 Philips Hue Light bulbs
  • 6. Things you retro-fit 1. Siemens KS36FPI40 and Bosch KSF36PI40 Refrigerators 2. Siemens WM14Y7W4 and Bosch WAW28640 Washing Machines 3. Siemens TE803509DE and Bosch TES80551DE Cofee Machines 4. Siemens TB76XTRMW and Bosch TDA703021 Irons
  • 10. nest Thermostat and Smoke Alarms Documentation: https://developer.nest.com/ Support: Francois Girodolle Partner Evangelist - Nest Labs
  • 12. Hacking the Foscam Documentation: https://github.com/quatanium/python-onvif “http://foscam.us/downloads/ IP Camera User Manual for HD Indoor_English_V2.0.pdf” Support: Daniel Mancuso Hardware Engineer - relayr
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 23. HTML5 library initialize //Initialize the Relayr SDK, you must give a RedirectURI and AppID var relayr = RELAYR.init({ appId: "b616cb5d-17e6-4f57-aec5-e6eb1ab3de29", });
  • 24. HTML5 library Get Data //If you have a token and your device ID, you can start listening to your device without going through the login process relayr.devices().getDeviceData({ token: "p7xjSVAhqP9gtqvg9aGD_dZ4DDzlSJHw", deviceId:"c9b48194-bd71-42a6-9c11-f6901b9c9017", incomingData: function(data){ console.log("data from single sensor with specific token", data); } });
  • 25. HTML5 library Send Commands //Turn you're BSH oven on relayr.devices().sendCommand({ //you're relayr token if you haven't included it before token: "p7xjSVAhqP9gtqvg9aGD_dZ4DDzlSJHw", //relayr ID of you're oven deviceId:"c9b48194-bd71-42a6-9c11-f6901b9c9017", //turns on the Oven command:{"path":"power_unit", "command": "power", "value": 2} });
  • 26. Android SDK // INITIALIZE private void loadUserInfo() { RelayrSdk.getRelayrApi() .getUserInfo() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<User>() { //... @Override public void onNext(User user) { loadDevices(user.id); } }); }
  • 27. // LOAD DEVICES private void loadDevices(String userId) { RelayrSdk.getRelayrApi() .getTransmitters(userId) .flatMap(new Func1<List<Transmitter>, Observable<List<TransmitterDevice>>>() { @Override public Observable<List<TransmitterDevice>> call(List<Transmitter> transmitters) { return RelayrSdk.getRelayrApi().getTransmitterDevices(transmitters.get(0).id); } }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<List<TransmitterDevice>>() { //... @Override public void onNext(List<TransmitterDevice> devices) { if (!devices.isEmpty()) subscribeForUpdates(devices.get(0)); } }); }
  • 28. // HANDLE DATA private void subscribeForUpdates(TransmitterDevice transmitterDevice) { RelayrSdk.getWebSocketClient() .subscribe(transmitterDevice) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Object>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(Object o) { //Parse data depending on device model Log.i("DATA", o.toString()); } }); }
  • 29. // Send a Command int value = 2; String path = "power_unit"; String command = "power"; Command mCommand = new Command(path, command, value); RelayrSdk.getRelayrApi() .sendCommand(deviceId, mCommand) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Void>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(Void aVoid) { Log.i("TAG", "Command sent"); } });
  • 30. The Other SDKs / Libraries and Frameworks ● NodeJS - Paul ● iOS - Marcos ● C# - Khaled ● Ruby - sorry! ● Python - Dinu Would Like to see more? let’s talk :)
  • 31. Where to get Help
  • 32. May the Force be with you!