GENIVI + OCF Cooperation

Samsung Open Source Group
Samsung Open Source GroupOpen Source & Community Strategist
GENIVI+OCF Cooperation
May 11, 2017 | Connect your car to SmartHome & Wearables
Ziran Sun for Philippe Coval
Samsung Open Source Group / SRUK
ziran.sun@samsung.com
philippe.coval@osg.samsung.com
Samsung Open
Source Group
Agenda
2 | May 11, 2017 | Samsung Open Source Group
• IoT Vehicle demo
• Demo walk-through
o OCF and IoTivity
o GENIVI Development Platform (GDP)
o OCF Automotive
• Example codes and demos
• IoTivity cloud and services
• Q&A
Smart Home+Automotive IoT ShowCase
[CES 2017] Smart Home+Automotive IoT ShowCase
4 | May 11, 2017 | Samsung Open Source Group
https://www.youtube.com/watch?v=3d0uZE6lHv
o&feature=youtu.be#smarthome-ces2017
Who are playing parts?
• OCF and IoTivity: IoT SW platform
• Samsung/OSG: SmartHome, personal devices (Tizen)
• GENIVI: GDP (Yocto based OS), Automotive
• OCF Automotive: IoT & Automotive
• JRL, Intel, W3C…
5 | May 11, 2017 | Samsung Open Source Group
OCF and IoTivity
The Open Connectivity Foundation (OCF)
• An industry group with leading
companies at all levels to develop
standards and certification for IoT
devices.
• Focus on interoperability and
seamless connectivity between devices.
• Encourages users to collaboratively
develop data models for any IoT device
using online tool OneIoTA.
• Sponsor Open Source Implementation:
IoTivity (under Apache 2.0)
7 | May 11, 2017 | Samsung Open Source Group
OCF Membership Demographics by Geographic Region
8 | May 11, 2017 | Samsung Open Source Group
Interoperability in IoT
• OCF addresses Interoperability challenge in IoT
communications at all levels.
• Open specification that anyone can implement.
• “Brings Massive Scale to IoT Ecosystem” as quoted by press
Interoperability+ + =
Specification Implementation
OCF IoTivity
OCF Specification and Certification
• Specifications
Infrastructure including core framework, security and remote access etc.
Resource Model
Domain Specific Resource Specification
Bridging between OCF devices and other ecosystems
• Certifications
Conformance test - Each device proves conformance to specifications.
Interoperability test - Each device proves interoperability with other
devices.
9 | May 11, 2017 | Samsung Open Source Group
● Resource is identified by an URI
● Composed of properties
● Declared by a ResourceType
● Operations: CRUD+N
● Use existing known resource models
from oneIoTa.org repository or create
new ones
oic.r.sensor.illuminance.json
/* … */ "definitions": {
"oic.r.sensor.illuminance": {
"properties": {
"illuminance": {
"type": "number",
"readOnly": true,
"description":
"Sensed luminous flux in lux."
} } } /* … */
OCF Resources Data Models: oneIoTa
10 | May 11, 2017 | Samsung Open Source Group
IoTivity
• An open source communications framework for IoT, hosted by the
Linux Foundation, and sponsored by the OCF.
• Implementation follows OCF specification using Common
Protocols with RESTful architecture + Connectivity Abstraction +
high level services
• Rely on existing standards (CoAP, TLS), or OSS libs
• Rules: No unimplemented features in Specification
11 | May 11, 2017 | Samsung Open Source Group
IoTivity Architecture
Lite Device
Sensing/Control Application
Base Layer
Messaging
Discovery
Resource Introspection
CoAP
Multicast/Scan
Security
DTLS
SRM
Rich Device
API (C++/Java)
Base Layer
MessagingDiscovery Security
DTLS SRM
ProvisioningResource Introspection
Multicast Presence
CoAP
Messaging Remote
BWT
Service Layer
Device Management Low Power Management Data Management
Easy Setup
Group
Manager
Device conf. Resource
Hosting
Resource
Directory
Protocol
Bridge
Soft Sensor
Noti. Service
Resource Encapsulation Resource Container
Discovery (Multicast)/ Messaging (CoAP)
12 | May 11, 2017 | Samsung Open Source Group
Flow: Create, Read, Update, Delete, Notify
Local IP Network
IoTivity Server IoTivity Client(s)
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
13 | May 11, 2017 | Samsung Open Source Group
IoTivity and GENIVI Integration
IoTivity and GENIVI Integration
• Yocto is Linux Foundation project to create custom GNU/Linux system
o Open Embedded community provides many OSS sorted in layers (named meta-*):
o Collections of recipes(package) to build package:
o ie: meta-oic layer is shipping IoTivity library
• GDP is GENIVI's Yocto based distro to provide full Automotive OS (IVI...)
o Integrates meta-oic for iotivity (c/c++) and meta-iot-web for (for iotivity-node)
o And supporting Board Support Packages (intel, renesas, rasbperrypi, etc)
15 | May 11, 2017 | Samsung Open Source Group
Timeline
• 2014-12-31: meta-oic 0.9.1 Initiated by Kishen Maloor (Intel) , (with demo for edison)
• 2016-01-31: FOSDEM: Presented how to use meta-oic on Tizen Yocto (Tizen fan)
• 2016-04-27: GENIVI AMM : Presented demos (fan+map+wearables on 1.1.1), +RVI
• 2016-05-08: meta-oic 1.1.1 integrated in GENIVI
• 2016-05-27: AGLF2F meeting, “ocf-automotive” project introduced
• 2016-09-14: meta-oic 1.1.1 Philippe Coval (Samsung) new contributor
• 2016-09-21: meta-oic 1.1.1 integrated in AGL
• 2016-12-20: meta-oic 1.2.0 integrated in GENIVI and AGL
• 2017-01-05: CES2017, GENIVI+Smarthome+Wearables demos
• 2017-02-04: FOSDEM: Presented “streetlight+cloud” use case on AGL 3.0
• 2017-02-15: GENIVI announced partnership with Open Connectivity Foundation
• 2017-03-20: meta-oic 1.2.1+ : Samsung OSG keeps maintaining it
16 | May 11, 2017 | Samsung Open Source Group
OCF Automotive
OCF Automotive profile's mission
● Provide OCF technology for connected cars, by proposing
o A common definition of vehicle resources
o A common way to interact with those (inside or outside vehicle)
o Based on or bridging to existing standards
● Cooperative effort with existing FLOSS Automotive projects:
Tizen, GENIVI, AGL, W3C, RVI ...
18 | May 11, 2017 | Samsung Open Source Group
What is “meta-ocf-automotive”
● Playground for OCF and Automotive R&D experiments
o connecting Automotive platforms such as GENIVI, AGL, Tizen etc
o on various hardware: SBC (Raspberry Pi {0,1,2,3}, ARTIK10…)
o to other products: SmartHome, Mobile, Wearable
● “Real world” integration/validation tests
o for spotting issues before release (on different OS: Yocto, Tizen etc)
● Tutorial of demo codes to learn IoTivity, Yocto, Tizen
● Entry point: https://wiki.iotivity.org/automotive
19 | May 11, 2017 | Samsung Open Source Group
Interaction with products
● Tizen is an Operating System based on FLOSS
● Shipped into consumer electronics products
● Tizen and IoTivity
 Tizen:3 contains as platform package (.rpm)
 Tizen:2 can ship shared lib into native app (.tpk)
o For Samsung Z{1,2,3} (Tizen:2.4:Mobile)
o Samsung GearS2, S3 (Tizen:2.3.2:Wearable)
20 | May 11, 2017 | Samsung Open Source Group
Example codes and demos
Check using samples apps
• Various examples are shipped from upstream:
– ls /opt/iotivity*
• Playback smart light example scenario on loopback
• Open 2 sessions (hint: use GNU screen)
– Server: cd /opt/iotivity/examples/resource/cpp/ && ./simpleserver
– Client: cd /opt/iotivity/examples/resource/cpp/ && ./simpleclient
• More
– https://wiki.iotivity.org/yocto
– https://wiki.iotivity.org/examples
22 | May 11, 2017 | Samsung Open Source Group
Base example: Resource discovery
• branch=example/master (src/example/master/README.md)
o Server register a “dummy” resource under “/ExampleResURI” endpoint
o Client discover and list all resources' endpoints served in local network
o GNUmake is used to build it
o Systemd service provided to start it once installed
• branch=example/packaging is based on previous one
o Yocto Bitbake recipe
o Tizen RPM spec file
o Debian/Ubuntu packaging files too (more welcome)
24 | May 11, 2017 | Samsung Open Source Group
Geolocation example: Observation
• Branch “geolocation/master” is based on “example/packaging” and adapted:
o “/GeolocationResURI” endpoint
o Uses OCF/OneIotA normalised resource type: oic.r.geolocation
o Fake GPS that update position continuously (back and forth)
• ./bin/server: is updating “fake” position and notifying it
o m_Representation.setValue(); OCPlatform::notifyAllObservers(…);
• ./bin/observer: observe changes (IoTObserver::onObserve)
o geolocation: 48.1043, -1.6715
• ./bin/client : get value using GET (m_OCResource->get)
25 | May 11, 2017 | Samsung Open Source Group
Derivate to Tizen app
• “geolocation/tizen/mobile/2.4/master”
• Port to tizen native app: support SDK build files, app manifest files
o + GUI using EFL's Elementary map widget (inspired from SDK sample)
• Need to rebuild IoTivity’s shared lib (to be bundled in tpk):
o Use helper script build rpm and unpack lib
o ./tizen.mk ; ls lib/*.so
o ./tizen.mk run # deploy on root device (ie TM1)
• More details: https://wiki.iotivity.org/tizen
26 | May 11, 2017 | Samsung Open Source Group
Switch Example
 “switch/master” subproject
o Shows actuator update using POST
 Port to Tizen devices
o Add ELM GUI, Tizen SDK build files, tizen-helper script (that rely on CLI SDK)
o To deploy on commercialized device use tizen-studio IDE SDK (+ cert eclipse plugin)
o Tizen Z, TM1: Branch “sandbox/pcoval/tizen/mobile/2.4/latest”
o GearS2 branch “sandbox/pcoval/tizen/wearable-2.3.1” (is based on previous one)
o GearS3 branch “sandbox/pcoval/tizen/wearable-2.3.2” (is based on previous one)
27 | May 11, 2017 | Samsung Open Source Group
OCResource::post(rep, callback);
onPost(...)
Switch Example: Resource update
OCPlatform::Configure(...);
OCPlatform::registerResource( …);
handleEntity(OCResourceRequest) {
switch entityHandlerRequest->method {
case 'POST: // Update resource
// update actuator resource (physically)
...
OCPlatform::sendRespone(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
28 | May 11, 2017 | Samsung Open Source Group
Want more ?
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; });
} };
3
30 | May 11, 2017 | Samsung Open Source Group
FOSDEM2017: Devices to cloud
31 | May 11, 2017 | Samsung Open Source Group
https://youtu.be/3L6_DbMLJ1k#iotivity-
artik-20170204rzr
IoTivity Cloud and Services
IoTivity Clouds
● Cloud Interface
● Authentication
– OAuth2
● Message Queue
– Publish
– Subscribe
● Directory (RD)
33 | May 11, 2017 | Samsung Open Source Group
IoTivity Services
● A common set of functionalities to application development.
o Resource Container
o Notification
o Resource Encapsulation
o Scene Manager
o Easy setup
34 | May 11, 2017 | Samsung Open Source Group
Summary
• OCF targets Interoperability challenge in IoT by specifications and
certifications
• Open Source project IoTivity implements OCF specification
• meta-oic is the key for integrating IoTivity and it has currently been
maintained by Samsung OSG
• OCF-automotive project has provided “meta-ocf-automotive” to
encourage further R&D work in automotive domain
• IoTivity native cloud extends connectivity to global
• IoTivity Service make application development easier
35 | May 11, 2017 | Samsung Open Source Group
References
Entry points:
ohttps://openconnectivity.org/industries/automotive
ohttps://wiki.iotivity.org/automotive
ohttp://elinux.org/Category:Automotive
ohttps://wiki.tizen.org/wiki/Domains/Automotive
Contributions
ohttp://git.yoctoproject.org/cgit/cgit.cgi/meta-oic/log/?qt=author&q=coval
ohttps://github.com/GENIVI/genivi-dev-platform/pull/54
ohttps://news.samsung.com/global/samsung-contributes-to-open-iot-showcase-at-ces-2017
https://openconnectivity.org/press-releases/genivi-alliance-open-connectivity-foundation-collaborate-open-standards-
vehicle-connectivity
36 | May 11, 2017 | Samsung Open Source Group
Thank you!
1 of 36

Recommended

IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux by
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
28.5K views47 slides
IoTivity: From Devices to the Cloud by
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudSamsung Open Source Group
18.3K views28 slides
IoTivity: Smart Home to Automotive and Beyond by
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondSamsung Open Source Group
2.7K views21 slides
webthing-floss-iot-20180607rzr by
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrPhil www.rzr.online.fr
350 views23 slides
Toward "OCF Automotive" profile by
Toward "OCF Automotive" profileToward "OCF Automotive" profile
Toward "OCF Automotive" profileSamsung Open Source Group
27.9K views19 slides
IoTivity for Automotive IoT Interoperability by
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
16.3K views20 slides

More Related Content

What's hot

Framework for IoT Interoperability by
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT InteroperabilitySamsung Open Source Group
8.7K views33 slides
Easy IoT with JavaScript by
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScriptSamsung Open Source Group
11.2K views20 slides
IoTivity on Tizen: How to by
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How toSamsung Open Source Group
10.2K views41 slides
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux by
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
20.1K views39 slides
Tizen Connected with IoTivity by
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivitySamsung Open Source Group
18.2K views20 slides
IoT Meets Security by
IoT Meets SecurityIoT Meets Security
IoT Meets SecuritySamsung Open Source Group
3.7K views32 slides

What's hot(19)

Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux by Samsung Open Source Group
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
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro... by Samsung 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...
Open Source Internet of Things 101 – EclipseCon 2016 by Benjamin Cabé
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
Benjamin Cabé549 views
Devoxx 2015 - Building the Internet of Things with Eclipse IoT by Benjamin Cabé
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
Benjamin Cabé3.3K views
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity by Samsung Open Source Group
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

Similar to GENIVI + OCF Cooperation

Connected TIZEN by
Connected TIZENConnected TIZEN
Connected TIZENPôle Systematic Paris-Region
545 views20 slides
20170720 fiware lab_at_open_stack_days_tokyo by
20170720 fiware lab_at_open_stack_days_tokyo20170720 fiware lab_at_open_stack_days_tokyo
20170720 fiware lab_at_open_stack_days_tokyostefano de panfilis
35 views24 slides
CNCF Introduction - Feb 2018 by
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
1.3K views25 slides
VMUG22 Filip Verloy VIO by
VMUG22 Filip Verloy VIOVMUG22 Filip Verloy VIO
VMUG22 Filip Verloy VIOFilip Verloy
753 views50 slides
OSGi on Google Android using Apache Felix by
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixMarcel Offermans
3.4K views40 slides
Mobile, Open Source, & the Drive to the Cloud by
Mobile, Open Source, & the Drive to the CloudMobile, Open Source, & the Drive to the Cloud
Mobile, Open Source, & the Drive to the CloudDev_Events
367 views37 slides

Similar to GENIVI + OCF Cooperation(20)

CNCF Introduction - Feb 2018 by Krishna-Kumar
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
Krishna-Kumar 1.3K views
VMUG22 Filip Verloy VIO by Filip Verloy
VMUG22 Filip Verloy VIOVMUG22 Filip Verloy VIO
VMUG22 Filip Verloy VIO
Filip Verloy753 views
OSGi on Google Android using Apache Felix by Marcel Offermans
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
Marcel Offermans3.4K views
Mobile, Open Source, & the Drive to the Cloud by Dev_Events
Mobile, Open Source, & the Drive to the CloudMobile, Open Source, & the Drive to the Cloud
Mobile, Open Source, & the Drive to the Cloud
Dev_Events367 views
Mobile, Open Source, and the Drive to the Cloud by Dev_Events
Mobile, Open Source, and the Drive to the CloudMobile, Open Source, and the Drive to the Cloud
Mobile, Open Source, and the Drive to the Cloud
Dev_Events223 views
Appcelerator Titanium - An Introduction to the Titanium Ecosystem by Boydlee Pollentine
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Boydlee Pollentine2.6K views
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem by Cisco DevNet
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
Cisco DevNet1.8K views
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017 by Marc Dutoo
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Marc Dutoo200 views
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile by OCCIware
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware72 views
OSGi DevCon 2009 Review by njbartlett
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
njbartlett814 views
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris by OW2
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
OW293 views
Introduction to Open Source GIS by SANGHEE SHIN
Introduction to Open Source GISIntroduction to Open Source GIS
Introduction to Open Source GIS
SANGHEE SHIN6.4K views
Cloud Computing Needs for Earth Observation Data Analysis: EGI and EOSC-hub by Björn Backeberg
Cloud Computing Needs for Earth Observation Data Analysis: EGI and EOSC-hubCloud Computing Needs for Earth Observation Data Analysis: EGI and EOSC-hub
Cloud Computing Needs for Earth Observation Data Analysis: EGI and EOSC-hub
Björn Backeberg354 views
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme... by Stephan Eberle
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Stephan Eberle1K views
DevOps by examples - Continuous Lifecycle London 2017 by Giulio Vian
DevOps by examples - Continuous Lifecycle London 2017DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017
Giulio Vian582 views
Android dev o_auth by lzongren
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren627 views
Google Developer Group(GDG) DevFest Event 2012 Android talk by Imam Raza
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza1.4K views

More from Samsung Open Source Group

Spawny: A New Approach to Logins by
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to LoginsSamsung Open Source Group
472 views10 slides
Rapid SPi Device Driver Development over USB by
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBSamsung Open Source Group
1K views18 slides
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices by
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 DevicesSamsung Open Source Group
10.6K views33 slides
Open Source Metrics to Inform Corporate Strategy by
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategySamsung Open Source Group
7.1K views47 slides
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin... by
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
13.9K views17 slides
SOSCON 2016 JerryScript by
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSamsung Open Source Group
24.1K views34 slides

More from Samsung Open Source Group(12)

JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin... by Samsung Open Source Group
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 Things by Samsung Open Source Group
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
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices by Samsung Open Source Group
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

Recently uploaded

20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...sparkfabrik
8 views46 slides
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...TomHalpin9
6 views29 slides
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation by
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationHCLSoftware
6 views8 slides
Quality Engineer: A Day in the Life by
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the LifeJohn Valentino
7 views18 slides
Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
5 views7 slides
Using Qt under LGPL-3.0 by
Using Qt under LGPL-3.0Using Qt under LGPL-3.0
Using Qt under LGPL-3.0Burkhard Stubert
13 views11 slides

Recently uploaded(20)

20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation by HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 views
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino7 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta7 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino6 views
Top-5-production-devconMunich-2023-v2.pptx by Tier1 app
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app6 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app9 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert26 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi215 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app7 views

GENIVI + OCF Cooperation

  • 1. GENIVI+OCF Cooperation May 11, 2017 | Connect your car to SmartHome & Wearables Ziran Sun for Philippe Coval Samsung Open Source Group / SRUK ziran.sun@samsung.com philippe.coval@osg.samsung.com Samsung Open Source Group
  • 2. Agenda 2 | May 11, 2017 | Samsung Open Source Group • IoT Vehicle demo • Demo walk-through o OCF and IoTivity o GENIVI Development Platform (GDP) o OCF Automotive • Example codes and demos • IoTivity cloud and services • Q&A
  • 4. [CES 2017] Smart Home+Automotive IoT ShowCase 4 | May 11, 2017 | Samsung Open Source Group https://www.youtube.com/watch?v=3d0uZE6lHv o&feature=youtu.be#smarthome-ces2017
  • 5. Who are playing parts? • OCF and IoTivity: IoT SW platform • Samsung/OSG: SmartHome, personal devices (Tizen) • GENIVI: GDP (Yocto based OS), Automotive • OCF Automotive: IoT & Automotive • JRL, Intel, W3C… 5 | May 11, 2017 | Samsung Open Source Group
  • 7. The Open Connectivity Foundation (OCF) • An industry group with leading companies at all levels to develop standards and certification for IoT devices. • Focus on interoperability and seamless connectivity between devices. • Encourages users to collaboratively develop data models for any IoT device using online tool OneIoTA. • Sponsor Open Source Implementation: IoTivity (under Apache 2.0) 7 | May 11, 2017 | Samsung Open Source Group OCF Membership Demographics by Geographic Region
  • 8. 8 | May 11, 2017 | Samsung Open Source Group Interoperability in IoT • OCF addresses Interoperability challenge in IoT communications at all levels. • Open specification that anyone can implement. • “Brings Massive Scale to IoT Ecosystem” as quoted by press Interoperability+ + = Specification Implementation OCF IoTivity
  • 9. OCF Specification and Certification • Specifications Infrastructure including core framework, security and remote access etc. Resource Model Domain Specific Resource Specification Bridging between OCF devices and other ecosystems • Certifications Conformance test - Each device proves conformance to specifications. Interoperability test - Each device proves interoperability with other devices. 9 | May 11, 2017 | Samsung Open Source Group
  • 10. ● Resource is identified by an URI ● Composed of properties ● Declared by a ResourceType ● Operations: CRUD+N ● Use existing known resource models from oneIoTa.org repository or create new ones oic.r.sensor.illuminance.json /* … */ "definitions": { "oic.r.sensor.illuminance": { "properties": { "illuminance": { "type": "number", "readOnly": true, "description": "Sensed luminous flux in lux." } } } /* … */ OCF Resources Data Models: oneIoTa 10 | May 11, 2017 | Samsung Open Source Group
  • 11. IoTivity • An open source communications framework for IoT, hosted by the Linux Foundation, and sponsored by the OCF. • Implementation follows OCF specification using Common Protocols with RESTful architecture + Connectivity Abstraction + high level services • Rely on existing standards (CoAP, TLS), or OSS libs • Rules: No unimplemented features in Specification 11 | May 11, 2017 | Samsung Open Source Group
  • 12. IoTivity Architecture Lite Device Sensing/Control Application Base Layer Messaging Discovery Resource Introspection CoAP Multicast/Scan Security DTLS SRM Rich Device API (C++/Java) Base Layer MessagingDiscovery Security DTLS SRM ProvisioningResource Introspection Multicast Presence CoAP Messaging Remote BWT Service Layer Device Management Low Power Management Data Management Easy Setup Group Manager Device conf. Resource Hosting Resource Directory Protocol Bridge Soft Sensor Noti. Service Resource Encapsulation Resource Container Discovery (Multicast)/ Messaging (CoAP) 12 | May 11, 2017 | Samsung Open Source Group
  • 13. Flow: Create, Read, Update, Delete, Notify Local IP Network IoTivity Server IoTivity Client(s) 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 13 | May 11, 2017 | Samsung Open Source Group
  • 14. IoTivity and GENIVI Integration
  • 15. IoTivity and GENIVI Integration • Yocto is Linux Foundation project to create custom GNU/Linux system o Open Embedded community provides many OSS sorted in layers (named meta-*): o Collections of recipes(package) to build package: o ie: meta-oic layer is shipping IoTivity library • GDP is GENIVI's Yocto based distro to provide full Automotive OS (IVI...) o Integrates meta-oic for iotivity (c/c++) and meta-iot-web for (for iotivity-node) o And supporting Board Support Packages (intel, renesas, rasbperrypi, etc) 15 | May 11, 2017 | Samsung Open Source Group
  • 16. Timeline • 2014-12-31: meta-oic 0.9.1 Initiated by Kishen Maloor (Intel) , (with demo for edison) • 2016-01-31: FOSDEM: Presented how to use meta-oic on Tizen Yocto (Tizen fan) • 2016-04-27: GENIVI AMM : Presented demos (fan+map+wearables on 1.1.1), +RVI • 2016-05-08: meta-oic 1.1.1 integrated in GENIVI • 2016-05-27: AGLF2F meeting, “ocf-automotive” project introduced • 2016-09-14: meta-oic 1.1.1 Philippe Coval (Samsung) new contributor • 2016-09-21: meta-oic 1.1.1 integrated in AGL • 2016-12-20: meta-oic 1.2.0 integrated in GENIVI and AGL • 2017-01-05: CES2017, GENIVI+Smarthome+Wearables demos • 2017-02-04: FOSDEM: Presented “streetlight+cloud” use case on AGL 3.0 • 2017-02-15: GENIVI announced partnership with Open Connectivity Foundation • 2017-03-20: meta-oic 1.2.1+ : Samsung OSG keeps maintaining it 16 | May 11, 2017 | Samsung Open Source Group
  • 18. OCF Automotive profile's mission ● Provide OCF technology for connected cars, by proposing o A common definition of vehicle resources o A common way to interact with those (inside or outside vehicle) o Based on or bridging to existing standards ● Cooperative effort with existing FLOSS Automotive projects: Tizen, GENIVI, AGL, W3C, RVI ... 18 | May 11, 2017 | Samsung Open Source Group
  • 19. What is “meta-ocf-automotive” ● Playground for OCF and Automotive R&D experiments o connecting Automotive platforms such as GENIVI, AGL, Tizen etc o on various hardware: SBC (Raspberry Pi {0,1,2,3}, ARTIK10…) o to other products: SmartHome, Mobile, Wearable ● “Real world” integration/validation tests o for spotting issues before release (on different OS: Yocto, Tizen etc) ● Tutorial of demo codes to learn IoTivity, Yocto, Tizen ● Entry point: https://wiki.iotivity.org/automotive 19 | May 11, 2017 | Samsung Open Source Group
  • 20. Interaction with products ● Tizen is an Operating System based on FLOSS ● Shipped into consumer electronics products ● Tizen and IoTivity  Tizen:3 contains as platform package (.rpm)  Tizen:2 can ship shared lib into native app (.tpk) o For Samsung Z{1,2,3} (Tizen:2.4:Mobile) o Samsung GearS2, S3 (Tizen:2.3.2:Wearable) 20 | May 11, 2017 | Samsung Open Source Group
  • 22. Check using samples apps • Various examples are shipped from upstream: – ls /opt/iotivity* • Playback smart light example scenario on loopback • Open 2 sessions (hint: use GNU screen) – Server: cd /opt/iotivity/examples/resource/cpp/ && ./simpleserver – Client: cd /opt/iotivity/examples/resource/cpp/ && ./simpleclient • More – https://wiki.iotivity.org/yocto – https://wiki.iotivity.org/examples 22 | May 11, 2017 | Samsung Open Source Group
  • 23. Base example: Resource discovery • branch=example/master (src/example/master/README.md) o Server register a “dummy” resource under “/ExampleResURI” endpoint o Client discover and list all resources' endpoints served in local network o GNUmake is used to build it o Systemd service provided to start it once installed • branch=example/packaging is based on previous one o Yocto Bitbake recipe o Tizen RPM spec file o Debian/Ubuntu packaging files too (more welcome) 24 | May 11, 2017 | Samsung Open Source Group
  • 24. Geolocation example: Observation • Branch “geolocation/master” is based on “example/packaging” and adapted: o “/GeolocationResURI” endpoint o Uses OCF/OneIotA normalised resource type: oic.r.geolocation o Fake GPS that update position continuously (back and forth) • ./bin/server: is updating “fake” position and notifying it o m_Representation.setValue(); OCPlatform::notifyAllObservers(…); • ./bin/observer: observe changes (IoTObserver::onObserve) o geolocation: 48.1043, -1.6715 • ./bin/client : get value using GET (m_OCResource->get) 25 | May 11, 2017 | Samsung Open Source Group
  • 25. Derivate to Tizen app • “geolocation/tizen/mobile/2.4/master” • Port to tizen native app: support SDK build files, app manifest files o + GUI using EFL's Elementary map widget (inspired from SDK sample) • Need to rebuild IoTivity’s shared lib (to be bundled in tpk): o Use helper script build rpm and unpack lib o ./tizen.mk ; ls lib/*.so o ./tizen.mk run # deploy on root device (ie TM1) • More details: https://wiki.iotivity.org/tizen 26 | May 11, 2017 | Samsung Open Source Group
  • 26. Switch Example  “switch/master” subproject o Shows actuator update using POST  Port to Tizen devices o Add ELM GUI, Tizen SDK build files, tizen-helper script (that rely on CLI SDK) o To deploy on commercialized device use tizen-studio IDE SDK (+ cert eclipse plugin) o Tizen Z, TM1: Branch “sandbox/pcoval/tizen/mobile/2.4/latest” o GearS2 branch “sandbox/pcoval/tizen/wearable-2.3.1” (is based on previous one) o GearS3 branch “sandbox/pcoval/tizen/wearable-2.3.2” (is based on previous one) 27 | May 11, 2017 | Samsung Open Source Group
  • 27. OCResource::post(rep, callback); onPost(...) Switch Example: Resource update OCPlatform::Configure(...); OCPlatform::registerResource( …); handleEntity(OCResourceRequest) { switch entityHandlerRequest->method { case 'POST: // Update resource // update actuator resource (physically) ... OCPlatform::sendRespone(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 28 | May 11, 2017 | Samsung Open Source Group
  • 29. 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; }); } }; 3 30 | May 11, 2017 | Samsung Open Source Group
  • 30. FOSDEM2017: Devices to cloud 31 | May 11, 2017 | Samsung Open Source Group https://youtu.be/3L6_DbMLJ1k#iotivity- artik-20170204rzr
  • 31. IoTivity Cloud and Services
  • 32. IoTivity Clouds ● Cloud Interface ● Authentication – OAuth2 ● Message Queue – Publish – Subscribe ● Directory (RD) 33 | May 11, 2017 | Samsung Open Source Group
  • 33. IoTivity Services ● A common set of functionalities to application development. o Resource Container o Notification o Resource Encapsulation o Scene Manager o Easy setup 34 | May 11, 2017 | Samsung Open Source Group
  • 34. Summary • OCF targets Interoperability challenge in IoT by specifications and certifications • Open Source project IoTivity implements OCF specification • meta-oic is the key for integrating IoTivity and it has currently been maintained by Samsung OSG • OCF-automotive project has provided “meta-ocf-automotive” to encourage further R&D work in automotive domain • IoTivity native cloud extends connectivity to global • IoTivity Service make application development easier 35 | May 11, 2017 | Samsung Open Source Group