SlideShare a Scribd company logo
1 of 23
Download to read offline
Samsung Open Source Group 1 #OW2Con @ http://sched.co/Ecdl
The Complex IoT Equation
Philippe Coval
Samsung Open Source Group / SRUK
p.coval@samsung.com
(and FLOSS Solutions)
#OW2Con, IoT Track
Paris, France <2018-06-07>
Samsung Open Source Group 2 #OW2Con @ http://sched.co/Ecdl
Bonjour tout le monde, $who am I ?
● Philippe Coval
– Samsung Software engineer
● belongs to OpenSource Group
● member of SRUK team
– based in Rennes, France
● Interests:
– Libre Soft/Hard/ware communities
– IoT, DIY, Embedded, Automotive…
● Need help? Find me online:
– https://wiki.tizen.org/wiki/User:Pcoval
Samsung Open Source Group 3 #OW2Con @ http://sched.co/Ecdl
Agenda
● State of the art
– Learn lessons from success of WWW
● Some IoT challenges
– Privacy & Interoperability
● From IoT to Web of Things
● More...
Samsung Open Source Group 4 #OW2Con @ http://sched.co/Ecdl
“Out of clutter, find simplicity.”
~Albert Einstein
Samsung Open Source Group 5 #OW2Con @ http://sched.co/Ecdl
IoT status
● The Internet of Things is a system of physical objects
– that can be discovered, monitored, controlled,
– or interacted with by electronic devices
– that communicate over various networking interfaces
● and eventually can be connected to the wider Internet.
● Addresses many domains:
– Health, Agriculture, Transport, Cities, Industry
● Lot of Technical skills needed:
– Hardware: Electronic design & Power management, Security
– Software: Interoperability, OS, update, frameworks, Privacy
– Networking / Connectivity: Wired or Wireless protocols
Samsung Open Source Group 6 #OW2Con @ http://sched.co/Ecdl
How IoT and Web differ for developers?
Web IoT
Goal: Publish contents, link, Social... Control/monitor devices
Origin, History: IP, 1989: URL+HTML+HTTP 1982: “Coke” M2M, 1999: IoT
2015 (>mobiles), 2017+30%
Architecture Client/Server mostly C/S, Mesh, D2D, Wireless
Open Standards RFCs,IETF, IRTF, ISOC, IAB,
W3C, ECMA, JSON
RFCs, IETF, W3C, OCF
JSON, CBOR
Networks & Protocols IP/TCP based: HTTP(s)
WebServices, REST, WS, RTC
Web+= UDP: CoAP, MQTT
+ LPWAN, W/N/H/AN, NFC...
Hardware: CPUs: Desk/lap/top, mobile...
(GNU/Linux, Tizen, Android)
Web+= Microcontrollers
CPU, MPU, MCU
…. partially connected
Market penetration Massive: or Ubiquitous? 8.4B of devices (but low interop)
Developers adoption: +10M (Front/back, Javascript) Only ~3M (~1M Embedded)
Samsung Open Source Group 7 #OW2Con @ http://sched.co/Ecdl
Every project has challenges,
and every project has its rewards.
~Stephen Schwartz
Samsung Open Source Group 8 #OW2Con @ http://sched.co/Ecdl
Privacy is about Trust and Control
● Ownership of personal data
– Shared, Transferred, Revoked, Logged, Retrieved and DELETED
●
depend on time and context
● Services operators should comply regulations:
– EU: General Data Protection Regulation (GDPR 2018)
● Provider to inform, ensure security, share on consent
● User to acknowledge changes, revoke access
● Or FLOSS “Privacy by design” opportunities ?
– Prevent data collection in first place→Keep data local if possible
●
Limit usage of cloud, apps or “captive models”
● FLOSS: OpenId, Oauth2.0, JWT, PWA, WebBT, ACE, JOSE
Samsung Open Source Group 9 #OW2Con @ http://sched.co/Ecdl
Challenge: Rental property scenario
● House owner owns data (& metadata)
● Until a consumer rent it (contract)
– User should take ownership
● lights, door activities, or camera.
– Then user could aggregate data for owner
● Power consumption (on weekly base or on departure).
● Smooth integration with:
– Services: rental portal, social web
– Devices: Shared or personal devices
Samsung Open Source Group 10 #OW2Con @ http://sched.co/Ecdl
Demo: IoT gateway, ESP MCU, WebApp
https://youtu.be/vzoUJ-v5h38
●
● https://vimeo.com/273037442
● webthing-esp8266-webapp-20180602rzr
● https://youtu.be/vzoUJ-v5h38
● https://vimeo.com/user12599872/
● webthing-esp8266-webapp-20180602rzr
Samsung Open Source Group 11 #OW2Con @ http://sched.co/Ecdl
RESTful architecture
● From HTTP GET/POST to RESTful architecture:
– Verb (Create, Update, Read, Delete) on Subject
● Example: FLOSS: Mozilla IoT gateway
– Things models, described in JSON:
gateway="https://sosg.mozilla-iot.org" or "gateway.local"
thing="things/http---esp8266.local-things-dimmable-color-lamp"
property="properties/color"
curl "$gateway/$thing/$property" 
-H "$auth" -H 'Accept: application/json'
{"color":"#ffff6f"}
Samsung Open Source Group 12 #OW2Con @ http://sched.co/Ecdl
Application layer adapted for low end devices
● CoRE: Constrained RESTful Environments
– CoAP: RFC 7252 Constrained Application Protocol
– HTTP/CoAP mapping, CBOR Serialisation.
● Base of framework implementing OCF spec
– for seamless connectivity between devices
– + IoTivity lite: low foot print for microcontrollers
– + IoTivity-node: for wrapping to JS using:
– Secured using DTLS (mbedtls)
– OpenConnectivity’s OneIoTA.org for common semantics
Samsung Open Source Group 13 #OW2Con @ http://sched.co/Ecdl
JavaScript: Language of the Web for IoT ?
● "Any application that can be written in JavaScript,
– will eventually be written in JavaScript." ~Jeff Atwood
● JS community is huge (Web, Node, NPM...)
● JS is portable: Browsers, Servers, Embedded
– Standardized Generic API and data models (JSON, JSON-LD):
● Ie: W3C generic sensors (that use I2C, analog drivers)
– Can run on even low end devices using JerryScript
● (RAM:64K+ROM:200K) Integrated in IoT.js, Zephyr.js, Tizen:RT
– Try: sudo apt install iotjs
Samsung Open Source Group 14 #OW2Con @ http://sched.co/Ecdl
IoT.js on TizenRT: Sensor+LoRaWAN demo
https://youtu.be/S7zpBpnpflU#tizen-rt-lpwan-20180204rzr
● https://vimeo.com/273037442#
Samsung Open Source Group 15 #OW2Con @ http://sched.co/Ecdl
From IoT to Web of Things
● WoT is Application Layer (OSI 7) rely on IoT Tech (1-6)
– Programmable: JavaScript, REST, WebSockets
– Shared Semantic: Data models to be exchanged (JSON-LD)
● W3C “Web of thing” introduces servient concept (server+client)
– App scripting
– FLOSS: ThingWeb: node-wot, Eclipse ThingWeb
● Mozilla “WebThings”: API and Gateway
– Network, Access, Find, Share Compose
● Challenges: Align semantics for Interoperability
– IETF, W3C, OCF and OGC
Samsung Open Source Group 16 #OW2Con @ http://sched.co/Ecdl
Summary
● Open Web ecosystem: massive adoption
● + Open Internet of Things: chaotic very heterogeneous
● = Open Web of Things: to link WWW to physical world
– aims to reduce integration complexity to developers
● open for applications or services
– desirable features: privacy by design (fix social web)
● Join FLOSS projects with open standards/specifications!
– JerryScript/IoT.js, IoTivity, W3C, MozillaIoT, Tizen...
Samsung Open Source Group 17 #OW2Con @ http://sched.co/Ecdl
Resources
●
Entry points:
– https://www.w3.org/WoT/
– https://iot.mozilla.org/
– https://wiki.iotivity.org/
●
More:
– https://datatracker.ietf.org/wg/core/charter/
– https://datatracker.ietf.org/wg/ace/about/
– https://www.mozilla.org/en-US/about/manifesto/
– https://youtu.be/0AAhghY2fpM?t=2448
– https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project
– https://webofthings.org/
●
Keep in touch online:
– https://wiki.tizen.org/User:Pcoval
– https://s-opensource.org/author/philcovalsamsungcom/
– https://wiki.tizen.org/wiki/Meeting
Resources: flaticons CC
Samsung Open Source Group 18 #OW2Con @ http://sched.co/Ecdl
Questions or Extras ?
(Ask me now or later online)
https://wiki.tizen.org/User:Pcoval
Samsung Open Source Group 19 #OW2Con @ http://sched.co/Ecdl
Generic Sensors addon adapter (I2C)
https://youtu.be/4haKrPetGmg
●
● mozilla-iot-gateway-sensors-
20180406rzr
● https://youtu.be/4haKrPetGmg
●
Samsung Open Source Group 20 #OW2Con @ http://sched.co/Ecdl
End 2 End Web+IoT Demo using Mozilla GW
https://youtu.be/C13iPxfQAdA
● https://vimeo.com/271272094
● End2End_WebIoTDemo_Mozilla-
GW
● https://youtu.be/C13iPxfQAdA
#End2End_WebIoTDemo_Mozilla-
GW
●
Samsung Open Source Group 21 #OW2Con @ http://sched.co/Ecdl
IoTivity-node: From devices to ARTIK cloud
https://youtu.be/3L6_DbMLJ1k
● https://s-opensource.org/author/PhilCovalSamsungCom/
●
● https://vimeo.com/202478132#iotivity-artik-20170204rzr
●
● https://youtu.be/3L6_DbMLJ1k#iotivity-artik-20170204rzr
Samsung Open Source Group 22 #OW2Con @ http://sched.co/Ecdl
OCF-W3C Translator
https://youtu.be/jKt_fPnqggo
● https://youtu.be/jKt_fPnqggo
https://youtu.be/jKt_fPnqggo
● openconnectivity-lfals2017
● https://youtu.be/jKt_fPnqggo
Samsung Open Source Group 23 #OW2Con @ http://sched.co/Ecdl
Thanks / Merci
Contact:
https://wiki.tizen.org/wiki/User:Pcoval
Resources: flaticons CC

