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

The Complex IoT Equation (and FLOSS solutions)

  • 1.
    Samsung Open SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 4 #OW2Con @ http://sched.co/Ecdl “Out of clutter, find simplicity.” ~Albert Einstein
  • 5.
    Samsung Open SourceGroup 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 SourceGroup 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 SourceGroup 7 #OW2Con @ http://sched.co/Ecdl Every project has challenges, and every project has its rewards. ~Stephen Schwartz
  • 8.
    Samsung Open SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 18 #OW2Con @ http://sched.co/Ecdl Questions or Extras ? (Ask me now or later online) https://wiki.tizen.org/User:Pcoval
  • 19.
    Samsung Open SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 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 SourceGroup 23 #OW2Con @ http://sched.co/Ecdl Thanks / Merci Contact: https://wiki.tizen.org/wiki/User:Pcoval Resources: flaticons CC