SlideShare a Scribd company logo
1 of 28
Download to read offline
Project Things
A secure gateway to connect your things to Internet
February 2, 2019
<https://fosdem.org/2019/schedule/event/project_things>
Speakers
2
Dipesh Monga
@ Mozilla Techspeakers
Philippe Coval
@ Samsung OpenSource
The hidden dangers of uploading our physical lives to the cloud.
3
Shodan: The scariest search engine on the Internet
4
Shodan: Potential Targets
6
• Routers
• Webcams
• SCADA systems
• Traffic Lights
• Wind farms
• Refrigerators
• Printers
• Gas station pumps, Power Grids
Project Things
by Mozilla
8
Mozilla Solution Addresses Biggest Smart Home Concerns
Source: Forrester. Based on North American Consumer Technographics Consumer Tech, Media, & Telecom Online Benchmark Recontact Survey 2, Q3 2016. Base: US
Online Adults 18+ (Online Weekly or More); n= 4,515
9
Mozilla Project Things
Vision
We envision an open and decentralized Internet of Things that puts people first, where
individuals can shape their own experience and are empowered, safe and independent.
Mission
Our mission is to create an open source Web of Things implementation which embodies
Mozilla’s values and helps drive IoT standards for security, privacy, and interoperability.
Directly monitor and control your home
over the web, without a middleman
10
• Affordable one-off purchase, no monthly subscription
• Private data stays in your home by default
• Expand with devices from multiple manufacturers
Things Gateway - Use Cases
12
W3C Web of Things Cuts Across Silos
13
Web of Things Smart Toaster
The Web of Things means addressing
Things via URLs and following standard
APIs. Using a web framework makes things
discoverable and linkable, and provides web
developers with an opportunity to let users
interact via a wide range of interfaces:
screens, voice, gesture, augmented reality…
It works even without an Internet
connection.
14
Things Gateway 0.7 (2019-01)
Build your own gateway with a Raspberry Pi
Controllers
Things
Things Gateway
(Linux)
Gateway OEM product support
• Secure, private remote access tunnels
• Over-the-air software updates
• Future options: Encrypted backups, security
monitoring, 3rd party web services (via OAuth)
What Goes on in the Cloud?
Existing Wi-Fi AP
Mozilla Project
Things
Framework
15
• Cloud: support for setup, backup, updates, 3rd party apps and services
integration, and remote encrypted tunneling
• Gateway: always on IoT connectivity hub in the home
• Controllers: smart speakers, tablets/phones, AR headsets...
• Devices: sensors and actuators (“things”) to instrument your smart
home
Things Gateway - Security
16
• HTTPS via mozilla-iot.org tunnelling service TCP tunnel uses PageKite
(no need to open ports on your router).
• Unique subdomains with LetsEncrypt TLS certificates:
(Optionally configure your own NAT, DNS & TLS)
• JSON Web Tokens used for authentication
• OAuth to authorise third party apps & services
● Downloadable OS image for Raspberry Pi
● Perfect for hackers and makers
iot.mozilla.org/gateway
Things Gateway
Tech details 😱
Setup:
Things Gateway
19
● Download gateway
○ Dump supported image to SDcard for RPi
○ or rebuild srcs for desktop or other boards
● Connect to it using web browser
○ Optionally: Setup WiFi, domain
● Install addons (ie: Virtual WebThings)
● Add more things to dashboard
● Automate conditions from sensors to actuators
○ Use rules engine from GUI
What are
WebThings ?
20
● Webthings are just HTTP servers
○ Connected to gateway (star topology, not P2P)
● Specified by MozIot schema (Described in JSON)
● Easy to implement (JS, Python, C/C++, Rust…):
○ for runtime:
■ npm install webthing
○ for IoT.js alt runtime: webthing-iotjs (fork)
■ IoT.js uses JerryScript engine (ES 5.1)
■ Develop on POSIX OS (GNU/Linux)
■ Deploy on MCU:
■ More: “Bring JS to IoT” (Sun 14h JS room)
RT
Implementings WebThings
var webthing = require('webthing-iotjs');
function SomeProperty(thing) {
webthing.Property.call(this, thing,
'SomeProperty',
new webthing.Value(42),
{'@type':'LevelProperty'});
});
var thing = new webthing.Thing('SomeThing');
thing.addProperty(new SomeProperty(thing));
var server = new webthing.WebThingServer
(new webthing.SingleThing(thing), 8888);
server.start();
21
$ curl http://localhost:8888
{
"name":"SomeThing",
"href":"/",
"@context":
"https://iot.mozilla.org/schemas",
"@type":[null],
"properties":{
"SomeProperty":{
"links":[
{"rel":"property",
"href":"/properties/SomeProperty"
}]}},
"links":[
{"rel":"properties",
"href":"/properties"
}]}
$ curl http://localhost:8888/properties/SomeProperty
{"SomeProperty":42}
Protocol Interoperability using REST
var mqtt = require('mqtt'); // IoT.js builtin module
function MqttProperty(thing) { var self=this;
webthing.Property.call(this,thing,
'Humidity', new webthing.Value(0),{'@type':'LevelProperty'});
thing.client.subscribe('workgroup/$MACHINE_ID/air/humidity');
thing.client.on('message', function(data) {
var update = JSON.parse(data.message.toString())['humidity'];
self.value.notifyOfExternalUpdate(update);
});
}
22
var thing = new webthing.Thing('MqttSensor');
thing.client = new mqtt.connect({host: 'iot.eclipse.org', port: 1883},
function(){ thing.addProperty(new MqttProperty(thing));
(new webthing.WebThingServer(...)).start();
});
Extends gateway
With addons
23
● Adapters to bridge:
○ Other IoT devices (or protocols)
■ E.g: Onvif Cameras…
○ Or online services:
■ E.g: ActivityPub/Mastodon, EMail
○ I/O: Generic Sensors (I2C), GPIO, USB?
● Can be implemented in any language
○ IPC is used for Node.JS using nanomsg
● Community supported
Live demo
24
https://youtu.be/OT0Ahuy3Cv4#webthing-iotjs-opendata-20190202rzr
Build your own web
things with the Things
Framework
Create a Things Gateway
adapter add-on to bridge an
existing IoT device or
protocol to the web
Help us develop our
Web of Things
implementation
Build a Web Thing Create an adapter Hack on Project Things
iot.mozilla.org/contribute
Get Involved
iot.mozilla.org
#iot on IRC
@MozillaIoT on Twitter
Mozilla IoT on Discourse
Find Out More
Thank you
#mozilla
#moztechspeakers
28
@diipeshmonga
@RzrFreeFr irc://irc.mozilla.org/iot
https://social.samsunginter.net/@rzr/
https://github.com/rzr/webthing-iotjs/wiki