More Related Content

What's hot

What's hot (20)

Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoT Meets Security
IoT Meets SecurityIoT Meets Security
IoT Meets Security
 
Toward "OCF Automotive" profile
Toward "OCF Automotive" profileToward "OCF Automotive" profile
Toward "OCF Automotive" profile
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
Development Boards for Tizen IoT
Development Boards for Tizen IoTDevelopment Boards for Tizen IoT
Development Boards for Tizen IoT
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential Collaboration
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - Introduction
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
 

Similar to The Complex IoT Equation (and FLOSS solutions)

IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
WithTheBest
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
AGILE IoT
 

Similar to The Complex IoT Equation (and FLOSS solutions) (20)

webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
Tizen Connected with IoTivity
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivity
 
digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzr
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
tizen-rt-javascript-20181011
tizen-rt-javascript-20181011tizen-rt-javascript-20181011
tizen-rt-javascript-20181011
 
The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017
 
Creating the open source building blocks for IoT
Creating the open source building blocks for IoT Creating the open source building blocks for IoT
Creating the open source building blocks for IoT
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
 
aframe-webthing-20190710
aframe-webthing-20190710aframe-webthing-20190710
aframe-webthing-20190710
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
La web de las Cosas
La web de las CosasLa web de las Cosas
La web de las Cosas
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
 
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
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
 

