SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
abusing phones 
to make the internet of things 
Jan Jongboom 
JSConf EU 2014
@janjongboom 
Jan, live in Amsterdam. Work for Telenor, LAAARGE telco. They pay me to work on Firefox OS.
@janjongboom 
Jan, live in Amsterdam. Work for Telenor, LAAARGE telco. They pay me to work on Firefox OS.
Let me start w/ confession... Before this talk I never owned a screwdriver. That’s a dangerous road when doing a hardware talk.
First screwdriver ever! 
Let me start w/ confession... Before this talk I never owned a screwdriver. That’s a dangerous road when doing a hardware talk.
Maker movement is 
EVERYWHERE 
(Kickstarter, spaces, fairs, Wired) 
These days hardware is totally coming back. Maker movement is everywhere. Can buy all stuff on Kickstarter, iot, etc. Even on 
cover of Wired.
Reason: Arduino & Raspberry boards that can connect ordinary stuff. Amazing for building new stuff. Phone sensors can be 
attached, low cost because huge volume.
Now one big problem for people that hardware-challenged like me. I don’t wanna do stuff like this, but still want to make things.
€ 34,99 
Also: stuff is expensive. Get a TFT display for a Rasperry Pi for 35 euro
€ 25,- 
While you can get a FULL phone for 25?!
So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera 
more & 3G instead of 2g. It can run Firefox OS that’s nice.
Bluetooth, WiFi, 3G, 
2 Cameras, GPS, 
qHD touch screen 
So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera 
more & 3G instead of 2g. It can run Firefox OS that’s nice.
Bluetooth, WiFi, 3G, 
2 Cameras, GPS, 
qHD touch screen 
So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera 
more & 3G instead of 2g. It can run Firefox OS that’s nice.
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
Linux 
Kernel 
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
Linux 
Kernel 
Gecko 
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
Linux 
Kernel 
Gecko HTML5 
UI 
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
Linux 
Kernel 
Gecko HTML5 
UI 
Has all phone APIs in JS 
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
Linux 
Kernel 
Gecko 
Has all phone APIs in JS 
From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: 
phone chipset + JS bindings to everything (OMG AWESOME)
That is awesome.
Only thing is that we still have a body around the phone. Let’s remove that.
Remove screws and open le phone.
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
Camera can click it out. Have standard connectors. Very awesome
Camera can click it out. Have standard connectors. Very awesome
There is also this thing. It does radio communication. Also need it. I don’t what this is, I just ripped it off and it still works.
So we are left with this. Printboard, radio and camera.
I also wanted to reuse the touchscreen.
So i started fiddling with screwdriver as these things are glued together
Didnt end so well
So I figured just detach the touchscreen connector.
Didnt work out that well either.
Problem: no Wifi... These paper thingies are apparently antenna’s OMG
So some tape and all is well.
So now we have super cool system on a chip 3/4 of a creditcard.
Linux 
Kernel 
Gecko 
Has all phone APIs in JS 
Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
Linux 
Kernel 
Gecko JanOS 
Has all phone APIs in JS 
Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
Linux 
Kernel 
Gecko JanOS 
Has all phone APIs in JS 
Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
JanOS 
Alternative to Firefox OS 
Some batteries included 
Need rooted Firefox OS phone 
with ADB enabled 
So it runs on any Firefox OS enabled phone. It comes with some batteries, like autoconnecting 3G, APN detection, Wifi and 
camera.
Booting / !ashing 
$ make reset-phone && adb logcat 
Keep ur casing intact, don’t need to press battery
1 <!DOCTYPE html> 
2 <html> 
3 <head> 
4 <meta name="viewport" content="width=device-5 initial-scale=1"> 
6 <meta charset="utf-8"> 
7 
8 <script src="js/bootstrap.js"></script> 
9 <script defer src="js/camera.js"></script> 
10 <script defer src="js/security_cam.js"></script> 
11 <script defer src="js/doorbell.js"></script> 
12 <script defer src="js/bluetooth.js"></script> 
13 <script defer src="js/tracker.js"></script> 
14 </head> 
16 <body> 
17 <h1>OMG WELCOME TO JANOS 1.0!</h1> 
18 </body> 
19 </html> 
So when we start Gecko we boot it into a webpage. Easy easy easy
about:app-manager 
We can now connect the app manager and execute JS and debug shit. Very cool.
Security camera 
Every 5 seconds take photo 
Save to storage (4GB!) or SD 
Sync with cloud 
So let’s look at some cool ways of using this thing. We can make a security cam, easy easy.
Taking picture to storage 
1 window.camera.takePicture('front').then(function(blob) { 
2 var storage = navigator.getDeviceStorage('pictures'); 
3 var req = storage.addNamed(blob, 
'myawesomepicture.jpg'); 
4 req.onsuccess = function() { 
5 console.log('Saved on internal storage!'); 
6 }; 
7 });
Taking picture to storage 
1 window.camera.takePicture('front').then(function(blob) { 
2 var storage = navigator.getDeviceStorage('pictures'); 
3 var req = storage.addNamed(blob, 
'myawesomepicture.jpg'); 
4 req.onsuccess = function() { 
5 console.log('Saved on internal storage!'); 
6 }; 
7 });
Taking picture to storage 
1 window.camera.takePicture('front').then(function(blob) { 
2 var storage = navigator.getDeviceStorage('pictures'); 
3 var req = storage.addNamed(blob, 
'myawesomepicture.jpg'); 
4 req.onsuccess = function() { 
5 console.log('Saved on internal storage!'); 
6 }; 
7 });
Taking picture to storage 
1 window.camera.takePicture('front').then(function(blob) { 
2 var storage = navigator.getDeviceStorage('pictures'); 
3 var req = storage.addNamed(blob, 
'myawesomepicture.jpg'); 
4 req.onsuccess = function() { 
5 console.log('Saved on internal storage!'); 
6 }; 
7 });
Doorbell 
Proximity sensor 
Ring over bluetooth 
Live video stream 
Or a doorbell over bluetooth. That’s rad.
Bluetooth doorbell 
1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 
2 window.onuserproximity = function(e) { 
3 if (e.near) { 
4 var audio = new Audio('/sounds/doorbell.ogg'); 
5 audio.play(); 
6 } 
7 }; 
8 }); 
Pair it, play a soud when user is close to proximity. Truly wireless.
Bluetooth doorbell 
1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 
2 window.onuserproximity = function(e) { 
3 if (e.near) { 
4 var audio = new Audio('/sounds/doorbell.ogg'); 
5 audio.play(); 
6 } 
7 }; 
8 }); 
Pair it, play a soud when user is close to proximity. Truly wireless.
Bluetooth doorbell 
1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 
2 window.onuserproximity = function(e) { 
3 if (e.near) { 
4 var audio = new Audio('/sounds/doorbell.ogg'); 
5 audio.play(); 
6 } 
7 }; 
8 }); 
Pair it, play a soud when user is close to proximity. Truly wireless.
Bluetooth doorbell 
1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 
2 window.onuserproximity = function(e) { 
3 if (e.near) { 
4 var audio = new Audio('/sounds/doorbell.ogg'); 
5 audio.play(); 
6 } 
7 }; 
8 }); 
Pair it, play a soud when user is close to proximity. Truly wireless.
Another real life usecase. This is Brian, as you can see Brian is quite the wild boy.
Brian 
Another real life usecase. This is Brian, as you can see Brian is quite the wild boy.
Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the 
apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the 
apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
BrianTracker™ 
2G connection 
Connected to push server 
Geolocation on request 
Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the 
apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
And I can press a button and track him down, just from this small device I put in his coat.
OK. DEMO TIME!!111
Get hacking 
Alright, this is cool and low budget, but START HACKING. Only way to really feel the powerz of hardware. Write your own scripts 
and make stuff. Yay. ZTE Open C is 69$ and can be rooted.
Get hacking 
Grab a rootable FxOS phone 
Crack it open 
Write your own scripts 
PROFIT! 
Alright, this is cool and low budget, but START HACKING. Only way to really feel the powerz of hardware. Write your own scripts 
and make stuff. Yay. ZTE Open C is 69$ and can be rooted.
Thank you! 
http://janjongboom.com 
THANKS!