More Related Content

What's hot

Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoKlaraOrban
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackMirantis
 
Barcelona MeetUp - Kontena Intro
Barcelona MeetUp - Kontena IntroBarcelona MeetUp - Kontena Intro
Barcelona MeetUp - Kontena IntroKontena, Inc.
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Portbenceromsics
 
IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016Kasper Nissen
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014Benjamin Cabé
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014Mirantis
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Erawallyqs
 
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...Codemotion
 
Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Ihor Dvoretskyi
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack NetworkingPLUMgrid
 
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017Lothar Wieske
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutronmarkmcclain
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8FIWARE
 
OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013Edgar Magana
 
WordPressCafe - Deploying WordPress using Kontena
WordPressCafe - Deploying WordPress using KontenaWordPressCafe - Deploying WordPress using Kontena
WordPressCafe - Deploying WordPress using KontenaKontena, Inc.
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 

What's hot (20)

Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in Motoko
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStack
 
Barcelona MeetUp - Kontena Intro
Barcelona MeetUp - Kontena IntroBarcelona MeetUp - Kontena Intro
Barcelona MeetUp - Kontena Intro
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016IT Minds Mindblown Networking Event 2016
IT Minds Mindblown Networking Event 2016
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014Mirantis OpenStack-DC-Meetup 17 Sept 2014
Mirantis OpenStack-DC-Meetup 17 Sept 2014
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
 
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
 
Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack Networking
 
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017
Blockchains - Architecture Overview and Consenus Models - Apr 26th, 2017
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8
 
OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
WordPressCafe - Deploying WordPress using Kontena
WordPressCafe - Deploying WordPress using KontenaWordPressCafe - Deploying WordPress using Kontena
WordPressCafe - Deploying WordPress using Kontena
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 

Similar to mozilla-things-fosdem-2019

The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
 
Hack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSHack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSDevFest DC
 
KNoT - a framework for iot interoperability
KNoT - a framework for iot interoperabilityKNoT - a framework for iot interoperability
KNoT - a framework for iot interoperabilityTiago Barros
 
Iot presentation
Iot presentationIot presentation
Iot presentationhuma742446
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrPhil www.rzr.online.fr
 
Understanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT CoreUnderstanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT CoreTegar Imansyah
 
Internet of things - The Present & The Future
Internet of things - The Present & The FutureInternet of things - The Present & The Future
Internet of things - The Present & The Futureiotians
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformSasa Klopanovic
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformSasa Klopanovic
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryLinaro
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionYoni Davidson
 