More from Samsung Open Source Group

More from Samsung Open Source Group (9)

Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 
Clang: More than just a C/C++ Compiler
Clang: More than just a C/C++ CompilerClang: More than just a C/C++ Compiler
Clang: More than just a C/C++ Compiler
 
OIC AGL Collaboration
OIC AGL CollaborationOIC AGL Collaboration
OIC AGL Collaboration
 
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devicesIoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
 
IoTivity on Tizen: How to
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How to
 

Recently uploaded

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

The Complex IoT Equation (and FLOSS solutions)

  • 1. Samsung Open Source Group 1 #OW2Con @ http://sched.co/Ecdl The Complex IoT Equation Philippe Coval Samsung Open Source Group / SRUK p.coval@samsung.com (and FLOSS Solutions) #OW2Con, IoT Track Paris, France <2018-06-07>
  • 2. Samsung Open Source Group 2 #OW2Con @ http://sched.co/Ecdl Bonjour tout le monde, $who am I ? ● Philippe Coval – Samsung Software engineer ● belongs to OpenSource Group ● member of SRUK team – based in Rennes, France ● Interests: – Libre Soft/Hard/ware communities – IoT, DIY, Embedded, Automotive… ● Need help? Find me online: – https://wiki.tizen.org/wiki/User:Pcoval
  • 3. Samsung Open Source Group 3 #OW2Con @ http://sched.co/Ecdl Agenda ● State of the art – Learn lessons from success of WWW ● Some IoT challenges – Privacy & Interoperability ● From IoT to Web of Things ● More...
  • 4. Samsung Open Source Group 4 #OW2Con @ http://sched.co/Ecdl “Out of clutter, find simplicity.” ~Albert Einstein
  • 5. Samsung Open Source Group 5 #OW2Con @ http://sched.co/Ecdl IoT status ● The Internet of Things is a system of physical objects – that can be discovered, monitored, controlled, – or interacted with by electronic devices – that communicate over various networking interfaces ● and eventually can be connected to the wider Internet. ● Addresses many domains: – Health, Agriculture, Transport, Cities, Industry ● Lot of Technical skills needed: – Hardware: Electronic design & Power management, Security – Software: Interoperability, OS, update, frameworks, Privacy – Networking / Connectivity: Wired or Wireless protocols
  • 6. Samsung Open Source Group 6 #OW2Con @ http://sched.co/Ecdl How IoT and Web differ for developers? Web IoT Goal: Publish contents, link, Social... Control/monitor devices Origin, History: IP, 1989: URL+HTML+HTTP 1982: “Coke” M2M, 1999: IoT 2015 (>mobiles), 2017+30% Architecture Client/Server mostly C/S, Mesh, D2D, Wireless Open Standards RFCs,IETF, IRTF, ISOC, IAB, W3C, ECMA, JSON RFCs, IETF, W3C, OCF JSON, CBOR Networks & Protocols IP/TCP based: HTTP(s) WebServices, REST, WS, RTC Web+= UDP: CoAP, MQTT + LPWAN, W/N/H/AN, NFC... Hardware: CPUs: Desk/lap/top, mobile... (GNU/Linux, Tizen, Android) Web+= Microcontrollers CPU, MPU, MCU …. partially connected Market penetration Massive: or Ubiquitous? 8.4B of devices (but low interop) Developers adoption: +10M (Front/back, Javascript) Only ~3M (~1M Embedded)
  • 7. Samsung Open Source Group 7 #OW2Con @ http://sched.co/Ecdl Every project has challenges, and every project has its rewards. ~Stephen Schwartz
  • 8. Samsung Open Source Group 8 #OW2Con @ http://sched.co/Ecdl Privacy is about Trust and Control ● Ownership of personal data – Shared, Transferred, Revoked, Logged, Retrieved and DELETED ● depend on time and context ● Services operators should comply regulations: – EU: General Data Protection Regulation (GDPR 2018) ● Provider to inform, ensure security, share on consent ● User to acknowledge changes, revoke access ● Or FLOSS “Privacy by design” opportunities ? – Prevent data collection in first place→Keep data local if possible ● Limit usage of cloud, apps or “captive models” ● FLOSS: OpenId, Oauth2.0, JWT, PWA, WebBT, ACE, JOSE
  • 9. Samsung Open Source Group 9 #OW2Con @ http://sched.co/Ecdl Challenge: Rental property scenario ● House owner owns data (& metadata) ● Until a consumer rent it (contract) – User should take ownership ● lights, door activities, or camera. – Then user could aggregate data for owner ● Power consumption (on weekly base or on departure). ● Smooth integration with: – Services: rental portal, social web – Devices: Shared or personal devices
  • 10. Samsung Open Source Group 10 #OW2Con @ http://sched.co/Ecdl Demo: IoT gateway, ESP MCU, WebApp https://youtu.be/vzoUJ-v5h38 ● ● https://vimeo.com/273037442 ● webthing-esp8266-webapp-20180602rzr ● https://youtu.be/vzoUJ-v5h38 ● https://vimeo.com/user12599872/ ● webthing-esp8266-webapp-20180602rzr
  • 11. Samsung Open Source Group 11 #OW2Con @ http://sched.co/Ecdl RESTful architecture ● From HTTP GET/POST to RESTful architecture: – Verb (Create, Update, Read, Delete) on Subject ● Example: FLOSS: Mozilla IoT gateway – Things models, described in JSON: gateway="https://sosg.mozilla-iot.org" or "gateway.local" thing="things/http---esp8266.local-things-dimmable-color-lamp" property="properties/color" curl "$gateway/$thing/$property" -H "$auth" -H 'Accept: application/json' {"color":"#ffff6f"}
  • 12. Samsung Open Source Group 12 #OW2Con @ http://sched.co/Ecdl Application layer adapted for low end devices ● CoRE: Constrained RESTful Environments – CoAP: RFC 7252 Constrained Application Protocol – HTTP/CoAP mapping, CBOR Serialisation. ● Base of framework implementing OCF spec – for seamless connectivity between devices – + IoTivity lite: low foot print for microcontrollers – + IoTivity-node: for wrapping to JS using: – Secured using DTLS (mbedtls) – OpenConnectivity’s OneIoTA.org for common semantics
  • 13. Samsung Open Source Group 13 #OW2Con @ http://sched.co/Ecdl JavaScript: Language of the Web for IoT ? ● "Any application that can be written in JavaScript, – will eventually be written in JavaScript." ~Jeff Atwood ● JS community is huge (Web, Node, NPM...) ● JS is portable: Browsers, Servers, Embedded – Standardized Generic API and data models (JSON, JSON-LD): ● Ie: W3C generic sensors (that use I2C, analog drivers) – Can run on even low end devices using JerryScript ● (RAM:64K+ROM:200K) Integrated in IoT.js, Zephyr.js, Tizen:RT – Try: sudo apt install iotjs
  • 14. Samsung Open Source Group 14 #OW2Con @ http://sched.co/Ecdl IoT.js on TizenRT: Sensor+LoRaWAN demo https://youtu.be/S7zpBpnpflU#tizen-rt-lpwan-20180204rzr ● https://vimeo.com/273037442#
  • 15. Samsung Open Source Group 15 #OW2Con @ http://sched.co/Ecdl From IoT to Web of Things ● WoT is Application Layer (OSI 7) rely on IoT Tech (1-6) – Programmable: JavaScript, REST, WebSockets – Shared Semantic: Data models to be exchanged (JSON-LD) ● W3C “Web of thing” introduces servient concept (server+client) – App scripting – FLOSS: ThingWeb: node-wot, Eclipse ThingWeb ● Mozilla “WebThings”: API and Gateway – Network, Access, Find, Share Compose ● Challenges: Align semantics for Interoperability – IETF, W3C, OCF and OGC
  • 16. Samsung Open Source Group 16 #OW2Con @ http://sched.co/Ecdl Summary ● Open Web ecosystem: massive adoption ● + Open Internet of Things: chaotic very heterogeneous ● = Open Web of Things: to link WWW to physical world – aims to reduce integration complexity to developers ● open for applications or services – desirable features: privacy by design (fix social web) ● Join FLOSS projects with open standards/specifications! – JerryScript/IoT.js, IoTivity, W3C, MozillaIoT, Tizen...
  • 17. Samsung Open Source Group 17 #OW2Con @ http://sched.co/Ecdl Resources ● Entry points: – https://www.w3.org/WoT/ – https://iot.mozilla.org/ – https://wiki.iotivity.org/ ● More: – https://datatracker.ietf.org/wg/core/charter/ – https://datatracker.ietf.org/wg/ace/about/ – https://www.mozilla.org/en-US/about/manifesto/ – https://youtu.be/0AAhghY2fpM?t=2448 – https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project – https://webofthings.org/ ● Keep in touch online: – https://wiki.tizen.org/User:Pcoval – https://s-opensource.org/author/philcovalsamsungcom/ – https://wiki.tizen.org/wiki/Meeting Resources: flaticons CC
  • 18. Samsung Open Source Group 18 #OW2Con @ http://sched.co/Ecdl Questions or Extras ? (Ask me now or later online) https://wiki.tizen.org/User:Pcoval
  • 19. Samsung Open Source Group 19 #OW2Con @ http://sched.co/Ecdl Generic Sensors addon adapter (I2C) https://youtu.be/4haKrPetGmg ● ● mozilla-iot-gateway-sensors- 20180406rzr ● https://youtu.be/4haKrPetGmg ●
  • 20. Samsung Open Source Group 20 #OW2Con @ http://sched.co/Ecdl End 2 End Web+IoT Demo using Mozilla GW https://youtu.be/C13iPxfQAdA ● https://vimeo.com/271272094 ● End2End_WebIoTDemo_Mozilla- GW ● https://youtu.be/C13iPxfQAdA #End2End_WebIoTDemo_Mozilla- GW ●
  • 21. Samsung Open Source Group 21 #OW2Con @ http://sched.co/Ecdl IoTivity-node: From devices to ARTIK cloud https://youtu.be/3L6_DbMLJ1k ● https://s-opensource.org/author/PhilCovalSamsungCom/ ● ● https://vimeo.com/202478132#iotivity-artik-20170204rzr ● ● https://youtu.be/3L6_DbMLJ1k#iotivity-artik-20170204rzr
  • 22. Samsung Open Source Group 22 #OW2Con @ http://sched.co/Ecdl OCF-W3C Translator https://youtu.be/jKt_fPnqggo ● https://youtu.be/jKt_fPnqggo https://youtu.be/jKt_fPnqggo ● openconnectivity-lfals2017 ● https://youtu.be/jKt_fPnqggo
  • 23. Samsung Open Source Group 23 #OW2Con @ http://sched.co/Ecdl Thanks / Merci Contact: https://wiki.tizen.org/wiki/User:Pcoval Resources: flaticons CC