Mais conteúdo relacionado

Semelhante a Abusing phones to make the internet of things - JSConf EU 2014

Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Brian LeRoux
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Codemotion
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRaymond Camden
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hackSlawomir Jasek
 
Web design and_hosting
Web design and_hostingWeb design and_hosting
Web design and_hostingxmgkklglt1991
 
PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConfBrian LeRoux
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Codemotion
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile DevicesJens Arps
 
WebRTC Reborn - Full Stack Toronto
WebRTC Reborn -  Full Stack TorontoWebRTC Reborn -  Full Stack Toronto
WebRTC Reborn - Full Stack TorontoDan Jenkins
 
Kranky geeklondon build an app
Kranky geeklondon build an appKranky geeklondon build an app
Kranky geeklondon build an appTim Panton
 
JS Fest 2019. Sebastian Golasch. The Universal Serial Web
JS Fest 2019. Sebastian Golasch. The Universal Serial WebJS Fest 2019. Sebastian Golasch. The Universal Serial Web
JS Fest 2019. Sebastian Golasch. The Universal Serial WebJSFestUA
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
Going mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsGoing mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsJoshua May
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScriptAndrew Fisher
 
Sys 214 Final Exam
Sys 214 Final ExamSys 214 Final Exam
Sys 214 Final ExamRikki Wright
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerSven Kräuter
 

