SlideShare a Scribd company logo
1 of 28
Download to read offline
Samsung Open Source Group 1 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Philippe Coval + Ziran Sun
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
ziran.sun@samsung.com
From devices to cloud
Free and Open Source Developers' European Meeting
#FOSDEM, Brussels, Belgium <2017-02-04>
Samsung Open Source Group 2 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Bonjour tout le monde !
● We're software engineers from Samsung OSG
● Ask Philippe Coval for IoTivity, Tizen, Yocto, Automotive
– About OS/hardware support, build & usages (English, French)
– https://wiki.tizen.org/wiki/User:Pcoval
● Ask Ziran Sun for IoTivity, Web
– About internal, cloud (English, Chinese)
– https://fosdem.org/2016/schedule/speaker/ziran_sun/
Samsung Open Source Group 3 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Agenda
● A Vehicle to Infrastructure IoT demonstration
● What is OCF/IoTivity ?
● Prototyping using NodeJS
– Sensor monitoring
– Notification to cloud
● More cloud facilities
● Q&A or/and extras
?
Samsung Open Source Group 4
“Any sufficiently
advanced technology
is indistinguishable
from magic.”
~ Arthur C. Clarke
Samsung Open Source Group 5 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
How to track defectives street lights?
● 1: Measure if outside's lighting is too dark
– Embedded sensor in car (demo: I²C sensor)
● 2: Get position from satellites (GPS, Galileo)
– From: car, mobile or any (demo: simulated)
● 3: Send notice to Internet (Cloud)
– Using mobile data
– 4: Forward information to city services (pull or push)
● 5: Agent is assigned
– 6: to fix defective light
● 7: he can also check “open data” base from his mobile
● ...
11
2
3
5
6
4
7
Samsung Open Source Group 6 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
From devices to cloud AutoLinux demo
https://vimeo.com/202478132#iotivity-artik-20170204rzr
Samsung Open Source Group 7 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
“Simplicity
is the ultimate sophistication.”
~Leonardo da Vinci
Samsung Open Source Group 8 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Open Connectivity Foundation
● “Providing the software Linking the Internet of Things”
– Creating a specification, based on open standards:
● Resource based, RESTful architecture (Stateless. client/server...)
● IETF, CoAP protocol (Web on UDP), CBOR (JSON in binary)...
– Sponsoring an open source reference implementation (IoTivity)
● Join 190+ members to
– Discuss specification, propose RFC
– Test products in Plugfests & certify them
– Propose new data models (OneIoTA.org)
Samsung Open Source Group 9 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Flow: Create, Read, Update, Delete, Notify
IoTivity Server IoTivity Client(s)
Local IP Network
Registration of resource
Handling new requests Set/Get/ing properties values
Initialization as server Initialization as client
Handling new clients Discovery of resource
POST/PUT GET
UDP Multicast
+ CoAP
Notify updated resource Observe resource change
& Handling propertiesOBSERVE
Samsung Open Source Group 10 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity Framework for connecting devices
● Hardware: CPU, MCU, Desktop, SBC, Tizen devices
● OS: Many including Linux, Tizen, Yocto or baremetal...
●
C API: Data transmission (flash footprint ~128KiB-)
– Resource Model / Serialization (CBOR)
– Connectivity Abstraction: CoAP, Local IP Network, BT, BLE...
– Discovery (UDP, Multicast), Security (DTLS/TLS)
● C++ API
– C++11 OOP, Provisioning Service...
● + High level services (Mostly C++)
– Data/Device Management, Hosting, Encapsulation...
Samsung Open Source Group 11
“Talk is cheap.
Show me the code.”
~ Linus Torvalds
Samsung Open Source Group 12 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Welcome to JavaScript developers !
● IoT is not reserved for embedded (few) developers (many)
● NodeJS a run time environment of choice for prototyping
– Huge community = Consistent repository of many modules
● to be installed using node package manger
– Packaged for many OSes: GNU/Linux, Tizen, Yocto
● IoTivity-node: npm install iotivity-node
– binds IoTivity CSDK (Core Library) to Javascript
– Of course is interoperable with native servers or clients
● Let's get started, with a yocto distro with node, npm, iotivity-node
Samsung Open Source Group 13 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
BH1750 Digital Light Sensor
● Illuminance: [1 – 65535] lx
– Datasheet: bh1750fvi-e.pdf
● Uses I²C bus interface
– 5P: GND, ADD (to GND), SDA, SCL, VCC
– Check presence:
● /dev/i2c-1 on Raspberry Pi2
● I2cdetect -y 1 : will tell the address to use
● NodeJS package(s) available:
– https://www.npmjs.com/search?q=bh1750
– npm install bh1750
// https://www.npmjs.com/package/bh1750
var BH1750 = require('bh1750');
var device = '/dev/i2c­1';
var address = 0x23;
var options = { 
    address: address, device: device,
    command: 0x10, // 1 lx resolution
    length: 2
};
var sensor = new BH1750( { options } )
sensor.readLight(function(value){
   console.log(value);
   // emit('update', value);
});
Samsung Open Source Group 14 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
OCF: Resources Data Models: oneIoTa
● Resource is identified by an URI
– Composed of properties
● Declared by a ResourceType
– Operations: CRUD+N
● Create, Read, Update, Delete+ Notify
● Use existing known resource models
– From oneIoTa.org repository
– Ie: sensors, geolocation...
● Or create new ones (new names)
– Share for interoperability
● http://www.oneiota.org/revisions/1863
● oic.r.sensor.illuminance.json
● /* … */ "definitions": {
  "oic.r.sensor.illuminance": {
    "properties": {
      "illuminance": {
        "type": "number",
        "readOnly": true,
        "description":
    "Sensed luminous flux in lux."
}  }  } /* … */ 
Samsung Open Source Group 15 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity-node Server notifies
● Intialize server and register resource:
iotivity 
= require("iotivity­node/lowlevel");
iotivity.OCInit(null, 0, OC_SERVER);
iotivity.OCCreateResource(
   handleReceptacle,
   resourceType,
   OC_RSRVD_INTERFACE_DEFAULT,
   "/IlluminanceResUri", // URL
   handleEntity,
   OC_DISCOVERABLE | OC_OBSERVABLE);
● resourceType define Payload's data and format:
– // ie: "oic.r.sensor.illuminance"
– { “illuminance”: 42 } 
●
handleEntity Is a callback on client(s) requests
– Register observers
– Respond to requests (GET, POST, PUT)
● notify(value) to observers using:
– iotivity.OCNotifyListOfObservers
● Integrate ambient sensor by trapping events:
– source.on("update", notify )
● Processing loop:
setInterval(function(
 {iotivity.OCProcess();}, 1000);
Samsung Open Source Group 16 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity-node Client observes
var client = require("iotivity­node").client;
client.on("resourcefound", function(resource) {
    if ("/IlluminanceResUri" === resource.resourcePath){
        resource.on("update", function(resource) {
            console.log(JSON.stringify(resource.properties)); 
            // OR update UI, forward elsewhere?
        };
    }
});
client.findResources().catch( function(error) { process.exit(1); } );
Samsung Open Source Group 17 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Forward data to a cloud backend
● Login your artik.io dashboard
– Select or define data models
● https://developer.artik.cloud/dashboard/devicetypes
– Declare devices: (Copy IDs)
● https://my.artik.cloud/devices
– Monitor:
● https://my.artik.cloud/data
● Send data: (REST, WS, CoAP, MQTT)
– From iotivity's resource “update” event
– Using http REST
require("node-rest-client").Client;
client.post(url, message, callback);
● https://api.artik.cloud/v1.1/messages
● message = { 
  headers: {
    'Content­Type': 'application/json', 
     Authorization: 'bearer 
                BADC0DE(...)DEADBEEF42'
}, data: {
    sdid:'deadbeef(...)badc0de13',
    ts: 1485178599672,
    type: 'message',
    data: { illuminance: 42 } 
} }
Samsung Open Source Group 18 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
/GeoLocationResURI
{
latitude: 52.165,
longitude: -2.21,
}
A Vehicle to Infrastructure notification service
function handle(illuminance) {
  if (gThreshold > illuminance) {
    var data= { illuminance: illuminance,
                latitude: gGeo.latitude, longitude: gGeo.longitude };
    sender.send(data); // { ARTIK's client.post(url...); }
} }
client.on("resourcefound", function(resource) {
  if ("/IlluminanceResURI" === resource.resourcePath) {
    resource.on("update", handle);
  } else if ("/GeolocationResURI" === resource.resourcePath) {
    resource.on("update",
      function(resource) { gGeo = resource.properties; });
} };
1
2
/IlluminanceResURI
{
illuminance: 42
}
https://api.artik.cloud/
{
illuminance: 42,
latitude: 52.165,
longitude: -2.21
}
3
1
Samsung Open Source Group 19
学无止境
There is no limits to knowledge
Samsung Open Source Group 20 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity Clouds
● Cloud Interface
● Authentication
– OAuth2
● Message Queue
– Publish
– Subscribe
● Directory (RD)
Samsung Open Source Group 21 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity Services
● A common set of functionalities to application development.
– Resource Container
– Notification
– Resource Encapsulation
– Scene Manager
– Easy setup
–
Samsung Open Source Group 22 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Summary
● OCF establishes a standard for interconnecting things
● Open Source project IoTivity implements it in C and C++
● NodeJS is a nice tool to prototype a scenario
– IoTivity node to use CSDK core implementation of OCF
– + npm modules to support, hardware, cloud API
● ARTIK Cloud is providing a backend
● IoTivity native cloud extends connectivity to global
● IoTivity Service make app development easier
Samsung Open Source Group 23 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
References
● Entry points:
– https://wiki.iotivity.org/examples : git clone iotivity-example
– https://wiki.iotivity.org/docker : cloud images from Ondrej Tomcik
– http://wiki.iotivity.org/automotive
● Going further:
– https://openconnectivity.org/resources/iotivity
– https://openconnectivity.org/resources/oneiota-data-model-tool
– https://news.samsung.com/global/samsung-contributes-to-open-iot-showcase-at-ces-2017
● Keep in touch online:
– https://wiki.iotivity.org/community
– https://wiki.tizen.org/wiki/Meeting
– https://blogs.s-osg.org/author/pcoval/
Samsung Open Source Group 24
Q&A or/and Extras ?
Samsung Open Source Group 25 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Use GeoLocation resource in Tizen apps
https://vimeo.com/164000646#tizen-genivi-20160424rzr
Samsung Open Source Group 26 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
CES2017: Smart Home & Automotive demos
https://youtu.be/3d0uZE6lHvo
Samsung Open Source Group 27 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
IoTivity native cloud
● Cloud Interface
● Account Server
– to support multi-user (secured connection)
– OAuth2 over CoAP
● Message Queue Server
– broker to support PUB/SUB
● Resource Directory Server
● CoAP over TCP
– encoder/decoder with TLS
● CoAP HTTP Proxy
– for message mapping/parsing
Samsung Open Source Group 28 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group
Merci / 谢谢
Thanks / 고맙습니다
Samsung OSG, SRUK, SEF, SSI,
Open Connectivity Foundation and members, LinuxFoundation,
FLOSS Communities: Tizen, Yocto, EFL, AGL, GENIVI, eLinux,
Resources: xkcd.com, FlatIcons
(CC BY 3.0: Freepik,Scott de Jonge, Gregor Cresnar)
Tools: Libreoffice, openshot,
FOSDEM attendees & YOU !
Contact:
https://wiki.tizen.org/wiki/User:Pcoval

More Related Content

What's hot

Internet of Things (IOT)
Internet of Things (IOT)Internet of Things (IOT)
Internet of Things (IOT)Kunal Adhikari
 
IOT PROTOCOLS.pptx
IOT PROTOCOLS.pptxIOT PROTOCOLS.pptx
IOT PROTOCOLS.pptxDRREC
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergDr. Mazlan Abbas
 
Internet of things (IoT)
Internet of things (IoT)Internet of things (IoT)
Internet of things (IoT)Prakash Honnur
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoTNaoto Umemori
 
Chapter_1.pptx
Chapter_1.pptxChapter_1.pptx
Chapter_1.pptxAadiSoni3
 
DDS for Internet of Things (IoT)
DDS for Internet of Things (IoT)DDS for Internet of Things (IoT)
DDS for Internet of Things (IoT)Abdullah Ozturk
 
What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?Sameer Ahmed
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...Edureka!
 
ESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgMartin Harizanov
 
Applications of IOT (internet of things)
Applications of IOT (internet of things)Applications of IOT (internet of things)
Applications of IOT (internet of things)Vinesh Gowda
 
Internet of things (IoT)- Introduction, Utilities, Applications
Internet of things (IoT)- Introduction, Utilities, ApplicationsInternet of things (IoT)- Introduction, Utilities, Applications
Internet of things (IoT)- Introduction, Utilities, ApplicationsTarika Verma
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Thingspkshc01
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarRAJESHKUMARG12
 

What's hot (20)

IoT security
IoT securityIoT security
IoT security
 
IoT Security
IoT SecurityIoT Security
IoT Security
 
Internet of Things (IOT)
Internet of Things (IOT)Internet of Things (IOT)
Internet of Things (IOT)
 
IOT PROTOCOLS.pptx
IOT PROTOCOLS.pptxIOT PROTOCOLS.pptx
IOT PROTOCOLS.pptx
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
 
IoT Networking
IoT NetworkingIoT Networking
IoT Networking
 
Internet of things (IoT)
Internet of things (IoT)Internet of things (IoT)
Internet of things (IoT)
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoT
 
Chapter_1.pptx
Chapter_1.pptxChapter_1.pptx
Chapter_1.pptx
 
DDS for Internet of Things (IoT)
DDS for Internet of Things (IoT)DDS for Internet of Things (IoT)
DDS for Internet of Things (IoT)
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?What is Edge Computing and Why does it matter in IoT?
What is Edge Computing and Why does it matter in IoT?
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
 
AWS for IoT
AWS for IoTAWS for IoT
AWS for IoT
 
Introduction to IoT
Introduction to IoTIntroduction to IoT
Introduction to IoT
 
ESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bgESP32 IoT presentation @ dev.bg
ESP32 IoT presentation @ dev.bg
 
Applications of IOT (internet of things)
Applications of IOT (internet of things)Applications of IOT (internet of things)
Applications of IOT (internet of things)
 
Internet of things (IoT)- Introduction, Utilities, Applications
Internet of things (IoT)- Introduction, Utilities, ApplicationsInternet of things (IoT)- Introduction, Utilities, Applications
Internet of things (IoT)- Introduction, Utilities, Applications
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
 

Viewers also liked

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
 
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
 
OCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableOCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableJonathan Jeon
 
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...Samsung Open Source Group
 
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 DeviceSamsung Open Source Group
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Samsung Open Source Group
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoynAlex Gonzalez
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
IoTivity 오픈소스 기술
IoTivity 오픈소스 기술IoTivity 오픈소스 기술
IoTivity 오픈소스 기술Wonsuk Lee
 
Async Http Client for Java and Scripting Language
Async Http Client for Java and Scripting LanguageAsync Http Client for Java and Scripting Language
Async Http Client for Java and Scripting Languagejfarcand
 
DTT OIC, OIP IoT platform
DTT OIC, OIP IoT platformDTT OIC, OIP IoT platform
DTT OIC, OIP IoT platformNguyen Trung
 
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 devicesSamsung Open Source Group
 

Viewers also liked (20)

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
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
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
 
Tizen Connected with IoTivity
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivity
 
OCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableOCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/Wearable
 
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...
 
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
 
IoTivity on Tizen: How to
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How to
 
tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916
 
tizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcovaltizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcoval
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoyn
 
Toward "OCF Automotive" profile
Toward "OCF Automotive" profileToward "OCF Automotive" profile
Toward "OCF Automotive" profile
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
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
 
IoTivity 오픈소스 기술
IoTivity 오픈소스 기술IoTivity 오픈소스 기술
IoTivity 오픈소스 기술
 
Async Http Client for Java and Scripting Language
Async Http Client for Java and Scripting LanguageAsync Http Client for Java and Scripting Language
Async Http Client for Java and Scripting Language
 
DTT OIC, OIP IoT platform
DTT OIC, OIP IoT platformDTT OIC, OIP IoT platform
DTT OIC, OIP IoT platform
 
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
 

Similar to IoTivity: From Devices to the Cloud

The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 
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
 
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
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrPhil www.rzr.online.fr
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXAPNIC
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at workSammy Fung
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Open Mobile Alliance
 
digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrPhil www.rzr.online.fr
 

Similar to IoTivity: From Devices to the Cloud (20)

Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
 
webthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzr
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
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
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
ONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDXONOS SDN-IP: Tutorial and Use Case for SDX
ONOS SDN-IP: Tutorial and Use Case for SDX
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
 
digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzr
 

More from Samsung Open Source Group

More from Samsung Open Source Group (13)

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
 
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
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
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
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
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
 
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
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
OIC AGL Collaboration
OIC AGL CollaborationOIC AGL Collaboration
OIC AGL Collaboration
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 

Recently uploaded

How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 

Recently uploaded (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 

IoTivity: From Devices to the Cloud

  • 1. Samsung Open Source Group 1 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Philippe Coval + Ziran Sun Samsung Open Source Group / SRUK philippe.coval@osg.samsung.com ziran.sun@samsung.com From devices to cloud Free and Open Source Developers' European Meeting #FOSDEM, Brussels, Belgium <2017-02-04>
  • 2. Samsung Open Source Group 2 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Bonjour tout le monde ! ● We're software engineers from Samsung OSG ● Ask Philippe Coval for IoTivity, Tizen, Yocto, Automotive – About OS/hardware support, build & usages (English, French) – https://wiki.tizen.org/wiki/User:Pcoval ● Ask Ziran Sun for IoTivity, Web – About internal, cloud (English, Chinese) – https://fosdem.org/2016/schedule/speaker/ziran_sun/
  • 3. Samsung Open Source Group 3 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Agenda ● A Vehicle to Infrastructure IoT demonstration ● What is OCF/IoTivity ? ● Prototyping using NodeJS – Sensor monitoring – Notification to cloud ● More cloud facilities ● Q&A or/and extras ?
  • 4. Samsung Open Source Group 4 “Any sufficiently advanced technology is indistinguishable from magic.” ~ Arthur C. Clarke
  • 5. Samsung Open Source Group 5 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group How to track defectives street lights? ● 1: Measure if outside's lighting is too dark – Embedded sensor in car (demo: I²C sensor) ● 2: Get position from satellites (GPS, Galileo) – From: car, mobile or any (demo: simulated) ● 3: Send notice to Internet (Cloud) – Using mobile data – 4: Forward information to city services (pull or push) ● 5: Agent is assigned – 6: to fix defective light ● 7: he can also check “open data” base from his mobile ● ... 11 2 3 5 6 4 7
  • 6. Samsung Open Source Group 6 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group From devices to cloud AutoLinux demo https://vimeo.com/202478132#iotivity-artik-20170204rzr
  • 7. Samsung Open Source Group 7 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group “Simplicity is the ultimate sophistication.” ~Leonardo da Vinci
  • 8. Samsung Open Source Group 8 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Open Connectivity Foundation ● “Providing the software Linking the Internet of Things” – Creating a specification, based on open standards: ● Resource based, RESTful architecture (Stateless. client/server...) ● IETF, CoAP protocol (Web on UDP), CBOR (JSON in binary)... – Sponsoring an open source reference implementation (IoTivity) ● Join 190+ members to – Discuss specification, propose RFC – Test products in Plugfests & certify them – Propose new data models (OneIoTA.org)
  • 9. Samsung Open Source Group 9 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Flow: Create, Read, Update, Delete, Notify IoTivity Server IoTivity Client(s) Local IP Network Registration of resource Handling new requests Set/Get/ing properties values Initialization as server Initialization as client Handling new clients Discovery of resource POST/PUT GET UDP Multicast + CoAP Notify updated resource Observe resource change & Handling propertiesOBSERVE
  • 10. Samsung Open Source Group 10 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity Framework for connecting devices ● Hardware: CPU, MCU, Desktop, SBC, Tizen devices ● OS: Many including Linux, Tizen, Yocto or baremetal... ● C API: Data transmission (flash footprint ~128KiB-) – Resource Model / Serialization (CBOR) – Connectivity Abstraction: CoAP, Local IP Network, BT, BLE... – Discovery (UDP, Multicast), Security (DTLS/TLS) ● C++ API – C++11 OOP, Provisioning Service... ● + High level services (Mostly C++) – Data/Device Management, Hosting, Encapsulation...
  • 11. Samsung Open Source Group 11 “Talk is cheap. Show me the code.” ~ Linus Torvalds
  • 12. Samsung Open Source Group 12 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Welcome to JavaScript developers ! ● IoT is not reserved for embedded (few) developers (many) ● NodeJS a run time environment of choice for prototyping – Huge community = Consistent repository of many modules ● to be installed using node package manger – Packaged for many OSes: GNU/Linux, Tizen, Yocto ● IoTivity-node: npm install iotivity-node – binds IoTivity CSDK (Core Library) to Javascript – Of course is interoperable with native servers or clients ● Let's get started, with a yocto distro with node, npm, iotivity-node
  • 13. Samsung Open Source Group 13 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group BH1750 Digital Light Sensor ● Illuminance: [1 – 65535] lx – Datasheet: bh1750fvi-e.pdf ● Uses I²C bus interface – 5P: GND, ADD (to GND), SDA, SCL, VCC – Check presence: ● /dev/i2c-1 on Raspberry Pi2 ● I2cdetect -y 1 : will tell the address to use ● NodeJS package(s) available: – https://www.npmjs.com/search?q=bh1750 – npm install bh1750 // https://www.npmjs.com/package/bh1750 var BH1750 = require('bh1750'); var device = '/dev/i2c­1'; var address = 0x23; var options = {      address: address, device: device,     command: 0x10, // 1 lx resolution     length: 2 }; var sensor = new BH1750( { options } ) sensor.readLight(function(value){    console.log(value);    // emit('update', value); });
  • 14. Samsung Open Source Group 14 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group OCF: Resources Data Models: oneIoTa ● Resource is identified by an URI – Composed of properties ● Declared by a ResourceType – Operations: CRUD+N ● Create, Read, Update, Delete+ Notify ● Use existing known resource models – From oneIoTa.org repository – Ie: sensors, geolocation... ● Or create new ones (new names) – Share for interoperability ● http://www.oneiota.org/revisions/1863 ● oic.r.sensor.illuminance.json ● /* … */ "definitions": {   "oic.r.sensor.illuminance": {     "properties": {       "illuminance": {         "type": "number",         "readOnly": true,         "description":     "Sensed luminous flux in lux." }  }  } /* … */ 
  • 15. Samsung Open Source Group 15 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity-node Server notifies ● Intialize server and register resource: iotivity  = require("iotivity­node/lowlevel"); iotivity.OCInit(null, 0, OC_SERVER); iotivity.OCCreateResource(    handleReceptacle,    resourceType,    OC_RSRVD_INTERFACE_DEFAULT,    "/IlluminanceResUri", // URL    handleEntity,    OC_DISCOVERABLE | OC_OBSERVABLE); ● resourceType define Payload's data and format: – // ie: "oic.r.sensor.illuminance" – { “illuminance”: 42 }  ● handleEntity Is a callback on client(s) requests – Register observers – Respond to requests (GET, POST, PUT) ● notify(value) to observers using: – iotivity.OCNotifyListOfObservers ● Integrate ambient sensor by trapping events: – source.on("update", notify ) ● Processing loop: setInterval(function(  {iotivity.OCProcess();}, 1000);
  • 16. Samsung Open Source Group 16 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity-node Client observes var client = require("iotivity­node").client; client.on("resourcefound", function(resource) {     if ("/IlluminanceResUri" === resource.resourcePath){         resource.on("update", function(resource) {             console.log(JSON.stringify(resource.properties));              // OR update UI, forward elsewhere?         };     } }); client.findResources().catch( function(error) { process.exit(1); } );
  • 17. Samsung Open Source Group 17 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Forward data to a cloud backend ● Login your artik.io dashboard – Select or define data models ● https://developer.artik.cloud/dashboard/devicetypes – Declare devices: (Copy IDs) ● https://my.artik.cloud/devices – Monitor: ● https://my.artik.cloud/data ● Send data: (REST, WS, CoAP, MQTT) – From iotivity's resource “update” event – Using http REST require("node-rest-client").Client; client.post(url, message, callback); ● https://api.artik.cloud/v1.1/messages ● message = {    headers: {     'Content­Type': 'application/json',       Authorization: 'bearer                  BADC0DE(...)DEADBEEF42' }, data: {     sdid:'deadbeef(...)badc0de13',     ts: 1485178599672,     type: 'message',     data: { illuminance: 42 }  } }
  • 18. Samsung Open Source Group 18 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group /GeoLocationResURI { latitude: 52.165, longitude: -2.21, } A Vehicle to Infrastructure notification service function handle(illuminance) {   if (gThreshold > illuminance) {     var data= { illuminance: illuminance,                 latitude: gGeo.latitude, longitude: gGeo.longitude };     sender.send(data); // { ARTIK's client.post(url...); } } } client.on("resourcefound", function(resource) {   if ("/IlluminanceResURI" === resource.resourcePath) {     resource.on("update", handle);   } else if ("/GeolocationResURI" === resource.resourcePath) {     resource.on("update",       function(resource) { gGeo = resource.properties; }); } }; 1 2 /IlluminanceResURI { illuminance: 42 } https://api.artik.cloud/ { illuminance: 42, latitude: 52.165, longitude: -2.21 } 3 1
  • 19. Samsung Open Source Group 19 学无止境 There is no limits to knowledge
  • 20. Samsung Open Source Group 20 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity Clouds ● Cloud Interface ● Authentication – OAuth2 ● Message Queue – Publish – Subscribe ● Directory (RD)
  • 21. Samsung Open Source Group 21 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity Services ● A common set of functionalities to application development. – Resource Container – Notification – Resource Encapsulation – Scene Manager – Easy setup –
  • 22. Samsung Open Source Group 22 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Summary ● OCF establishes a standard for interconnecting things ● Open Source project IoTivity implements it in C and C++ ● NodeJS is a nice tool to prototype a scenario – IoTivity node to use CSDK core implementation of OCF – + npm modules to support, hardware, cloud API ● ARTIK Cloud is providing a backend ● IoTivity native cloud extends connectivity to global ● IoTivity Service make app development easier
  • 23. Samsung Open Source Group 23 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group References ● Entry points: – https://wiki.iotivity.org/examples : git clone iotivity-example – https://wiki.iotivity.org/docker : cloud images from Ondrej Tomcik – http://wiki.iotivity.org/automotive ● Going further: – https://openconnectivity.org/resources/iotivity – https://openconnectivity.org/resources/oneiota-data-model-tool – https://news.samsung.com/global/samsung-contributes-to-open-iot-showcase-at-ces-2017 ● Keep in touch online: – https://wiki.iotivity.org/community – https://wiki.tizen.org/wiki/Meeting – https://blogs.s-osg.org/author/pcoval/
  • 24. Samsung Open Source Group 24 Q&A or/and Extras ?
  • 25. Samsung Open Source Group 25 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Use GeoLocation resource in Tizen apps https://vimeo.com/164000646#tizen-genivi-20160424rzr
  • 26. Samsung Open Source Group 26 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group CES2017: Smart Home & Automotive demos https://youtu.be/3d0uZE6lHvo
  • 27. Samsung Open Source Group 27 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group IoTivity native cloud ● Cloud Interface ● Account Server – to support multi-user (secured connection) – OAuth2 over CoAP ● Message Queue Server – broker to support PUB/SUB ● Resource Directory Server ● CoAP over TCP – encoder/decoder with TLS ● CoAP HTTP Proxy – for message mapping/parsing
  • 28. Samsung Open Source Group 28 https://fosdem.org/2017/schedule/event/iot_iotivity/Samsung Open Source Group Merci / 谢谢 Thanks / 고맙습니다 Samsung OSG, SRUK, SEF, SSI, Open Connectivity Foundation and members, LinuxFoundation, FLOSS Communities: Tizen, Yocto, EFL, AGL, GENIVI, eLinux, Resources: xkcd.com, FlatIcons (CC BY 3.0: Freepik,Scott de Jonge, Gregor Cresnar) Tools: Libreoffice, openshot, FOSDEM attendees & YOU ! Contact: https://wiki.tizen.org/wiki/User:Pcoval