The Internet of Things: We've Got to Chat
The Internet of Things: We've Got to ChatThe Internet of Things: We've Got to Chat
The Internet of Things: We've Got to ChatDuo Security
 

Similar to mozilla-things-fosdem-2019 (20)

web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
webthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzr
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
Hack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSHack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGS
 
KNoT - a framework for iot interoperability
KNoT - a framework for iot interoperabilityKNoT - a framework for iot interoperability
KNoT - a framework for iot interoperability
 
Iot presentation
Iot presentationIot presentation
Iot presentation
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
Understanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT CoreUnderstanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT Core
 
Windows IoT
Windows IoTWindows IoT
Windows IoT
 
La web de las Cosas
La web de las CosasLa web de las Cosas
La web de las Cosas
 
Internet of things - The Present & The Future
Internet of things - The Present & The FutureInternet of things - The Present & The Future
Internet of things - The Present & The Future
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
 
The Internet of Things: We've Got to Chat
The Internet of Things: We've Got to ChatThe Internet of Things: We've Got to Chat
The Internet of Things: We've Got to Chat
 

More from Phil www.rzr.online.fr

digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrPhil www.rzr.online.fr
 
FOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devicesFOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devicesPhil www.rzr.online.fr
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Phil www.rzr.online.fr
 

More from Phil www.rzr.online.fr (20)

Iot privacy-soscon-2019
Iot privacy-soscon-2019Iot privacy-soscon-2019
Iot privacy-soscon-2019
 
aframe-webthing-20190710
aframe-webthing-20190710aframe-webthing-20190710
aframe-webthing-20190710
 
digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzr
 
up-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzrup-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzr
 
wotxr-20190320rzr
wotxr-20190320rzrwotxr-20190320rzr
wotxr-20190320rzr
 
tizen-rt-javascript-20181011
tizen-rt-javascript-20181011tizen-rt-javascript-20181011
tizen-rt-javascript-20181011
 
osvehicle-connected-20160429
osvehicle-connected-20160429osvehicle-connected-20160429
osvehicle-connected-20160429
 
tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916
 
tizen-maintain-20150413rzr
tizen-maintain-20150413rzrtizen-maintain-20150413rzr
tizen-maintain-20150413rzr
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
Tizen store-z1-20150228rzr
Tizen store-z1-20150228rzrTizen store-z1-20150228rzr
Tizen store-z1-20150228rzr
 
Iotivity tizen-fosdem-2015
Iotivity tizen-fosdem-2015Iotivity tizen-fosdem-2015
Iotivity tizen-fosdem-2015
 
FOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devicesFOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devices
 
tizen-oshw-tds14sh
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14sh
 
Tizen platform-dev-tds14sh
Tizen platform-dev-tds14shTizen platform-dev-tds14sh
Tizen platform-dev-tds14sh
 
Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
 
tizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcovaltizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcoval
 
Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201
 
Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529
 

Recently uploaded

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 

Recently uploaded (20)

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 

