SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Samsung Open Source Group 1Samsung Open Source Group #OSIS2017
Framework for IoT interoperability
Philippe Coval
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
From sensors to Tizen devices and beyond ?
Open Source Innovation Spring
#OSIS2017, CNRS Paris, France <2017-07-11>
Samsung Open Source Group 2Samsung Open Source Group #OSIS2017
/whois Philippe Coval
● Software engineer for Samsung Research
– Belongs to Open Source Group (S-OSG) EU/UK team
● I am based in Rennes, France
– Commits into IoTivity, Tizen, Yocto, Automotive OS (GENIVI, AGL)...
– Ask me about FLOSS, OSHW, DIY, Communities
● Find me online
– https://wiki.tizen.org/wiki/User:Pcoval
Samsung Open Source Group 3Samsung Open Source Group #OSIS2017
Agenda
● What is Open Connectivity's IoTivity ?
● Demo and examples
?
Samsung Open Source Group 4Samsung Open Source Group #OSIS2017
Internet of Things is: A complex equation
● Where all parameters are correlated :
– Connectivity: not only Internet, probably IP, but not only
● Personal (<1m), Local (<10m - 10km), Metropolitan (<10km), Wide Area
(<1000Km)
– Security matters ! (during all expected life span)
● Several surfaces of attacks: service, monitoring, upgrade
– Cost of materials and cost of usage:
● Computing capability (CPU or MCU?), consumption, if 24x7
● Development, maintenance: FLOSS or Closed source ?
Samsung Open Source Group 5Samsung Open Source Group #OSIS2017
● Many Silos / Many implementations :
– One app per device (better than many remote controls)
– Dependence on centralized models (hub/cloud)
● Many concerns or issues:
– Security/Privacy concerns?
– Long term support and maintenance?
– Do we want critical devices exposed to the Internet ?
● Few Interoperability/Interconnection of today's things.
IoT: Internet of Today or Internet of Troubles ?
Samsung Open Source Group 6
“Without trust there's no cooperation.
And without cooperation there's no progress.
History stops.”
~ Rick Yancey, The Last Star
Samsung Open Source Group 7Samsung Open Source Group #OSIS2017
Open connectivity foundation's mission
● Provide software linking the Internet Of Things
– Focus on interoperability and seamless connectivity between devices
● Write specification, Establish a protocol,
– Rely on existing standards (CoAP, TLS), or OSS libs
● Sponsor Reference implementation:
– OpenSource (Apache 2.0 license)
● Hosted by Linux Foundation (like kernel, Tizen etc)
– Rule: No unimplemented features in specification
● Certify conformance to standard of products
● Above 300 members already joined, did you?
Samsung Open Source Group 8Samsung Open Source Group #OSIS2017
Common technology for multiple profiles
Architecture
RESTful
CRUD-N
Communication
CoAP, CBor
+Security
DTLS
Semantics
RAML
Smart
Home:
Zigbee
Blue
Tooth
Personal
Devices
Wearables:
BLE
Cloud: HTTP/ TCP
Mobilty
Automotive
LTE*
V2X*
...
Samsung Open Source Group 9Samsung Open Source Group #OSIS2017
IoTivity Framework for connecting devices
● Core cross platform libraries
– C API: resource layer + connectivity abstraction (IP, BT, BLE...)
● Link to libcoap, tinycbor (code footprint ~128KiB-)
– C++ API: C++11 bindings to build extra services
● + High level services (Mostly C++)
– Data/Device Management: Container, Hosting, Encapsulation, Scene
– Simulator (Eclipse based), http proxy
● + Plugins: Transport, Cloud Interface, Bridging
● Related projects
– IoTivity-Node: Javascript bindings
– IoTivity-contrainted: For thin devices (micro-controllers)
Samsung Open Source Group 10Samsung Open Source Group #OSIS2017
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/ GET
UDP Multicast
+ CoAP
Notify updated resource Observe resource change
& Handling propertiesOBSERVE
11Samsung Open Source Group #OSIS2017
CES2017 Smart Home+Automotive
https://youtu.be/3d0uZE6lHo#smarthome-ces2017
Automotive: SmartHome interaction and more
– https://wiki.iotivity.org/automotive
Samsung Open Source Group 12Samsung Open Source Group #OSIS2017
Resource Model
/example/BinarySwitchResURI
{
“p” : Discoverable & Observable & Secured,
“if” : ["oic.if.a","oic.if.baseline"],
“rt” : [“oic.r.switch.binary”],
“value” : true
...
}
URI:
+ common
properties:
Policy:
& Interface:
Resource Type:
+ attribute(s)
● Well knows resources URI (/oic/*):
– “res” discovery, “p” for platform , “d”: device (role: C/S), “sec/*” : security
Samsung Open Source Group 13Samsung Open Source Group #OSIS2017
Data models can be:
● Described
– For RESTful operations (CRUD)
– RAML+JSON Schemas
● Reviewed and validated
– OCF check consistency
● Shared
– OneIotA.org tool & repository
● Note:
– IoTivity works with private models too
● oic.r.switch.binary.json
– http://www.oneiota.org/revisions/1580
● /* … */ "definitions": {
  "oic.r.switch.binary": {
    "properties": {
      "value": {
        "type": "boolean",
        "description":
          "Status of the switch"
}  }  } /* … */
Samsung Open Source Group 14Samsung Open Source Group #OSIS2017
Hardware Support
● Desktop, Mobile...
● Single Board Computers: RaspberryPI, ARTIK modules...
– Full stack (CSDK, C++, C++ Services)
– IoTivity-node (Javascript bindings)
– OS: Tizen, Yocto, and most GNU/Linux distros
● Microcontollers:
– IoTivity-constrained: implementation of OCF protocol
– OS: Baremetal, Linux, Zephyr, TizenRT, RIOT (WIP)
– Note CSDK (1.2.1-) supported ATmega2560
Samsung Open Source Group 15Samsung Open Source Group #OSIS2017
Security matters
● Connectivity Abstraction layer establishes secure channel using DTLS
● Devices need to be provisioned (using onboarding tool):
– Establish ownership in user's network
● Secure Resource Manager (SRM)
– Secure Virtual resources
● Device provisioning, Credentials, Access control list, persistence
– Policy engine: Request filtering: Grant, deny resource requests
● Per policy, requester ID, ACL, device status...
– Is an OIC resource (“/oic/sec/cred”)
● Hardware hardening: use encryption and secure contexts, RNG, IO etc
Samsung Open Source Group 16
“Talk is cheap.
Show me the code.”
~ Linus Torvalds
17Samsung Open Source Group #OSIS2017
Getting started with IoTivity

IoTivity 1.2.1 is latest release
– Uses Scons build system with many options: Transport, Security, Log...
– Note: Upstream just enabled security on 1.3-rel

Prefer to use or rebuild packages to local build/install
– Use standard path (/usr/include …)

Major Operating system are supported
– Tizen provides RPM/spec for Tizen:3 profiles, with security enabled
– Yocto's meta-oic ships it with security disabled like upstream
– Debian, Ubuntu, deb packages are possible too
●
Details: https://wiki.iotivity.org/os , https://wiki.iotivity.org/build
Samsung Open Source Group
18Samsung Open Source Group #OSIS2017
IoTivity-example tutorial

OCF application developers might not develop in upstream source tree
– SCons build system is complex (even for sample apps)

A standalone project is better to get inspiration from or derivate (SDK?)
– Tend to be minimalist, can be used as base (fork it at will)

Download a collection of standalone subprojects:
– git clone http://git.s-osg.org/iotivity-example/ ; make

Each ”feature” subproject is a git module (pulling a branch based on other)
– Nice history to understand each steps
– For many OSes or build system (Currently, GNUmake, Linux, Tizen, More welcome)
Samsung Open Source Group
19Samsung Open Source Group #OSIS2017
Base example: Resource discovery

branch=example/master (src/example/master/README.md)
– Server register a “dummy” resource identified as “/ExampleResURI”
– Client discover and list all resources' endpoints served in local network
– GNUmake is used to build it
– Systemd service provided to start it once installed

branch=example/packaging is based on previous one
– Yocto Bitbake recipe
– Tizen RPM spec file
– Debian/Ubuntu packaging files too (more welcome)
Samsung Open Source Group
20Samsung Open Source Group #OSIS2017
IoTivity
Server
IoTivity
Client(s)
IP Network
Resource discovery example flow
class IoTServer {
int main() { init(); … }
OC::PlatformConfig mPlatformConfig;
void init() {
mPlatformConfig = OC::PlatformConfig
(OC::ServiceType::InProc,
OC::ModeType::Server, // different that C
"0.0.0.0", 0, // default for all subnets / ifaces
OC::QualityOfService::LowQos //or HighQos
);
OCPlatform::Configure(mPlatformConfig);
}
};
class IoTClient {
int main() { init(); … }
OC::PlatformConfig mPlatformConfig;
void init() {
mPlatformConfig = OC::PlatformConfig
(OC::ServiceType::InProc,
OC::ModeType::Client, // different than S
"0.0.0.0", 0, // on any random port available
OC::QualityOfService::LowQos // or HighQos
);
OCPlatform::Configure(mPlatformConfig);
}
};
21Samsung Open Source Group #OSIS2017
main {
IoTServer::init() { ModeType::Server }
IoTServer::createResource()
{ OCPlatform::registerResource(... uri …) }
// loop on OCProcess() is called internally
}
main {
IoTClient::init() { ModeType::Client }
IoTClient::start()
{ OCPlatform::findResource(onFindCallback) }
IoTClient::onFind(resource)
{ print(resource->uri) }
IoTivity
Server
IoTivity
Client(s)
IP Network
Resource discovery example flow
$ ./bin/server -v
(...)
log: { IoTServer::createResource(...)
log: Successfully created
org.example.r.example resource
log: } OCStackResult
(...)
$ ./bin/client -v
(...)
log: { void IoTClient::onFind(...)
log: Resource: uri: /oic/d
(...)
log: Resource: uri: /ExampleResURI
coap://[fe80::baca:3aff:fe9b:b934%25eth0]:47508
Samsung Open Source Group 22Samsung Open Source Group #OSIS2017
Binary switch example
● Actuator, client change value (on/off) of server's resource
● IoTivity-example's branch=switch/master
– Is based on “example/packaging” and adapted
● Usage:
./bin/client
menu:
0) Set value off
1) Set value on
(...)
1
./bin/server -v
log: { OCEntityHandlerResult
IoTServer::handleEntity(...)
log: { OCStackResult IoTServer::handlePost(...)
log: { void Platform::setValue(bool)
1
log: } void Platform::setValue(bool)
log: { void
IoTServer::postResourceRepresentation()
Samsung Open Source Group 23Samsung Open Source Group #OSIS2017
OCResource::post(rep, callback);
onPost(...)
Switch Example: Resource update
OCPlatform::Configure(...);
OCPlatform::registerResource( …);
handleEntity(OCResourceRequest) {
switch entityHandlerRequest->method {
case 'POST:
// update actuator resource (physically)
...
OCPlatform::sendResponse(response);
}}
OCPlatform::Configure(...);
OCPlatform::findResource(...);
onFind(... resource ...)
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
● Client controls actuator:
– Set resource's value
● Server is handling request
– and responding
Samsung Open Source Group 24Samsung Open Source Group #OSIS2017
Interaction with products
● Tizen is an Operating System based on FLOSS
● Shipped into consumer electronics products
● Tizen IoTivity
– Tizen:3 contains as platform package (.rpm)
– Tizen:2 can ship shared lib into native app (.tpk)
● For Samsung Z{1,2,3} (Tizen:2.4:Mobile)
● Samsung GearS{2,3} (Tizen:2.3.x:Wearable)
25Samsung Open Source Group #OSIS2017
Derivate to Tizen native app

iotivity-example branches for Tizen devices:
– Mobile (Z1) : switch/tizen/2.4/mobile/master
– Wearables (GearS2) : sandbox/pcoval/tizen/wearable/2.3.2/master

Need to rebuild IoTivity’s shared lib (to be bundled in tpk):
– Use helper script build rpm and unpack lib
– ./tizen.mk ; ls lib/*.so
– ./tizen.mk run # deploy on root device (ie TM1)

More details or ask for help:
– https://wiki.iotivity.org/tizen
Samsung Open Source Group
Samsung Open Source Group 26Samsung Open Source Group #OSIS2017
Want more ?
27Samsung Open Source Group #OSIS2017
Smart City’s Street lights use case

Various examples combined in demo using nodejs
– Branch “sandbox/pcoval/on/master/demo”
●
Defective Street lights notification service
– Sensor to read luminance
– Switch front light on if too dark
– Send message to ARTIK cloud
– Using geolocation client/server
Samsung Open Source Group
11
2
3
5
6
4
7
Samsung Open Source Group 28Samsung Open Source Group #OSIS2017
From devices to cloud AutoLinux demo
https://vimeo.com/202478132#iotivity-artik-20170204rzr
1
2
1
Samsung Open Source Group 29Samsung Open Source Group #OSIS2017
/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 30Samsung Open Source Group #OSIS2017
Forward data to a cloud backend
● Login your artik.io dashboard
– Select or (re)define “OCF” 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 on resource “update” event
– Using http REST (or CoAP, WebSocket...)
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 31Samsung Open Source Group #OSIS2017
Summary
● OCF establishes a standard for interconnecting things
– Resource model
– RESTful architecture
– Definitions must be shared to ensure interoperability
● Open Source project IoTivity
– implements it in C, C++, Java and Javascript
– Shipped into Tizen:3+ and available for many OS.
– Provide core and hi level services for management, security, cloud
Samsung Open Source Group 32Samsung Open Source Group #OSIS2017
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://www.meetup.com/OCF-France/
– https://wiki.iotivity.org/community
– https://wiki.tizen.org/wiki/Meeting
– https://blogs.s-osg.org/author/pcoval/
Samsung Open Source Group 33Samsung Open Source Group #OSIS2017
Thank you,
Merci, Trugarez,
맙습니다 , 谢谢
Gracias, Danke Schoen!
Resources: flaticons CC
Contact:
https://wiki.tizen.org/wiki/User:Pcoval

Más contenido relacionado

La actualidad más candente

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
 
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 BeyondSamsung 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
 
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
 
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
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
 
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
 

La actualidad más candente (19)

SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT Meets Security
IoT Meets SecurityIoT Meets Security
IoT Meets Security
 
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...
 
Development Boards for Tizen IoT
Development Boards for Tizen IoTDevelopment Boards for Tizen IoT
Development Boards for Tizen IoT
 
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
 
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
 
Toward "OCF Automotive" profile
Toward "OCF Automotive" profileToward "OCF Automotive" profile
Toward "OCF Automotive" profile
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
OIC AGL Collaboration
OIC AGL CollaborationOIC AGL Collaboration
OIC AGL Collaboration
 
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
 
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
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
IoTivity on Tizen: How to
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How to
 
Tizen Connected with IoTivity
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivity
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
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...
 

Similar a Framework for IoT Interoperability

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
 
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
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemCisco DevNet
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsKeiichiro Ono
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrPhil www.rzr.online.fr
 
SDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewSDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewChristian Esteve Rothenberg
 
Operate with an openstack deployment by code
Operate with an openstack deployment by codeOperate with an openstack deployment by code
Operate with an openstack deployment by codeAlessandro Martellone
 
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
 
Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Codemotion
 
Introduction to Openstack Network
Introduction to Openstack NetworkIntroduction to Openstack Network
Introduction to Openstack Networksalv_orlando
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackAbderrahmane TEKFI
 
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadków
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadkówPLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadków
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadkówPROIDEA
 
DDDP 2019 - Brown to Green
DDDP 2019  - Brown to GreenDDDP 2019  - Brown to Green
DDDP 2019 - Brown to GreenJohn Archer
 
Cloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENCloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENTonny Adhi Sabastian
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 

Similar a Framework for IoT Interoperability (20)

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...
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
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
 
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)
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis Tools
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
SDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive OverviewSDN :: Software Defined Networking –2017 Executive Overview
SDN :: Software Defined Networking –2017 Executive Overview
 
Operate with an openstack deployment by code
Operate with an openstack deployment by codeOperate with an openstack deployment by code
Operate with an openstack deployment by code
 
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 (...
 
Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...Microservices and containers networking: Contiv, an industry leading open sou...
Microservices and containers networking: Contiv, an industry leading open sou...
 
Introduction to Openstack Network
Introduction to Openstack NetworkIntroduction to Openstack Network
Introduction to Openstack Network
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStack
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadków
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadkówPLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadków
PLNOG19 - Gaweł Mikołajczyk & Michał Garcarz - SOC, studium ciężkich przypadków
 
DDDP 2019 - Brown to Green
DDDP 2019  - Brown to GreenDDDP 2019  - Brown to Green
DDDP 2019 - Brown to Green
 
Cloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENCloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idREN
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 

Más de Samsung Open Source Group

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 USBSamsung Open Source Group
 
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 StrategySamsung Open Source Group
 
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 ThingsSamsung Open Source Group
 
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 CollaborationSamsung Open Source Group
 
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
 

Más de Samsung Open Source Group (8)

Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 
Clang: More than just a C/C++ Compiler
Clang: More than just a C/C++ CompilerClang: More than just a C/C++ Compiler
Clang: More than just a C/C++ Compiler
 
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
 
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
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 

Último (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Framework for IoT Interoperability

  • 1. Samsung Open Source Group 1Samsung Open Source Group #OSIS2017 Framework for IoT interoperability Philippe Coval Samsung Open Source Group / SRUK philippe.coval@osg.samsung.com From sensors to Tizen devices and beyond ? Open Source Innovation Spring #OSIS2017, CNRS Paris, France <2017-07-11>
  • 2. Samsung Open Source Group 2Samsung Open Source Group #OSIS2017 /whois Philippe Coval ● Software engineer for Samsung Research – Belongs to Open Source Group (S-OSG) EU/UK team ● I am based in Rennes, France – Commits into IoTivity, Tizen, Yocto, Automotive OS (GENIVI, AGL)... – Ask me about FLOSS, OSHW, DIY, Communities ● Find me online – https://wiki.tizen.org/wiki/User:Pcoval
  • 3. Samsung Open Source Group 3Samsung Open Source Group #OSIS2017 Agenda ● What is Open Connectivity's IoTivity ? ● Demo and examples ?
  • 4. Samsung Open Source Group 4Samsung Open Source Group #OSIS2017 Internet of Things is: A complex equation ● Where all parameters are correlated : – Connectivity: not only Internet, probably IP, but not only ● Personal (<1m), Local (<10m - 10km), Metropolitan (<10km), Wide Area (<1000Km) – Security matters ! (during all expected life span) ● Several surfaces of attacks: service, monitoring, upgrade – Cost of materials and cost of usage: ● Computing capability (CPU or MCU?), consumption, if 24x7 ● Development, maintenance: FLOSS or Closed source ?
  • 5. Samsung Open Source Group 5Samsung Open Source Group #OSIS2017 ● Many Silos / Many implementations : – One app per device (better than many remote controls) – Dependence on centralized models (hub/cloud) ● Many concerns or issues: – Security/Privacy concerns? – Long term support and maintenance? – Do we want critical devices exposed to the Internet ? ● Few Interoperability/Interconnection of today's things. IoT: Internet of Today or Internet of Troubles ?
  • 6. Samsung Open Source Group 6 “Without trust there's no cooperation. And without cooperation there's no progress. History stops.” ~ Rick Yancey, The Last Star
  • 7. Samsung Open Source Group 7Samsung Open Source Group #OSIS2017 Open connectivity foundation's mission ● Provide software linking the Internet Of Things – Focus on interoperability and seamless connectivity between devices ● Write specification, Establish a protocol, – Rely on existing standards (CoAP, TLS), or OSS libs ● Sponsor Reference implementation: – OpenSource (Apache 2.0 license) ● Hosted by Linux Foundation (like kernel, Tizen etc) – Rule: No unimplemented features in specification ● Certify conformance to standard of products ● Above 300 members already joined, did you?
  • 8. Samsung Open Source Group 8Samsung Open Source Group #OSIS2017 Common technology for multiple profiles Architecture RESTful CRUD-N Communication CoAP, CBor +Security DTLS Semantics RAML Smart Home: Zigbee Blue Tooth Personal Devices Wearables: BLE Cloud: HTTP/ TCP Mobilty Automotive LTE* V2X* ...
  • 9. Samsung Open Source Group 9Samsung Open Source Group #OSIS2017 IoTivity Framework for connecting devices ● Core cross platform libraries – C API: resource layer + connectivity abstraction (IP, BT, BLE...) ● Link to libcoap, tinycbor (code footprint ~128KiB-) – C++ API: C++11 bindings to build extra services ● + High level services (Mostly C++) – Data/Device Management: Container, Hosting, Encapsulation, Scene – Simulator (Eclipse based), http proxy ● + Plugins: Transport, Cloud Interface, Bridging ● Related projects – IoTivity-Node: Javascript bindings – IoTivity-contrainted: For thin devices (micro-controllers)
  • 10. Samsung Open Source Group 10Samsung Open Source Group #OSIS2017 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/ GET UDP Multicast + CoAP Notify updated resource Observe resource change & Handling propertiesOBSERVE
  • 11. 11Samsung Open Source Group #OSIS2017 CES2017 Smart Home+Automotive https://youtu.be/3d0uZE6lHo#smarthome-ces2017 Automotive: SmartHome interaction and more – https://wiki.iotivity.org/automotive
  • 12. Samsung Open Source Group 12Samsung Open Source Group #OSIS2017 Resource Model /example/BinarySwitchResURI { “p” : Discoverable & Observable & Secured, “if” : ["oic.if.a","oic.if.baseline"], “rt” : [“oic.r.switch.binary”], “value” : true ... } URI: + common properties: Policy: & Interface: Resource Type: + attribute(s) ● Well knows resources URI (/oic/*): – “res” discovery, “p” for platform , “d”: device (role: C/S), “sec/*” : security
  • 13. Samsung Open Source Group 13Samsung Open Source Group #OSIS2017 Data models can be: ● Described – For RESTful operations (CRUD) – RAML+JSON Schemas ● Reviewed and validated – OCF check consistency ● Shared – OneIotA.org tool & repository ● Note: – IoTivity works with private models too ● oic.r.switch.binary.json – http://www.oneiota.org/revisions/1580 ● /* … */ "definitions": {   "oic.r.switch.binary": {     "properties": {       "value": {         "type": "boolean",         "description":           "Status of the switch" }  }  } /* … */
  • 14. Samsung Open Source Group 14Samsung Open Source Group #OSIS2017 Hardware Support ● Desktop, Mobile... ● Single Board Computers: RaspberryPI, ARTIK modules... – Full stack (CSDK, C++, C++ Services) – IoTivity-node (Javascript bindings) – OS: Tizen, Yocto, and most GNU/Linux distros ● Microcontollers: – IoTivity-constrained: implementation of OCF protocol – OS: Baremetal, Linux, Zephyr, TizenRT, RIOT (WIP) – Note CSDK (1.2.1-) supported ATmega2560
  • 15. Samsung Open Source Group 15Samsung Open Source Group #OSIS2017 Security matters ● Connectivity Abstraction layer establishes secure channel using DTLS ● Devices need to be provisioned (using onboarding tool): – Establish ownership in user's network ● Secure Resource Manager (SRM) – Secure Virtual resources ● Device provisioning, Credentials, Access control list, persistence – Policy engine: Request filtering: Grant, deny resource requests ● Per policy, requester ID, ACL, device status... – Is an OIC resource (“/oic/sec/cred”) ● Hardware hardening: use encryption and secure contexts, RNG, IO etc
  • 16. Samsung Open Source Group 16 “Talk is cheap. Show me the code.” ~ Linus Torvalds
  • 17. 17Samsung Open Source Group #OSIS2017 Getting started with IoTivity  IoTivity 1.2.1 is latest release – Uses Scons build system with many options: Transport, Security, Log... – Note: Upstream just enabled security on 1.3-rel  Prefer to use or rebuild packages to local build/install – Use standard path (/usr/include …)  Major Operating system are supported – Tizen provides RPM/spec for Tizen:3 profiles, with security enabled – Yocto's meta-oic ships it with security disabled like upstream – Debian, Ubuntu, deb packages are possible too ● Details: https://wiki.iotivity.org/os , https://wiki.iotivity.org/build Samsung Open Source Group
  • 18. 18Samsung Open Source Group #OSIS2017 IoTivity-example tutorial  OCF application developers might not develop in upstream source tree – SCons build system is complex (even for sample apps)  A standalone project is better to get inspiration from or derivate (SDK?) – Tend to be minimalist, can be used as base (fork it at will)  Download a collection of standalone subprojects: – git clone http://git.s-osg.org/iotivity-example/ ; make  Each ”feature” subproject is a git module (pulling a branch based on other) – Nice history to understand each steps – For many OSes or build system (Currently, GNUmake, Linux, Tizen, More welcome) Samsung Open Source Group
  • 19. 19Samsung Open Source Group #OSIS2017 Base example: Resource discovery  branch=example/master (src/example/master/README.md) – Server register a “dummy” resource identified as “/ExampleResURI” – Client discover and list all resources' endpoints served in local network – GNUmake is used to build it – Systemd service provided to start it once installed  branch=example/packaging is based on previous one – Yocto Bitbake recipe – Tizen RPM spec file – Debian/Ubuntu packaging files too (more welcome) Samsung Open Source Group
  • 20. 20Samsung Open Source Group #OSIS2017 IoTivity Server IoTivity Client(s) IP Network Resource discovery example flow class IoTServer { int main() { init(); … } OC::PlatformConfig mPlatformConfig; void init() { mPlatformConfig = OC::PlatformConfig (OC::ServiceType::InProc, OC::ModeType::Server, // different that C "0.0.0.0", 0, // default for all subnets / ifaces OC::QualityOfService::LowQos //or HighQos ); OCPlatform::Configure(mPlatformConfig); } }; class IoTClient { int main() { init(); … } OC::PlatformConfig mPlatformConfig; void init() { mPlatformConfig = OC::PlatformConfig (OC::ServiceType::InProc, OC::ModeType::Client, // different than S "0.0.0.0", 0, // on any random port available OC::QualityOfService::LowQos // or HighQos ); OCPlatform::Configure(mPlatformConfig); } };
  • 21. 21Samsung Open Source Group #OSIS2017 main { IoTServer::init() { ModeType::Server } IoTServer::createResource() { OCPlatform::registerResource(... uri …) } // loop on OCProcess() is called internally } main { IoTClient::init() { ModeType::Client } IoTClient::start() { OCPlatform::findResource(onFindCallback) } IoTClient::onFind(resource) { print(resource->uri) } IoTivity Server IoTivity Client(s) IP Network Resource discovery example flow $ ./bin/server -v (...) log: { IoTServer::createResource(...) log: Successfully created org.example.r.example resource log: } OCStackResult (...) $ ./bin/client -v (...) log: { void IoTClient::onFind(...) log: Resource: uri: /oic/d (...) log: Resource: uri: /ExampleResURI coap://[fe80::baca:3aff:fe9b:b934%25eth0]:47508
  • 22. Samsung Open Source Group 22Samsung Open Source Group #OSIS2017 Binary switch example ● Actuator, client change value (on/off) of server's resource ● IoTivity-example's branch=switch/master – Is based on “example/packaging” and adapted ● Usage: ./bin/client menu: 0) Set value off 1) Set value on (...) 1 ./bin/server -v log: { OCEntityHandlerResult IoTServer::handleEntity(...) log: { OCStackResult IoTServer::handlePost(...) log: { void Platform::setValue(bool) 1 log: } void Platform::setValue(bool) log: { void IoTServer::postResourceRepresentation()
  • 23. Samsung Open Source Group 23Samsung Open Source Group #OSIS2017 OCResource::post(rep, callback); onPost(...) Switch Example: Resource update OCPlatform::Configure(...); OCPlatform::registerResource( …); handleEntity(OCResourceRequest) { switch entityHandlerRequest->method { case 'POST: // update actuator resource (physically) ... OCPlatform::sendResponse(response); }} OCPlatform::Configure(...); OCPlatform::findResource(...); onFind(... resource ...) IoTivity Server IoTivity Client(s) IP NetworkIP Network ● Client controls actuator: – Set resource's value ● Server is handling request – and responding
  • 24. Samsung Open Source Group 24Samsung Open Source Group #OSIS2017 Interaction with products ● Tizen is an Operating System based on FLOSS ● Shipped into consumer electronics products ● Tizen IoTivity – Tizen:3 contains as platform package (.rpm) – Tizen:2 can ship shared lib into native app (.tpk) ● For Samsung Z{1,2,3} (Tizen:2.4:Mobile) ● Samsung GearS{2,3} (Tizen:2.3.x:Wearable)
  • 25. 25Samsung Open Source Group #OSIS2017 Derivate to Tizen native app  iotivity-example branches for Tizen devices: – Mobile (Z1) : switch/tizen/2.4/mobile/master – Wearables (GearS2) : sandbox/pcoval/tizen/wearable/2.3.2/master  Need to rebuild IoTivity’s shared lib (to be bundled in tpk): – Use helper script build rpm and unpack lib – ./tizen.mk ; ls lib/*.so – ./tizen.mk run # deploy on root device (ie TM1)  More details or ask for help: – https://wiki.iotivity.org/tizen Samsung Open Source Group
  • 26. Samsung Open Source Group 26Samsung Open Source Group #OSIS2017 Want more ?
  • 27. 27Samsung Open Source Group #OSIS2017 Smart City’s Street lights use case  Various examples combined in demo using nodejs – Branch “sandbox/pcoval/on/master/demo” ● Defective Street lights notification service – Sensor to read luminance – Switch front light on if too dark – Send message to ARTIK cloud – Using geolocation client/server Samsung Open Source Group 11 2 3 5 6 4 7
  • 28. Samsung Open Source Group 28Samsung Open Source Group #OSIS2017 From devices to cloud AutoLinux demo https://vimeo.com/202478132#iotivity-artik-20170204rzr 1 2 1
  • 29. Samsung Open Source Group 29Samsung Open Source Group #OSIS2017 /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
  • 30. Samsung Open Source Group 30Samsung Open Source Group #OSIS2017 Forward data to a cloud backend ● Login your artik.io dashboard – Select or (re)define “OCF” 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 on resource “update” event – Using http REST (or CoAP, WebSocket...) 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 }  } }
  • 31. Samsung Open Source Group 31Samsung Open Source Group #OSIS2017 Summary ● OCF establishes a standard for interconnecting things – Resource model – RESTful architecture – Definitions must be shared to ensure interoperability ● Open Source project IoTivity – implements it in C, C++, Java and Javascript – Shipped into Tizen:3+ and available for many OS. – Provide core and hi level services for management, security, cloud
  • 32. Samsung Open Source Group 32Samsung Open Source Group #OSIS2017 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://www.meetup.com/OCF-France/ – https://wiki.iotivity.org/community – https://wiki.tizen.org/wiki/Meeting – https://blogs.s-osg.org/author/pcoval/
  • 33. Samsung Open Source Group 33Samsung Open Source Group #OSIS2017 Thank you, Merci, Trugarez, 맙습니다 , 谢谢 Gracias, Danke Schoen! Resources: flaticons CC Contact: https://wiki.tizen.org/wiki/User:Pcoval