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
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
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...
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