Semelhante a Abusing phones to make the internet of things - JSConf EU 2014 (20)

Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011
 
Hacking for salone: drone races
Hacking for salone: drone racesHacking for salone: drone races
Hacking for salone: drone races
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Mobile JavaScript
Mobile JavaScriptMobile JavaScript
Mobile JavaScript
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hack
 
The Immobile Web
The Immobile WebThe Immobile Web
The Immobile Web
 
Web design and_hosting
Web design and_hostingWeb design and_hosting
Web design and_hosting
 
Vodafone Widget Camp
Vodafone Widget CampVodafone Widget Camp
Vodafone Widget Camp
 
PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConf
 
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
Rat Pack Remote Control – an Internet of Things basics hands on workshop by S...
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile Devices
 
WebRTC Reborn - Full Stack Toronto
WebRTC Reborn -  Full Stack TorontoWebRTC Reborn -  Full Stack Toronto
WebRTC Reborn - Full Stack Toronto
 
Kranky geeklondon build an app
Kranky geeklondon build an appKranky geeklondon build an app
Kranky geeklondon build an app
 
JS Fest 2019. Sebastian Golasch. The Universal Serial Web
JS Fest 2019. Sebastian Golasch. The Universal Serial WebJS Fest 2019. Sebastian Golasch. The Universal Serial Web
JS Fest 2019. Sebastian Golasch. The Universal Serial Web
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Going mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsGoing mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-apps
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
 
Sys 214 Final Exam
Sys 214 Final ExamSys 214 Final Exam
Sys 214 Final Exam
 
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primerRat Pack Remote Control - a technical Internet of Things (tm) basics primer
Rat Pack Remote Control - a technical Internet of Things (tm) basics primer
 

Mais de Jan Jongboom

TinyML on Arduino - workshop
TinyML on Arduino - workshopTinyML on Arduino - workshop
TinyML on Arduino - workshopJan Jongboom
 
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsIntelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsJan Jongboom
 
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarTeaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarJan Jongboom
 
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceGet started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceJan Jongboom
 
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceAdding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceJan Jongboom
 
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Jan Jongboom
 
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Jan Jongboom
 
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Jan Jongboom
 
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourAdding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourJan Jongboom
 
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Jan Jongboom
 
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Jan Jongboom
 
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 201917,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019Jan Jongboom
 
Open Hours: Mbed Simulator
Open Hours: Mbed SimulatorOpen Hours: Mbed Simulator
Open Hours: Mbed SimulatorJan Jongboom
 
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSEfficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSJan Jongboom
 
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitMachine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitJan Jongboom
 
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Jan Jongboom
 
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Jan Jongboom
 
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Jan Jongboom
 
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Jan Jongboom
 
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoMbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoJan Jongboom
 

Mais de Jan Jongboom (20)

TinyML on Arduino - workshop
TinyML on Arduino - workshopTinyML on Arduino - workshop
TinyML on Arduino - workshop
 
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsIntelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applications
 
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarTeaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
 
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceGet started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conference
 
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceAdding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
 
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020
 
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
 
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
 
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourAdding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
 
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019
 
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019
 
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 201917,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019
 
Open Hours: Mbed Simulator
Open Hours: Mbed SimulatorOpen Hours: Mbed Simulator
Open Hours: Mbed Simulator
 
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSEfficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
 
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitMachine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev Summit
 
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
 
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019
 
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
 
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019
 
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoMbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
 

Último

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Onlineanilsa9823
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.soniya singh
 

Último (20)

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 