mozilla-things-fosdem-2019

  • 1. Project Things A secure gateway to connect your things to Internet February 2, 2019 <https://fosdem.org/2019/schedule/event/project_things>
  • 2. Speakers 2 Dipesh Monga @ Mozilla Techspeakers Philippe Coval @ Samsung OpenSource
  • 3. The hidden dangers of uploading our physical lives to the cloud. 3
  • 4. Shodan: The scariest search engine on the Internet 4
  • 5.
  • 6. Shodan: Potential Targets 6 • Routers • Webcams • SCADA systems • Traffic Lights • Wind farms • Refrigerators • Printers • Gas station pumps, Power Grids
  • 8. 8 Mozilla Solution Addresses Biggest Smart Home Concerns Source: Forrester. Based on North American Consumer Technographics Consumer Tech, Media, & Telecom Online Benchmark Recontact Survey 2, Q3 2016. Base: US Online Adults 18+ (Online Weekly or More); n= 4,515
  • 9. 9 Mozilla Project Things Vision We envision an open and decentralized Internet of Things that puts people first, where individuals can shape their own experience and are empowered, safe and independent. Mission Our mission is to create an open source Web of Things implementation which embodies Mozilla’s values and helps drive IoT standards for security, privacy, and interoperability.
  • 10. Directly monitor and control your home over the web, without a middleman 10 • Affordable one-off purchase, no monthly subscription • Private data stays in your home by default • Expand with devices from multiple manufacturers
  • 11. Things Gateway - Use Cases
  • 12. 12 W3C Web of Things Cuts Across Silos
  • 13. 13 Web of Things Smart Toaster The Web of Things means addressing Things via URLs and following standard APIs. Using a web framework makes things discoverable and linkable, and provides web developers with an opportunity to let users interact via a wide range of interfaces: screens, voice, gesture, augmented reality… It works even without an Internet connection.
  • 14. 14 Things Gateway 0.7 (2019-01) Build your own gateway with a Raspberry Pi Controllers Things Things Gateway (Linux) Gateway OEM product support • Secure, private remote access tunnels • Over-the-air software updates • Future options: Encrypted backups, security monitoring, 3rd party web services (via OAuth) What Goes on in the Cloud? Existing Wi-Fi AP
  • 15. Mozilla Project Things Framework 15 • Cloud: support for setup, backup, updates, 3rd party apps and services integration, and remote encrypted tunneling • Gateway: always on IoT connectivity hub in the home • Controllers: smart speakers, tablets/phones, AR headsets... • Devices: sensors and actuators (“things”) to instrument your smart home
  • 16. Things Gateway - Security 16 • HTTPS via mozilla-iot.org tunnelling service TCP tunnel uses PageKite (no need to open ports on your router). • Unique subdomains with LetsEncrypt TLS certificates: (Optionally configure your own NAT, DNS & TLS) • JSON Web Tokens used for authentication • OAuth to authorise third party apps & services
  • 17. ● Downloadable OS image for Raspberry Pi ● Perfect for hackers and makers iot.mozilla.org/gateway Things Gateway
  • 19. Setup: Things Gateway 19 ● Download gateway ○ Dump supported image to SDcard for RPi ○ or rebuild srcs for desktop or other boards ● Connect to it using web browser ○ Optionally: Setup WiFi, domain ● Install addons (ie: Virtual WebThings) ● Add more things to dashboard ● Automate conditions from sensors to actuators ○ Use rules engine from GUI
  • 20. What are WebThings ? 20 ● Webthings are just HTTP servers ○ Connected to gateway (star topology, not P2P) ● Specified by MozIot schema (Described in JSON) ● Easy to implement (JS, Python, C/C++, Rust…): ○ for runtime: ■ npm install webthing ○ for IoT.js alt runtime: webthing-iotjs (fork) ■ IoT.js uses JerryScript engine (ES 5.1) ■ Develop on POSIX OS (GNU/Linux) ■ Deploy on MCU: ■ More: “Bring JS to IoT” (Sun 14h JS room) RT
  • 21. Implementings WebThings var webthing = require('webthing-iotjs'); function SomeProperty(thing) { webthing.Property.call(this, thing, 'SomeProperty', new webthing.Value(42), {'@type':'LevelProperty'}); }); var thing = new webthing.Thing('SomeThing'); thing.addProperty(new SomeProperty(thing)); var server = new webthing.WebThingServer (new webthing.SingleThing(thing), 8888); server.start(); 21 $ curl http://localhost:8888 { "name":"SomeThing", "href":"/", "@context": "https://iot.mozilla.org/schemas", "@type":[null], "properties":{ "SomeProperty":{ "links":[ {"rel":"property", "href":"/properties/SomeProperty" }]}}, "links":[ {"rel":"properties", "href":"/properties" }]} $ curl http://localhost:8888/properties/SomeProperty {"SomeProperty":42}
  • 22. Protocol Interoperability using REST var mqtt = require('mqtt'); // IoT.js builtin module function MqttProperty(thing) { var self=this; webthing.Property.call(this,thing, 'Humidity', new webthing.Value(0),{'@type':'LevelProperty'}); thing.client.subscribe('workgroup/$MACHINE_ID/air/humidity'); thing.client.on('message', function(data) { var update = JSON.parse(data.message.toString())['humidity']; self.value.notifyOfExternalUpdate(update); }); } 22 var thing = new webthing.Thing('MqttSensor'); thing.client = new mqtt.connect({host: 'iot.eclipse.org', port: 1883}, function(){ thing.addProperty(new MqttProperty(thing)); (new webthing.WebThingServer(...)).start(); });
  • 23. Extends gateway With addons 23 ● Adapters to bridge: ○ Other IoT devices (or protocols) ■ E.g: Onvif Cameras… ○ Or online services: ■ E.g: ActivityPub/Mastodon, EMail ○ I/O: Generic Sensors (I2C), GPIO, USB? ● Can be implemented in any language ○ IPC is used for Node.JS using nanomsg ● Community supported
  • 25. Build your own web things with the Things Framework Create a Things Gateway adapter add-on to bridge an existing IoT device or protocol to the web Help us develop our Web of Things implementation Build a Web Thing Create an adapter Hack on Project Things iot.mozilla.org/contribute Get Involved
  • 26. iot.mozilla.org #iot on IRC @MozillaIoT on Twitter Mozilla IoT on Discourse Find Out More
  • 27.