SlideShare a Scribd company logo
1 of 37
Download to read offline
1
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Webthings
Using IoT.js
for RT
on boards
#CDL2018, Capitole du libre
ENSEEIHT, Toulouse, France <2018-11-18>
Philippe Coval <p.coval@samsung.com>
Samsung Open Source Group / SRUK
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
2
Hello world, $who am I ?
●
Philippe Coval
– Belongs to Samsung Research UK
●
in OpenSource group
– French
●
from Toulouse then Rennes
●
Interests:
– Libre Soft/Hard/ware communities
– Embedded, IoT, Web, DIY…
Need help? Ping me online:
http://social.samsunginter.net/@rzr
3
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Agenda
●
Context:
– IoT status, Privacy matters !
– Motivations for Web of Thing
●
Mozilla Webthings framework
●
Connecting constrained IoT devices
– Easily with JavaScript!
4
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
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
●
Critical in many cases: Need to Secure & Privacy Proof
5
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
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)
●
Threat to privacy in the IoT is HIGH!!!
●
“Privacy by design” opportunities
– Prevent data collection in first place→Keep data local if possible
●
Limit usage of cloud, apps or “captive models”
– New security challenges (Decentralize, reduce surface of attacks)
6
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Motivations for Open Web Of Things
●
Open web platform promises:
– Security (isolation in browser)
– Enhanced privacy (DNT)
●
Security is not same as Privacy !
●
Think decentralized !
– may be harder to secure
●
but more resilient
– Edge: Computation on nodes
●
Web of Things (WoT)
– An application layer for IoT
– with interoperability
– Specification work by
– And FLOSS implementations
●
Thing
●
Node-Wot
●
...
7
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Project
Things
by
8
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Mozilla’s IoT Project Things Overview
●
Framework of software/services
– for connecting "things" to the web
●
Things Model: Semantic to describe things’ properties
●
WebThings: provide Http(s) REST API
●
Gateway to connect WebThings
– Rule engine and nice Web UI (PWA)
●
Cloud: Remote access facilities (opt.)
9
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
W3C WebThing model & Thing Description
●
Models complies to W3C schemas served on HTTP
– using Javascript, C/C++, Rust, Python, uPython etc…
●
Actuator example: RGB Lamp (webthing-ardiuno/example)
curl http://esp8266.local
[{"name":"Dimmable Color Light", "type":"dimmableColorLight",
"href":"/things/dimmable-color-light",
"properties":{"on":{"type":"boolean", "href":
"/things/dimmable-color-light/properties/on"},
"level":{"type":"number", "href":
"/things/dimmable-color-light/properties/level"},
"color":{"type":"string", "href":
"/things/dimmable-color-light/properties/color"}}
}]
Names
= endpoints
10
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Mozilla IoT gateway
●
Connects all webthings locally:
– IP (WiFi, Eth), BT, Zigbee, Z-Wave...
●
Provides progressive web app:
– To monitor and control things
●
Users management:
– Access control using JsonWebToken
●
Optional remote control using proxy:
– LetsEncrypt certs + PageKite tunnel
●
Extensible using add-ons
– Adapters for other protocols/ecosystems
11
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Setup Mozilla IoT gateway
●
Reference image for RPi
– Dump Raspbian image to SD
●
Or rebuild on any GNU/Linux
– 0.6.x version uses Node-8 (LTS 2017)
– container (node/debian)
●
ARTIK710 dev board:
– WiFi, Eth, BT, Zigbee, Thread
– GPIO, ADC, UART, PWM...
– User Buttons and LED
●
710 (+530) can be also supported
– With Node-10 (LTS 2018)
– Using nvm or
https://github.com/rzr/webthing-iotjs/wiki/Gateway
12
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Sharing flow between owner and user
●
Owner setup gateway (connect lamp):
– create and allow user(s) to control thing
●
User login to GW using OAuth (JWT issued)
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"}
← Or use alternative app: webthings-webapp:
Tizen or Android/SamsungInternet (PWA)
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
13
“Simplicity
is prerequisite for reliability.”
~Edsger W. Dijkstra
14
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
IoT Problems and Solutions
●
Constrained IoT devices:
– Cloud connected
●
Privacy issues
– Easy to prototype: (Arduino...)
– Harder to deploy at scale
●
Limited on resources
●
Native development
– on many RTOS
●
Few experts developers
●
Technical strategies:
– Edge computing
●
Data stay on nodes or in LAN
– Abstraction with high level API
●
Port runtimes not apps code
– Portability and standards
●
Script languages for MCU
– JavaScript, Python, LUA…
●
Target existing developers base
15
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
JavaScript: Language of the Web for IoT ?
●
JavaScript is everywhere!
●
Many web developers:
– So many application developers
●
Few embedded developers
– To focus more on runtime or app engines:
●
For high end & low end (MCU)
●
Standardized (ECMA)
●
Established communities:
–
"Any application
that can be written in JavaScript,
will eventually be written in JavaScript"
~Jeff Atwood
Over
837K
Modules!
(2019-11-15)
…
But
relative
quality !
16
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
IoT.js runtime use JerryScript engine
●
Lightweight JavaScript engine
– Supports constrained devices
●
<64 KB RAM & <200 KB ROM
– On-device compilation, exec
●
Complies ECMAScript 5.1 std
●
FLOSS: Apache-2.0, (C) JSF
●
https://JerryScript.net
●
IoT.js is JavaScript framework
– for Internet of Things
●
Features: GPIO, I2C, app protocols...
– built on 'JerryScript'
– event driven using libtuv
●
non-blocking I/O model
●
Inspired by Node.js’s runtime
– Node is built on V8 interpreter
– IoT.js is smaller and faster for MCUs
Supporting: GNU/Linux, Tizen, TizenRT, NuttX and more…
(Prototype on desktop, deploy to contrained devices)
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
17
A modular architecture for JS IoT apps
Hardware
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
18
“The secret of getting ahead
is getting started.”
~ Mark Twain
19
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Installing IoT.js runtime for webthings
●
Install from or GNU/Linux
– Rebuild from sources
●
https://github.com/Samsung/iotjs
– Or download snapshot .deb:
●
For for (RPi 0+) or
●
Write hello world & evaluate it:
Hello IoT.js
{
"env": { //...
"IOTJS_ENV": "",
"IOTJS_EXTRA_MODULE_PATH":""
},
"builtin_modules": { //...
"platform": "linux", (...) }
"iotjs": {
"board": ""
},
"argv": [
"iotjs",
"demo.js"
],
// (...)
}
● cat demo.js
console.log(“Hello IoT.js”)
console.log(process)
● iotjs demo.js
https://github.com/rzr/webthing-iotjs/wiki/IotJs
20
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
WebThing-IoT.js to power WebThings on IoT.js
●
Fork of webthing-node
– for IoT.js runtime (On JerryScript)
– Transpilation from modern JS
●
to ES5.1 (using Babel.js)
– Some parts removed:
●
mDNS, Websockets
●
actions, events…
– Continuously rebasing
– Supports:
●
GNU/Linux, Tizen, TizenRT
●
Aligning IoT.js to :
– For API, IO drivers, NPM modules:
●
GPIO, ADC
– Compatible examples:
●
SingleBoard Computers’s IO (PHats)
●
Sensors (I2C) & Actuators
21
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Try Webthing-iotjs’s simplest sensor:
● var thing = new Thing('SensorExample',
['MultiLevelSensor']);
● this.level = new Value(0);
● thing.addProperty(
new Property(thing, 'level',
this.level,
{label:'Level', type:'number'}
);
● var server = new WebThingServer
(new SingleThing(thing));
● server.start();
● (...)
● this.level.notifyOfExternalUpdate(42);
●
Show thing’s description:
– properties listed as JSON (REST):
curl 
-H 'Content-Type: application/json' 
http://localhost:8888
{"name":"SensorExample",...
"properties":{"level":{"type":"number", ... }
●
Get Property on property’s endpoint:
curl 
-H 'Content-Type: application/json' 
http://localhost:8888/properties/level
{"level":42}
Name
(=
endpoint)
22
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Try Webthing-iotjs’s simplest actuator:
● var thing = new Thing
('ActuatorExample',['OnOffSwitch'];
● thing.addProperty(
new Property(thing, 'on',
new Value(true, function(data){
console.log(Boolean(data));
}),
{label:'On/Off', type:'boolean'}
);
● var server = new WebThingServer
(new SingleThing(thing));
● server.start();
●
Run application from sources:
iotjs example/simplest-thing.js [port]
●
Set Property value (using HTTP):
curl -X PUT 
-H 'Content-Type: application/json'
--data '{"on":false}' 
http://localhost:8888/properties/on
{"on":false}Callback
Capabilties
23
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Real world use cases and more...
●
GenericSensorsLite module to build webthings
– Based on specification (for browsers)
– Abstract I2C Drivers
●
using NPM community modules
– Cross engine compatible: IoT.js, Node.js (NPM)
– High level concepts: AmbientLight, Temperature…
– Also supported on gateway as addon adaper
– More: https://github.com/rzr/webthing-iotjs/wiki/Sensor
●
Link any physical or logical component:
– Actuator to be triggered on sensor data using mozilla rule engine
– Social Web Example: MastodonActuator https://github.com/rzr/webthing-iotjs/wiki/Social
24
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
IoT.js modules
●
A repository for IoT.js packages (JS):
– git clone --recursive https://github.com/samsung/iotjs-modules iotjs_modules
– Or clone them individually using git submodules or scripts (GNUmake)
●
Add IoT.js support to existing Node.js packages
– Transpile to ES5.1 if using modern JS standards (use BabelJs.io)
– https://www.npmjs.com/search?q=keywords:iotjs-supported
●
Try to align IoT.js ↔Node.js APIs to ensure compatibility:
– Prototype on GNU/Linux and then deploy to MCU supporting IoT.js
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
25
“I'm not crazy. My reality
is just different from yours.”
~ Lewis Carroll
26
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
TizenRT extends Tizen ecosystem
●
Tizen
– Is based on Linux Kernel
– Shipped into
●
High end consumer electronics
– Mobile, TV, Wearables etc
– Open to developers
●
Native, C/C++ (EFL)
●
HTML5
●
DotNet
●
TizenRT
– Is based on NuttX Kernel
●
for constrained devices:
– Ie: Cortex M3 (RAM=30KB Flash=512KB)
– For low end IoT devices:
●
Open APIs (C, JavaScript)
●
Connectivity
●
Reliability
●
Security
– Support:
●
Qemu, ARTIK05x...
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
27
TizenRT supports 05X
●
System on module : 053, 053S (5V DC) or 055S (3.3V DC)
●
Dev kits: ARTIK 055S SoM on interposer board:
– 32-bit ARM® Cortex® R4 @ 320MHz
– R for Real Time and safety critical
– S for Secure: SE+TEE, Secure Sub System
●
Crypto (Certs, Key, ECDSA, RNG, PUF), Signed boot loader
– 1280KB RAM, 8MB Flash, WiFi
– IO: GPIO*29, ADC*4, PWM*5, UART*4 (2-pin), SPI*2, I2C*2, I2S
– RTC, JTAG (lock), Arduino header, Extra sensor boards
28
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Integrate WebThing-iotjs app to TizenRT
●
Use my helper scripts (GNU/Linux)
– make demo: build, deploy, monitor
●
Or manually:
– Setup TizenRT’s environment
– Upgrade IoT.js-2018 in TizenRT-2+
– Enable IoT.js launcher task
●
Using menuconfig (Kconfig)
●
Setup main script, PATH,
●
WiFi credentials
– Populate ROM fs with
●
Scripts, iotjs_modules
– Build and deploy static image
●
Connect board from gateway webapp:
https://github.com/rzr/webthing-iotjs/wiki/TizenRT
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
29
“Any sufficiently
advanced technology
is indistinguishable
from magic.”
~ Arthur C. Clarke
30
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Social Web of Things demo (#MozFest)
https://youtu.be/ZT1T-B6I3IM#webthing-iotjs-20181027rzr
31
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Summary: Open Web matters for IoT !
●
Open Web of Things: to link WWW to physical world
●
Mozilla Things framework to connect devices in LAN
●
Privacy Is about user's data control of flows
●
Javascript aims to reduce integration complexity
●
Try webthing-iotjs on GNU/Linux or TizenRT !
●
Support & comply to W3C standards, contribute to FLOSS
32
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Resources
●
Entry point:
– https://github.com/rzr/webthing-iotjs/wiki
●
More:
– https://www.w3.org/WoT/
– https://iot.mozilla.org/
– https://2018.capitoledulibre.org/
●
Keep in touch online:
– https://social.samsunginter.net/@rzr
– https://wiki.tizen.org/User:Pcoval
Resources: flaticons CC
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
33
Questions or Extras ?
https://Social.SamsungInter.net/@rzr
^
(Ask now or later online)
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
34
Generic Sensors addon adapter (I2C)
https://youtu.be/4haKrPetGmg#mozilla-iot-gateway-sensors-20180406rzr
●
mozilla-iot-gateway-sensors-20180406rzr
●
https://youtu.be/4haKrPetGmg
35
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
WebThings Web App (Tizen & PWA)
https://youtu.be/vzoUJ-v5h38#webthing-esp8266-webapp-20180602rzr
https://youtu.be/vzoUJ-v5h38#webthing-esp8266-webapp-20180602rzr
36
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Web of Things Smart Agriculture Demo
https://youtu.be/qrFTn0eA8iQ
37
https://social.samsunginter.net/@rzrSamsung Open Source Group 2018
Thanks !
Resources:
Flaticons CC,
PixBay.com

More Related Content

Similar to webthing-iotjs-tizenrt-cdl2018-20181117rzr

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 tutorialSamsung Open Source Group
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
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 IoTivitySamsung Open Source Group
 
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
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 
Engineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentEngineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentLiving Online
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 reportAkira Tanaka
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxSamsung Open Source Group
 

Similar to webthing-iotjs-tizenrt-cdl2018-20181117rzr (20)

Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
wotxr-20190320rzr
wotxr-20190320rzrwotxr-20190320rzr
wotxr-20190320rzr
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
Tizen Connected with IoTivity
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivity
 
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
 
IoT Session Thomas More
IoT Session Thomas MoreIoT Session Thomas More
IoT Session Thomas More
 
Cc internet of things @ Thomas More
Cc internet of things @ Thomas MoreCc internet of things @ Thomas More
Cc internet of things @ Thomas More
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
 
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
 
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...
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
IoT-javascript-2019-fosdem
IoT-javascript-2019-fosdemIoT-javascript-2019-fosdem
IoT-javascript-2019-fosdem
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Android Development Workshop V2
Android Development Workshop   V2Android Development Workshop   V2
Android Development Workshop V2
 
Engineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentEngineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) Development
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 report
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 

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

Iot privacy-soscon-2019
Iot privacy-soscon-2019Iot privacy-soscon-2019
Iot privacy-soscon-2019
 
up-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzrup-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzr
 
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

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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.pptxMalak Abu Hammad
 
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.pptxKatpro Technologies
 
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 organizationRadu Cotescu
 
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?Igalia
 
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...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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 textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
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?
 
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 Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

webthing-iotjs-tizenrt-cdl2018-20181117rzr

  • 1. 1 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Webthings Using IoT.js for RT on boards #CDL2018, Capitole du libre ENSEEIHT, Toulouse, France <2018-11-18> Philippe Coval <p.coval@samsung.com> Samsung Open Source Group / SRUK
  • 2. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 2 Hello world, $who am I ? ● Philippe Coval – Belongs to Samsung Research UK ● in OpenSource group – French ● from Toulouse then Rennes ● Interests: – Libre Soft/Hard/ware communities – Embedded, IoT, Web, DIY… Need help? Ping me online: http://social.samsunginter.net/@rzr
  • 3. 3 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Agenda ● Context: – IoT status, Privacy matters ! – Motivations for Web of Thing ● Mozilla Webthings framework ● Connecting constrained IoT devices – Easily with JavaScript!
  • 4. 4 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 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 ● Critical in many cases: Need to Secure & Privacy Proof
  • 5. 5 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 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) ● Threat to privacy in the IoT is HIGH!!! ● “Privacy by design” opportunities – Prevent data collection in first place→Keep data local if possible ● Limit usage of cloud, apps or “captive models” – New security challenges (Decentralize, reduce surface of attacks)
  • 6. 6 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Motivations for Open Web Of Things ● Open web platform promises: – Security (isolation in browser) – Enhanced privacy (DNT) ● Security is not same as Privacy ! ● Think decentralized ! – may be harder to secure ● but more resilient – Edge: Computation on nodes ● Web of Things (WoT) – An application layer for IoT – with interoperability – Specification work by – And FLOSS implementations ● Thing ● Node-Wot ● ...
  • 8. 8 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Mozilla’s IoT Project Things Overview ● Framework of software/services – for connecting "things" to the web ● Things Model: Semantic to describe things’ properties ● WebThings: provide Http(s) REST API ● Gateway to connect WebThings – Rule engine and nice Web UI (PWA) ● Cloud: Remote access facilities (opt.)
  • 9. 9 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 W3C WebThing model & Thing Description ● Models complies to W3C schemas served on HTTP – using Javascript, C/C++, Rust, Python, uPython etc… ● Actuator example: RGB Lamp (webthing-ardiuno/example) curl http://esp8266.local [{"name":"Dimmable Color Light", "type":"dimmableColorLight", "href":"/things/dimmable-color-light", "properties":{"on":{"type":"boolean", "href": "/things/dimmable-color-light/properties/on"}, "level":{"type":"number", "href": "/things/dimmable-color-light/properties/level"}, "color":{"type":"string", "href": "/things/dimmable-color-light/properties/color"}} }] Names = endpoints
  • 10. 10 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Mozilla IoT gateway ● Connects all webthings locally: – IP (WiFi, Eth), BT, Zigbee, Z-Wave... ● Provides progressive web app: – To monitor and control things ● Users management: – Access control using JsonWebToken ● Optional remote control using proxy: – LetsEncrypt certs + PageKite tunnel ● Extensible using add-ons – Adapters for other protocols/ecosystems
  • 11. 11 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Setup Mozilla IoT gateway ● Reference image for RPi – Dump Raspbian image to SD ● Or rebuild on any GNU/Linux – 0.6.x version uses Node-8 (LTS 2017) – container (node/debian) ● ARTIK710 dev board: – WiFi, Eth, BT, Zigbee, Thread – GPIO, ADC, UART, PWM... – User Buttons and LED ● 710 (+530) can be also supported – With Node-10 (LTS 2018) – Using nvm or https://github.com/rzr/webthing-iotjs/wiki/Gateway
  • 12. 12 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Sharing flow between owner and user ● Owner setup gateway (connect lamp): – create and allow user(s) to control thing ● User login to GW using OAuth (JWT issued) 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"} ← Or use alternative app: webthings-webapp: Tizen or Android/SamsungInternet (PWA)
  • 13. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 13 “Simplicity is prerequisite for reliability.” ~Edsger W. Dijkstra
  • 14. 14 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 IoT Problems and Solutions ● Constrained IoT devices: – Cloud connected ● Privacy issues – Easy to prototype: (Arduino...) – Harder to deploy at scale ● Limited on resources ● Native development – on many RTOS ● Few experts developers ● Technical strategies: – Edge computing ● Data stay on nodes or in LAN – Abstraction with high level API ● Port runtimes not apps code – Portability and standards ● Script languages for MCU – JavaScript, Python, LUA… ● Target existing developers base
  • 15. 15 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 JavaScript: Language of the Web for IoT ? ● JavaScript is everywhere! ● Many web developers: – So many application developers ● Few embedded developers – To focus more on runtime or app engines: ● For high end & low end (MCU) ● Standardized (ECMA) ● Established communities: – "Any application that can be written in JavaScript, will eventually be written in JavaScript" ~Jeff Atwood Over 837K Modules! (2019-11-15) … But relative quality !
  • 16. 16 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 IoT.js runtime use JerryScript engine ● Lightweight JavaScript engine – Supports constrained devices ● <64 KB RAM & <200 KB ROM – On-device compilation, exec ● Complies ECMAScript 5.1 std ● FLOSS: Apache-2.0, (C) JSF ● https://JerryScript.net ● IoT.js is JavaScript framework – for Internet of Things ● Features: GPIO, I2C, app protocols... – built on 'JerryScript' – event driven using libtuv ● non-blocking I/O model ● Inspired by Node.js’s runtime – Node is built on V8 interpreter – IoT.js is smaller and faster for MCUs Supporting: GNU/Linux, Tizen, TizenRT, NuttX and more… (Prototype on desktop, deploy to contrained devices)
  • 17. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 17 A modular architecture for JS IoT apps Hardware
  • 18. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 18 “The secret of getting ahead is getting started.” ~ Mark Twain
  • 19. 19 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Installing IoT.js runtime for webthings ● Install from or GNU/Linux – Rebuild from sources ● https://github.com/Samsung/iotjs – Or download snapshot .deb: ● For for (RPi 0+) or ● Write hello world & evaluate it: Hello IoT.js { "env": { //... "IOTJS_ENV": "", "IOTJS_EXTRA_MODULE_PATH":"" }, "builtin_modules": { //... "platform": "linux", (...) } "iotjs": { "board": "" }, "argv": [ "iotjs", "demo.js" ], // (...) } ● cat demo.js console.log(“Hello IoT.js”) console.log(process) ● iotjs demo.js https://github.com/rzr/webthing-iotjs/wiki/IotJs
  • 20. 20 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 WebThing-IoT.js to power WebThings on IoT.js ● Fork of webthing-node – for IoT.js runtime (On JerryScript) – Transpilation from modern JS ● to ES5.1 (using Babel.js) – Some parts removed: ● mDNS, Websockets ● actions, events… – Continuously rebasing – Supports: ● GNU/Linux, Tizen, TizenRT ● Aligning IoT.js to : – For API, IO drivers, NPM modules: ● GPIO, ADC – Compatible examples: ● SingleBoard Computers’s IO (PHats) ● Sensors (I2C) & Actuators
  • 21. 21 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Try Webthing-iotjs’s simplest sensor: ● var thing = new Thing('SensorExample', ['MultiLevelSensor']); ● this.level = new Value(0); ● thing.addProperty( new Property(thing, 'level', this.level, {label:'Level', type:'number'} ); ● var server = new WebThingServer (new SingleThing(thing)); ● server.start(); ● (...) ● this.level.notifyOfExternalUpdate(42); ● Show thing’s description: – properties listed as JSON (REST): curl -H 'Content-Type: application/json' http://localhost:8888 {"name":"SensorExample",... "properties":{"level":{"type":"number", ... } ● Get Property on property’s endpoint: curl -H 'Content-Type: application/json' http://localhost:8888/properties/level {"level":42} Name (= endpoint)
  • 22. 22 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Try Webthing-iotjs’s simplest actuator: ● var thing = new Thing ('ActuatorExample',['OnOffSwitch']; ● thing.addProperty( new Property(thing, 'on', new Value(true, function(data){ console.log(Boolean(data)); }), {label:'On/Off', type:'boolean'} ); ● var server = new WebThingServer (new SingleThing(thing)); ● server.start(); ● Run application from sources: iotjs example/simplest-thing.js [port] ● Set Property value (using HTTP): curl -X PUT -H 'Content-Type: application/json' --data '{"on":false}' http://localhost:8888/properties/on {"on":false}Callback Capabilties
  • 23. 23 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Real world use cases and more... ● GenericSensorsLite module to build webthings – Based on specification (for browsers) – Abstract I2C Drivers ● using NPM community modules – Cross engine compatible: IoT.js, Node.js (NPM) – High level concepts: AmbientLight, Temperature… – Also supported on gateway as addon adaper – More: https://github.com/rzr/webthing-iotjs/wiki/Sensor ● Link any physical or logical component: – Actuator to be triggered on sensor data using mozilla rule engine – Social Web Example: MastodonActuator https://github.com/rzr/webthing-iotjs/wiki/Social
  • 24. 24 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 IoT.js modules ● A repository for IoT.js packages (JS): – git clone --recursive https://github.com/samsung/iotjs-modules iotjs_modules – Or clone them individually using git submodules or scripts (GNUmake) ● Add IoT.js support to existing Node.js packages – Transpile to ES5.1 if using modern JS standards (use BabelJs.io) – https://www.npmjs.com/search?q=keywords:iotjs-supported ● Try to align IoT.js ↔Node.js APIs to ensure compatibility: – Prototype on GNU/Linux and then deploy to MCU supporting IoT.js
  • 25. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 25 “I'm not crazy. My reality is just different from yours.” ~ Lewis Carroll
  • 26. 26 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 TizenRT extends Tizen ecosystem ● Tizen – Is based on Linux Kernel – Shipped into ● High end consumer electronics – Mobile, TV, Wearables etc – Open to developers ● Native, C/C++ (EFL) ● HTML5 ● DotNet ● TizenRT – Is based on NuttX Kernel ● for constrained devices: – Ie: Cortex M3 (RAM=30KB Flash=512KB) – For low end IoT devices: ● Open APIs (C, JavaScript) ● Connectivity ● Reliability ● Security – Support: ● Qemu, ARTIK05x...
  • 27. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 27 TizenRT supports 05X ● System on module : 053, 053S (5V DC) or 055S (3.3V DC) ● Dev kits: ARTIK 055S SoM on interposer board: – 32-bit ARM® Cortex® R4 @ 320MHz – R for Real Time and safety critical – S for Secure: SE+TEE, Secure Sub System ● Crypto (Certs, Key, ECDSA, RNG, PUF), Signed boot loader – 1280KB RAM, 8MB Flash, WiFi – IO: GPIO*29, ADC*4, PWM*5, UART*4 (2-pin), SPI*2, I2C*2, I2S – RTC, JTAG (lock), Arduino header, Extra sensor boards
  • 28. 28 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Integrate WebThing-iotjs app to TizenRT ● Use my helper scripts (GNU/Linux) – make demo: build, deploy, monitor ● Or manually: – Setup TizenRT’s environment – Upgrade IoT.js-2018 in TizenRT-2+ – Enable IoT.js launcher task ● Using menuconfig (Kconfig) ● Setup main script, PATH, ● WiFi credentials – Populate ROM fs with ● Scripts, iotjs_modules – Build and deploy static image ● Connect board from gateway webapp: https://github.com/rzr/webthing-iotjs/wiki/TizenRT
  • 29. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 29 “Any sufficiently advanced technology is indistinguishable from magic.” ~ Arthur C. Clarke
  • 30. 30 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Social Web of Things demo (#MozFest) https://youtu.be/ZT1T-B6I3IM#webthing-iotjs-20181027rzr
  • 31. 31 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Summary: Open Web matters for IoT ! ● Open Web of Things: to link WWW to physical world ● Mozilla Things framework to connect devices in LAN ● Privacy Is about user's data control of flows ● Javascript aims to reduce integration complexity ● Try webthing-iotjs on GNU/Linux or TizenRT ! ● Support & comply to W3C standards, contribute to FLOSS
  • 32. 32 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Resources ● Entry point: – https://github.com/rzr/webthing-iotjs/wiki ● More: – https://www.w3.org/WoT/ – https://iot.mozilla.org/ – https://2018.capitoledulibre.org/ ● Keep in touch online: – https://social.samsunginter.net/@rzr – https://wiki.tizen.org/User:Pcoval Resources: flaticons CC
  • 33. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 33 Questions or Extras ? https://Social.SamsungInter.net/@rzr ^ (Ask now or later online)
  • 34. https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 34 Generic Sensors addon adapter (I2C) https://youtu.be/4haKrPetGmg#mozilla-iot-gateway-sensors-20180406rzr ● mozilla-iot-gateway-sensors-20180406rzr ● https://youtu.be/4haKrPetGmg
  • 35. 35 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 WebThings Web App (Tizen & PWA) https://youtu.be/vzoUJ-v5h38#webthing-esp8266-webapp-20180602rzr https://youtu.be/vzoUJ-v5h38#webthing-esp8266-webapp-20180602rzr
  • 36. 36 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Web of Things Smart Agriculture Demo https://youtu.be/qrFTn0eA8iQ
  • 37. 37 https://social.samsunginter.net/@rzrSamsung Open Source Group 2018 Thanks ! Resources: Flaticons CC, PixBay.com