Abusing phones to make the internet of things - JSConf EU 2014

  • 1. abusing phones to make the internet of things Jan Jongboom JSConf EU 2014
  • 2. @janjongboom Jan, live in Amsterdam. Work for Telenor, LAAARGE telco. They pay me to work on Firefox OS.
  • 3. @janjongboom Jan, live in Amsterdam. Work for Telenor, LAAARGE telco. They pay me to work on Firefox OS.
  • 4. Let me start w/ confession... Before this talk I never owned a screwdriver. That’s a dangerous road when doing a hardware talk.
  • 5. First screwdriver ever! Let me start w/ confession... Before this talk I never owned a screwdriver. That’s a dangerous road when doing a hardware talk.
  • 6. Maker movement is EVERYWHERE (Kickstarter, spaces, fairs, Wired) These days hardware is totally coming back. Maker movement is everywhere. Can buy all stuff on Kickstarter, iot, etc. Even on cover of Wired.
  • 7. Reason: Arduino & Raspberry boards that can connect ordinary stuff. Amazing for building new stuff. Phone sensors can be attached, low cost because huge volume.
  • 8. Now one big problem for people that hardware-challenged like me. I don’t wanna do stuff like this, but still want to make things.
  • 9. € 34,99 Also: stuff is expensive. Get a TFT display for a Rasperry Pi for 35 euro
  • 10. € 25,- While you can get a FULL phone for 25?!
  • 11. So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera more & 3G instead of 2g. It can run Firefox OS that’s nice.
  • 12. Bluetooth, WiFi, 3G, 2 Cameras, GPS, qHD touch screen So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera more & 3G instead of 2g. It can run Firefox OS that’s nice.
  • 13. Bluetooth, WiFi, 3G, 2 Cameras, GPS, qHD touch screen So let’s make some cool shit. This is the Geeksphone Peak. It just has normal phone features. Compared to 25$ it has 1 camera more & 3G instead of 2g. It can run Firefox OS that’s nice.
  • 14. From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 15. Linux Kernel From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 16. Linux Kernel Gecko From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 17. Linux Kernel Gecko HTML5 UI From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 18. Linux Kernel Gecko HTML5 UI Has all phone APIs in JS From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 19. Linux Kernel Gecko Has all phone APIs in JS From code perspective it looks like this: kernel, Gecko, UI. We don’t need a UI for IoT things. So let’s strip it off. What do we have: phone chipset + JS bindings to everything (OMG AWESOME)
  • 21. Only thing is that we still have a body around the phone. Let’s remove that.
  • 22. Remove screws and open le phone.
  • 23. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 24. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 25. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 26. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 27. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 28. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 29. We have SIM card, SD card, screen connector, back camera, flash, touchscreen connector
  • 30. Camera can click it out. Have standard connectors. Very awesome
  • 31. Camera can click it out. Have standard connectors. Very awesome
  • 32. There is also this thing. It does radio communication. Also need it. I don’t what this is, I just ripped it off and it still works.
  • 33. So we are left with this. Printboard, radio and camera.
  • 34. I also wanted to reuse the touchscreen.
  • 35. So i started fiddling with screwdriver as these things are glued together
  • 36. Didnt end so well
  • 37. So I figured just detach the touchscreen connector.
  • 38. Didnt work out that well either.
  • 39. Problem: no Wifi... These paper thingies are apparently antenna’s OMG
  • 40. So some tape and all is well.
  • 41. So now we have super cool system on a chip 3/4 of a creditcard.
  • 42. Linux Kernel Gecko Has all phone APIs in JS Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
  • 43. Linux Kernel Gecko JanOS Has all phone APIs in JS Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
  • 44. Linux Kernel Gecko JanOS Has all phone APIs in JS Now we can run cooler shit on top of it. As I have a big ego I called it JanOS
  • 45. JanOS Alternative to Firefox OS Some batteries included Need rooted Firefox OS phone with ADB enabled So it runs on any Firefox OS enabled phone. It comes with some batteries, like autoconnecting 3G, APN detection, Wifi and camera.
  • 46. Booting / !ashing $ make reset-phone && adb logcat Keep ur casing intact, don’t need to press battery
  • 47. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta name="viewport" content="width=device-5 initial-scale=1"> 6 <meta charset="utf-8"> 7 8 <script src="js/bootstrap.js"></script> 9 <script defer src="js/camera.js"></script> 10 <script defer src="js/security_cam.js"></script> 11 <script defer src="js/doorbell.js"></script> 12 <script defer src="js/bluetooth.js"></script> 13 <script defer src="js/tracker.js"></script> 14 </head> 16 <body> 17 <h1>OMG WELCOME TO JANOS 1.0!</h1> 18 </body> 19 </html> So when we start Gecko we boot it into a webpage. Easy easy easy
  • 48. about:app-manager We can now connect the app manager and execute JS and debug shit. Very cool.
  • 49. Security camera Every 5 seconds take photo Save to storage (4GB!) or SD Sync with cloud So let’s look at some cool ways of using this thing. We can make a security cam, easy easy.
  • 50. Taking picture to storage 1 window.camera.takePicture('front').then(function(blob) { 2 var storage = navigator.getDeviceStorage('pictures'); 3 var req = storage.addNamed(blob, 'myawesomepicture.jpg'); 4 req.onsuccess = function() { 5 console.log('Saved on internal storage!'); 6 }; 7 });
  • 51. Taking picture to storage 1 window.camera.takePicture('front').then(function(blob) { 2 var storage = navigator.getDeviceStorage('pictures'); 3 var req = storage.addNamed(blob, 'myawesomepicture.jpg'); 4 req.onsuccess = function() { 5 console.log('Saved on internal storage!'); 6 }; 7 });
  • 52. Taking picture to storage 1 window.camera.takePicture('front').then(function(blob) { 2 var storage = navigator.getDeviceStorage('pictures'); 3 var req = storage.addNamed(blob, 'myawesomepicture.jpg'); 4 req.onsuccess = function() { 5 console.log('Saved on internal storage!'); 6 }; 7 });
  • 53. Taking picture to storage 1 window.camera.takePicture('front').then(function(blob) { 2 var storage = navigator.getDeviceStorage('pictures'); 3 var req = storage.addNamed(blob, 'myawesomepicture.jpg'); 4 req.onsuccess = function() { 5 console.log('Saved on internal storage!'); 6 }; 7 });
  • 54. Doorbell Proximity sensor Ring over bluetooth Live video stream Or a doorbell over bluetooth. That’s rad.
  • 55. Bluetooth doorbell 1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 2 window.onuserproximity = function(e) { 3 if (e.near) { 4 var audio = new Audio('/sounds/doorbell.ogg'); 5 audio.play(); 6 } 7 }; 8 }); Pair it, play a soud when user is close to proximity. Truly wireless.
  • 56. Bluetooth doorbell 1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 2 window.onuserproximity = function(e) { 3 if (e.near) { 4 var audio = new Audio('/sounds/doorbell.ogg'); 5 audio.play(); 6 } 7 }; 8 }); Pair it, play a soud when user is close to proximity. Truly wireless.
  • 57. Bluetooth doorbell 1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 2 window.onuserproximity = function(e) { 3 if (e.near) { 4 var audio = new Audio('/sounds/doorbell.ogg'); 5 audio.play(); 6 } 7 }; 8 }); Pair it, play a soud when user is close to proximity. Truly wireless.
  • 58. Bluetooth doorbell 1 enableBluetoothAudio('00:0C:8A:75:EF:30').then(function() { 2 window.onuserproximity = function(e) { 3 if (e.near) { 4 var audio = new Audio('/sounds/doorbell.ogg'); 5 audio.play(); 6 } 7 }; 8 }); Pair it, play a soud when user is close to proximity. Truly wireless.
  • 59. Another real life usecase. This is Brian, as you can see Brian is quite the wild boy.
  • 60. Brian Another real life usecase. This is Brian, as you can see Brian is quite the wild boy.
  • 61. Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
  • 62. Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
  • 63. BrianTracker™ 2G connection Connected to push server Geolocation on request Brian has this tendency to get lost VERY often. In Warsaw he had to sleep on a bench outside because he couldn’t find the apartment. He also never has any power in his phone. Solution: the BrianTracker. No screen, so low battery consumption.
  • 64. And I can press a button and track him down, just from this small device I put in his coat.
  • 66. Get hacking Alright, this is cool and low budget, but START HACKING. Only way to really feel the powerz of hardware. Write your own scripts and make stuff. Yay. ZTE Open C is 69$ and can be rooted.
  • 67. Get hacking Grab a rootable FxOS phone Crack it open Write your own scripts PROFIT! Alright, this is cool and low budget, but START HACKING. Only way to really feel the powerz of hardware. Write your own scripts and make stuff. Yay. ZTE Open C is 69$ and can be rooted.