SlideShare a Scribd company logo
1 of 47
Download to read offline
Samsung Open Source Group 1 #LFALS
For Automotive
Philippe Coval
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
meta-ocf-automotive tutorial
Automotive Linux Summit
#LFALS, Tokyo, Japan <2017-05-31>
Samsung Open Source Group 2 #LFALS
こんにちは from Philippe Coval
● Software engineer for Samsung Research
– Open Source Group, EU team (@UK + DE + FR + CZ...)
● Commit into IoTivity, Tizen
– Plus automotive related projects: Yocto, GENIVI, AGL
● Interest: Usages, OS/hardware support, build, community
● Ask me online for help:
– https://wiki.tizen.org/wiki/User:Pcoval
Samsung Open Source Group 3 #LFALS
Agenda
● IoT interoperability
– Open Connectivity Foundation + IoTivity
● OCF Automotive working group
– Demos
● Learning IoTivity by examples
● Convergence of automotive data models
?
Samsung Open Source Group 4
“Without trust there's no cooperation.
And without cooperation
there's no progress.
History stops.”
~ Rick Yancey, The Last Star
Samsung Open Source Group 5 #LFALS
Motivations for Interoperability in IoT
● To break silos between:
– Personal devices: Mobile, Wearable...
– Shared devices: SmartHome, Cars (IVI, many OS)
– Infrastructure: Buildings, Cities (traffic, pedestrians...)
– Online services and probably more to come...
● A common open standard is welcome !
– To provide abstracted features:
● Connectivity, Security, Portability, Modularity
● Protocol, Opensource stack, Community
Samsung Open Source Group 6 #LFALS
Open connectivity foundation's missions
● Provide software linking the Internet Of Things
– Focus on interoperability and seamless connectivity between devices
● Write specification, establish a protocol (formerly named OIC)
– Rely on existing standards (IETF: CoAP, Cbor..)
● Sponsor Reference implementation:
– OpenSource (Apache 2.0 license) use existing FLOSS libs
● Hosted by Linux Foundation (like kernel, Tizen etc)
– Rule: No unimplemented features in specification
● Certify products for over 300 members (join us!)
Samsung Open Source Group 7 #LFALS
Common technology for multiple profiles
Architecture
RESTful
CRUD-N
Communication
IETF
(CoAP, Cbor)
+Security
DTLS
Semantics
RAML
Smart
Home:
Zigbee
Blue
Tooth
Personal
Devices
Wearables:
BLE
Cloud: HTTP/ TCP
Mobilty
Automotive
OBD-II*
CAN*
LIN*
MOST*
LTE*
802.11p*
5G*
...
Samsung Open Source Group 8 #LFALS
IoTivity Framework for connecting devices
● Core cross platform libraries
– C API: resource layer + connectivity abstraction (IP, BT, BLE...)
● Link to libcoap, tinycbor (code footprint ~128-KiB), + mbedtls
– 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 9
Security matters for IoT
● Link layer provides secure channel (using DTLS) to connectivity abstraction (CA)
● Devices need to be owned (once or xfer) and provisioned using onboarding tool:
– Establish ownership in user's network
● Secure Resource Manager (SRM):
– Secure platform's 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
● Details: https://www.slideshare.net/SamsungOSG/iot-meets-security
Samsung Open Source Group 10
“Any sufficiently
advanced technology
is indistinguishable
from magic.”
~ Arthur C. Clarke
Samsung Open Source Group 11Samsung Open Source Group
OCF Automotive profile's mission
● Provide OCF technology for connected cars, by proposing
– A common definition of vehicle resources
– A common way to interact with those (inside or outside vehicle)
– Based on or bridging to existing standards
● Cooperative effort of existing FLOSS Automotive projects
– Tizen, GENIVI, AGL, W3C, RVI ...
12 #LFALS
SmartHome to Automotive #CES2017
https://youtu.be/3d0uZE6lHvo
SmartHome to Automotive (#CES2017)
https://youtu.be/3d0uZE6lHvo
Samsung Open Source Group 13
“The secret of getting ahead
is getting started.”
~ Mark Twain
Samsung Open Source Group 14Samsung Open Source Group
Supported Automotive OS
● Download OS image shipping IoTivity: Tizen, GDP, AGL?
– Or install package from repository (RPM)
● Use “meta-oic” layer on OE/Yocto based distributions:
– GENIVI (Specification first): integrated
– AGL/Automotive Grade Linux (Code first): optional
– Tizen Yocto project to build Common + IVI
● Rebuild package from sources for most GNU/Linux systems
– https://wiki.iotivity.org/build
15 #LFALS
Build Yocto's Poky with IoTivity
●
Adding “meta-oic” layer to poky reference distribution
git clone http://git.yoctoproject.org/git/poky
cd poky && source ./oe-init-build-env
git clone http://git.yoctoproject.org/git/meta-oic
●
Append to environment files previously generated:
– “poky/conf/bblayers.conf” (Layer path file)
RELATIVE_DIR := 
"${@os.path.abspath(os.path.dirname(d.getVar('FILE', True))+'/../..')}"
BBLAYERS += "${RELATIVE_DIR}/meta-oic"
– “poky/conf/local.conf” (Project configuration file)
CORE_IMAGE_EXTRA_INSTALL += " packagegroup-iotivity "
●
Rebuild poky image using: bitbake core-image-minimal
Samsung Open Source Group
16 #LFALS
Check using samples apps
● Shared libs plus various validation examples are shipped :
– find /opt/iotivity*
● Ie: playback smart light example scenario on loopback
– Open 2 sessions (hint: use GNU screen) for client and server:
cd /opt/iotivity/examples/resource/cpp/ && ./simpleserver
cd /opt/iotivity/examples/resource/cpp/ && ./simpleclient
● More: https://wiki.iotivity.org/examples
Samsung Open Source Group 17 #LFALS
Build AGL with IoTivity
● Use repo tool to pull sublayers (including meta-ioc):
repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
repo sync
● Use custom configuration script to select features (agl-full, agl-iotivity...):
MACHINE=qemux86-64
source ./meta-agl/scripts/aglsetup.sh -m $MACHINE 
agl-all-features agl-iotivity
● Use regular yocto tools:
bitbake iotivity agl-demo-platform
ROOTFS=$PWD/tmp/deploy/images/$MACHINE/agl-demo-platform-$MACHINE.ext4 
runqemu $MACHINE; ssh ; find /opt/iotivity* # as part of OS
Samsung Open Source Group 18 #LFALS
Build GENIVI with IoTivity
● Download distribution sources using git:
git clone https://github.com/GENIVI/genivi-dev-platform
● Setup using GDP custom configuration script
MACHINE=qemux86-64 # or minnowboard, raspberrypi2 etc
source ./init.sh ${MACHINE}
● Use regular yocto tools:
bitbake iotivity genivi-dev-platform
ROOTFS=$PWD/tmp/deploy/images/${MACHINE}/*-${MACHINE}.ext4 
runqemu ${MACHINE} ; ssh root@${target_ip} # Or use xvncviewer
find /opt/iotivity* # As part of OS
Samsung Open Source Group 19
● Tizen is an Operating System based on FLOSS
– Shipped into consumer electronic products
● Tizen:{3,4} part of platform (ARM/x86 32/64 .rpm)
● Tizen:2 can ship shared lib into native app (.tpk)
– Tizen:2.4:Mobile: Samsung Z{1,2,3}
– Tizen:2.3:Wearable: Samsung GearS{2,3}
● Tizen:3:Yocto same as poky (1.7 dizzy)
Samsung Open Source Group 20 #LFALS
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-09-14: meta-oic 1.1.1 Philippe Coval (Samsung) new contribitor
● 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, meta-ocf-automotive Introduced
● 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: CES, GENIVI+Smarthome+Wearables demos (contact Sanjeev BA)
● 2017-02-04: FOSDEM: Presented “streetlight+cloud” usecase on AGL 3.0
● 2017-02-15: GENIVI announced partnership with Open Connectivity Foundation
● 2017-03-20: meta-oic 1.2.1+ : Phil C keeps maintaining it
Samsung Open Source Group 21
“Talk is cheap.
Show me the code.”
~ Linus Torvalds
22 #LFALS
What is “meta-ocf-automotive”

Playground for OCF and Automotive R&D experiments

Connecting Automotive platforms (AGL, GENIVI, Tizen)
– Hardware: RPi {0,1,2,3}, ARTIK10, Intel, Renesas, Qualcomm…
– to other products: SmartHome, Mobile, Wearable

“Real world” integration/validation tests (QA)

Tutorial of demo codes to learn about IoTivity, Yocto, AGL, GDP, Tizen...
git clone http://git.s-osg.org/meta-ocf-automotive

More: https://wiki.iotivity.org/automotive
Samsung Open Source Group
23 #LFALS
Prepare your environment

Build IoTivity from sources for your OS: https://wiki.iotivity.org/os

Hint: build system package to use standard paths (/usr/include)

Or ask me for packages for Debian, Fedora, Arch (unsupported)

Tizen: Install OS on supported hardware and setup GBS tool
git clone https://git.tizen.org/cgit/platform/upstream/iotivity
cd iotivity && gbs build -P tizen_unified_armv7l -A armv7l

Yocto (AGL, GDP): meta-oic + meta-ocf-automotive layers to pull iotivity-example

Note: Security can be disabled at build time (for prototyping on 1.3-rel)

https://wiki.iotivity.org/security
Samsung Open Source Group
24 #LFALS
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
– minimalist, can be used as base skeleton (fork it at will, SDK?)

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 of development
– For many OSes or build system (Currently, GNUmake, Linux, Tizen, More welcome)
Samsung Open Source Group
Samsung Open Source Group 25 #LFALS
“Simplicity
is the ultimate sophistication.”
~ Leonardo da Vinci
26 #LFALS
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
– Bitbake recipe
– RPM spec file for Tizen
– More packaging files: Debian/Ubuntu etc
Samsung Open Source Group
27 #LFALS
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
28 #LFALS
Geolocation example: Observation

Branch “geolocation/master” is based on “example/packaging” and adapted :
– Resource's URL is changed to “/GeolocationResURI”
– Resource type changed to “oic.r.geolocation” (from OCF/OneIot)
– Simulated GPS that update position continuously

./bin/server: is updating current position and notifying it
m_Representation.setValue(); OCPlatform::notifyAllObservers(…);

./bin/observer: is observing changes in IoTObserver::onObserve
geolocation: 48.1043, -1.6715

./bin/client : can also get value using GET: m_OCResource->get
Samsung Open Source Group
29 #LFALS
Derivate to Tizen app
●
Port to tizen native app: support SDK build files, app manifest files
– + GUI using EFL's Elementary map widget (from SDK sample)
– Branch: “geolocation/tizen/mobile/2.4/master”

Need to rebuild IoTivity’s shared lib (to be packaged) using helper:
./tizen.mk ; ls lib/*.so
./tizen.mk run # deploy tpk on device (ie TM1)

More details: https://wiki.iotivity.org/tizen
Samsung Open Source Group
Samsung Open Source Group 30 #LFALS
Binary switch example: Boolean resource
● Actuator, client change value (on/off) of server's resource
– iotivity-example's “switch/master” branch
● 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 31 #LFALS
OCResource::post(rep,
callback);
onPost(...)
Binary switch example: Resource update
OCPlatform::Configure(...);
OCPlatform::registerResource( …);
handleEntity(OCResourceRequest) {
switch entityHandlerRequest->method
{
case 'POST:
// update actuator state
...
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
32 #LFALS
More examples

GPIO switch to control relay attached to raspberrypi, minnowboard, ARTIK10

CSDK version of binary switch
– Arduino port (1.2-rel)

Secured example
– IoTivity 1.3 will have security enabled by default,

MRAA: same as GPIO switch but using generic I/O Communication library

Constrained example: (WIP) targeting MCUs (smaller than CSDK)
Samsung Open Source Group
Samsung Open Source Group 33
Constantly talking
isn't necessarily communicating
~ Charlie Kaufman
Samsung Open Source Group 34
OCF 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 35Samsung Open Source Group
Data models can be:
● Described
– For RESTful operations (CRUD)
– RAML+JSON, Swagger Schemas
● Reviewed and validated
– OCF check consistency and versions
● Shared
– http://OneIotA.org repository & tools
● 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 36Samsung Open Source Group
Aligning semantic: W3C, OCF, OMA...
● W3C: Automotive Working Group:
– Vehicle Signal Specification (VSS): YAML & Json
● Many specific signals on ~100 interfaces (Chassis, OBD, Cabin, ADAS, Media...)
– Could be dispatched over generic OCF models:
● Switch, Speed, Distance, Movement, Audio, TimePeriod, Weight
● Example of aligned concepts:
– oic.r.sensor.geolocation : { latitude, longitude, altitude }
● W3C: Signal.Cabin.Infotainment.Navigation.DestinatonSet.Longitude
● Longitude of destination, Integer double [-180..+180]
– oic.r.switch.binary: for lights, door, brake, belt...
● Details: http://tinyurl.com/omaocf2017
Samsung Open Source Group 37Samsung Open Source Group
OCF-VSS Translator
https://youtu.be/jKt_fPnqggo
https://youtu.be/jKt_fPnqggo#
openconnectivity-lfals2017
Samsung Open Source Group 38 #LFALS
Want more ?
39 #LFALS
Smart City’s Street lights use case

Iotivity-example (Branch “sandbox/pcoval/on/master/demo”)
– Various examples combined in demo using nodejs

Defective Street lights notification service:
– Sensor reads luminance
– Micro controller switch car's light on if too dark
– geolocation updated continuously
– Gateway sends message to cloud
Samsung Open Source Group
11
2
3
5
47
40 #LFALS
From sensor to ARTIKCloud #FOSDEM2017
https://youtu.be/3L6_DbMLJ1k
From sensor to ARTIKCloud (FOSDEM2017)
https://youtu.be/3L6_DbMLJ1k
Samsung Open Source Group 41Samsung Open Source Group
https://api.artik.cloud/
{
illuminance: 42,
latitude: 52.165,
longitude: -2.21
}
/IlluminanceResURI
{
illuminance: 42
}
/GeoLocationResURI
{
latitude: 52.165,
longitude: -2.21,
}
A Vehicle to Infrastructure notification service
client.on("resourcefound", function(resource) {
if ("/GeolocationResURI" === resource.resourcePath) {
resource.on("update",
function(resource) { gGeo = resource.properties; });
} else if ("/IlluminanceResURI" === resource.resourcePath) {
resource.on("update", handle);
}};
function handle(illuminance) {
if (illuminance < gThreshold ) {
var data= { illuminance: illuminance,
latitude: gGeo.latitude, longitude: gGeo.longitude };
sender.send(data); // { ARTIK's client.post(url...); }
} }
1
2
3
1
Samsung Open Source Group 42 #LFALS
Summary
● OCF establishes a standard for interconnecting things
– Several profiles: SmartHome, Automotive, Health...
– Common technology: Resource model & RESTful architecture
– Definitions must be shared to ensure interoperability
● Open Source project IoTivity
– implements it in C, C++, Java and Javascript
– Ready to be used on Automotive Oses and beyond
– Try using examples. Feedback welcome !
Samsung Open Source Group 43 #LFALS
References
● Entry points:
– http://wiki.iotivity.org/automotive
– https://openconnectivity.org/industries/automotive
– https://blogs.s-osg.org/tag/automotive/
– http://git.s-osg.org/iotivity-example
– http://git.s-osg.org/meta-ocf-automotive/
● Going further:
– https://openconnectivity.org/resources/iotivity
– https://openconnectivity.org/resources/oneiota-data-model-tool
– https://news.samsung.com/global/samsung-contributes-to-open-iot-showcase-at-ces-2017
● Keep in touch online:
– https://wiki.iotivity.org/community (Wiki, Mailing list, IRC, Events ...)
– https://wiki.tizen.org/wiki/Meeting
– https://www.meetup.com/OCF-France/ (Local events worldwide, Soon in Tokyo)
– https://blogs.s-osg.org/author/pcoval/
Samsung Open Source Group 44
Q&A or Extras ?
45 #LFALS
IoTivity on GENIVI demo platform:
https://youtu.be/DJKYauaOmsc
tizen-genivi-20160424rzr
https://youtu.be/DJKYauaOmsc
46 #LFALS
IoTivity on Automotive Grade Linux (AGL)
https://youtu.be/w_c0wxJfBsw
iotivity-agl-demo-platform-20160222rzr
https://youtu.be/w_c0wxJfBsw
Samsung Open Source Group 47 #LFALS
Thank you
ありがとう
Merci !
Resources: flaticons CC
Visit OpenConnectivity #LFALS booth !
Contact:
https://wiki.tizen.org/wiki/User:Pcoval

More Related Content

What's hot

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Benjamin Cabé
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Labs
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...AGILE IoT
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016Benjamin Cabé
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14Linaro
 
LinkIt Smart 7688 - a more connected world
LinkIt Smart 7688 - a more connected worldLinkIt Smart 7688 - a more connected world
LinkIt Smart 7688 - a more connected worldCAVEDU Education
 
Open Source IoT at Eclipse
Open Source IoT at EclipseOpen Source IoT at Eclipse
Open Source IoT at EclipseIan Skerrett
 
Geek Pic-Nic Master Class
Geek Pic-Nic Master ClassGeek Pic-Nic Master Class
Geek Pic-Nic Master ClassMediaTek Labs
 
MediaTek Labs Webinar: Getting Started with LinkIt ONE
MediaTek Labs Webinar: Getting Started with LinkIt ONEMediaTek Labs Webinar: Getting Started with LinkIt ONE
MediaTek Labs Webinar: Getting Started with LinkIt ONEMediaTek Labs
 
Outlook on mobile web standardization(MobileOK)
Outlook on mobile web standardization(MobileOK)Outlook on mobile web standardization(MobileOK)
Outlook on mobile web standardization(MobileOK)Jonathan Jeon
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoTAlexandre Gouaillard
 
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]Ian Skerrett
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open sourceAlison Chaiken
 

What's hot (20)

tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
IoT Meets Security
IoT Meets SecurityIoT Meets Security
IoT Meets Security
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
Porting tock to open titan
Porting tock to open titanPorting tock to open titan
Porting tock to open titan
 
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 Webinar
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14
 
LinkIt Smart 7688 - a more connected world
LinkIt Smart 7688 - a more connected worldLinkIt Smart 7688 - a more connected world
LinkIt Smart 7688 - a more connected world
 
Open Source IoT at Eclipse
Open Source IoT at EclipseOpen Source IoT at Eclipse
Open Source IoT at Eclipse
 
Geek Pic-Nic Master Class
Geek Pic-Nic Master ClassGeek Pic-Nic Master Class
Geek Pic-Nic Master Class
 
MediaTek Labs Webinar: Getting Started with LinkIt ONE
MediaTek Labs Webinar: Getting Started with LinkIt ONEMediaTek Labs Webinar: Getting Started with LinkIt ONE
MediaTek Labs Webinar: Getting Started with LinkIt ONE
 
What is VidMeet
What is VidMeetWhat is VidMeet
What is VidMeet
 
Outlook on mobile web standardization(MobileOK)
Outlook on mobile web standardization(MobileOK)Outlook on mobile web standardization(MobileOK)
Outlook on mobile web standardization(MobileOK)
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
 
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open source
 

Similar to IoTivity for Automotive: meta-ocf-automotive tutorial

IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
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
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrPhil www.rzr.online.fr
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivitySamsung Open Source Group
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...WithTheBest
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Igalia
 
Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Alison Chaiken
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Johan Thelin
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 

Similar to IoTivity for Automotive: meta-ocf-automotive tutorial (20)

Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, 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)
 
webthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzr
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philipp...
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)
 
Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012Booth content from Maker Faire Bay Area 2012
Booth content from Maker Faire Bay Area 2012
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 
osvehicle-connected-20160429
osvehicle-connected-20160429osvehicle-connected-20160429
osvehicle-connected-20160429
 
tizen-rt-javascript-20181011
tizen-rt-javascript-20181011tizen-rt-javascript-20181011
tizen-rt-javascript-20181011
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 

More from 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
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung 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 Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...Samsung Open Source Group
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
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
 

More from Samsung Open Source Group (16)

Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
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
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
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
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 
Clang: More than just a C/C++ Compiler
Clang: More than just a C/C++ CompilerClang: More than just a C/C++ Compiler
Clang: More than just a C/C++ Compiler
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential Collaboration
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
Development Boards for Tizen IoT
Development Boards for Tizen IoTDevelopment Boards for Tizen IoT
Development Boards for Tizen IoT
 
Introduction to IoT.JS
Introduction to IoT.JSIntroduction to IoT.JS
Introduction to IoT.JS
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 

Recently uploaded

The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 

Recently uploaded (20)

The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 

IoTivity for Automotive: meta-ocf-automotive tutorial

  • 1. Samsung Open Source Group 1 #LFALS For Automotive Philippe Coval Samsung Open Source Group / SRUK philippe.coval@osg.samsung.com meta-ocf-automotive tutorial Automotive Linux Summit #LFALS, Tokyo, Japan <2017-05-31>
  • 2. Samsung Open Source Group 2 #LFALS こんにちは from Philippe Coval ● Software engineer for Samsung Research – Open Source Group, EU team (@UK + DE + FR + CZ...) ● Commit into IoTivity, Tizen – Plus automotive related projects: Yocto, GENIVI, AGL ● Interest: Usages, OS/hardware support, build, community ● Ask me online for help: – https://wiki.tizen.org/wiki/User:Pcoval
  • 3. Samsung Open Source Group 3 #LFALS Agenda ● IoT interoperability – Open Connectivity Foundation + IoTivity ● OCF Automotive working group – Demos ● Learning IoTivity by examples ● Convergence of automotive data models ?
  • 4. Samsung Open Source Group 4 “Without trust there's no cooperation. And without cooperation there's no progress. History stops.” ~ Rick Yancey, The Last Star
  • 5. Samsung Open Source Group 5 #LFALS Motivations for Interoperability in IoT ● To break silos between: – Personal devices: Mobile, Wearable... – Shared devices: SmartHome, Cars (IVI, many OS) – Infrastructure: Buildings, Cities (traffic, pedestrians...) – Online services and probably more to come... ● A common open standard is welcome ! – To provide abstracted features: ● Connectivity, Security, Portability, Modularity ● Protocol, Opensource stack, Community
  • 6. Samsung Open Source Group 6 #LFALS Open connectivity foundation's missions ● Provide software linking the Internet Of Things – Focus on interoperability and seamless connectivity between devices ● Write specification, establish a protocol (formerly named OIC) – Rely on existing standards (IETF: CoAP, Cbor..) ● Sponsor Reference implementation: – OpenSource (Apache 2.0 license) use existing FLOSS libs ● Hosted by Linux Foundation (like kernel, Tizen etc) – Rule: No unimplemented features in specification ● Certify products for over 300 members (join us!)
  • 7. Samsung Open Source Group 7 #LFALS Common technology for multiple profiles Architecture RESTful CRUD-N Communication IETF (CoAP, Cbor) +Security DTLS Semantics RAML Smart Home: Zigbee Blue Tooth Personal Devices Wearables: BLE Cloud: HTTP/ TCP Mobilty Automotive OBD-II* CAN* LIN* MOST* LTE* 802.11p* 5G* ...
  • 8. Samsung Open Source Group 8 #LFALS IoTivity Framework for connecting devices ● Core cross platform libraries – C API: resource layer + connectivity abstraction (IP, BT, BLE...) ● Link to libcoap, tinycbor (code footprint ~128-KiB), + mbedtls – 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)
  • 9. Samsung Open Source Group 9 Security matters for IoT ● Link layer provides secure channel (using DTLS) to connectivity abstraction (CA) ● Devices need to be owned (once or xfer) and provisioned using onboarding tool: – Establish ownership in user's network ● Secure Resource Manager (SRM): – Secure platform's 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 ● Details: https://www.slideshare.net/SamsungOSG/iot-meets-security
  • 10. Samsung Open Source Group 10 “Any sufficiently advanced technology is indistinguishable from magic.” ~ Arthur C. Clarke
  • 11. Samsung Open Source Group 11Samsung Open Source Group OCF Automotive profile's mission ● Provide OCF technology for connected cars, by proposing – A common definition of vehicle resources – A common way to interact with those (inside or outside vehicle) – Based on or bridging to existing standards ● Cooperative effort of existing FLOSS Automotive projects – Tizen, GENIVI, AGL, W3C, RVI ...
  • 12. 12 #LFALS SmartHome to Automotive #CES2017 https://youtu.be/3d0uZE6lHvo SmartHome to Automotive (#CES2017) https://youtu.be/3d0uZE6lHvo
  • 13. Samsung Open Source Group 13 “The secret of getting ahead is getting started.” ~ Mark Twain
  • 14. Samsung Open Source Group 14Samsung Open Source Group Supported Automotive OS ● Download OS image shipping IoTivity: Tizen, GDP, AGL? – Or install package from repository (RPM) ● Use “meta-oic” layer on OE/Yocto based distributions: – GENIVI (Specification first): integrated – AGL/Automotive Grade Linux (Code first): optional – Tizen Yocto project to build Common + IVI ● Rebuild package from sources for most GNU/Linux systems – https://wiki.iotivity.org/build
  • 15. 15 #LFALS Build Yocto's Poky with IoTivity ● Adding “meta-oic” layer to poky reference distribution git clone http://git.yoctoproject.org/git/poky cd poky && source ./oe-init-build-env git clone http://git.yoctoproject.org/git/meta-oic ● Append to environment files previously generated: – “poky/conf/bblayers.conf” (Layer path file) RELATIVE_DIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True))+'/../..')}" BBLAYERS += "${RELATIVE_DIR}/meta-oic" – “poky/conf/local.conf” (Project configuration file) CORE_IMAGE_EXTRA_INSTALL += " packagegroup-iotivity " ● Rebuild poky image using: bitbake core-image-minimal Samsung Open Source Group
  • 16. 16 #LFALS Check using samples apps ● Shared libs plus various validation examples are shipped : – find /opt/iotivity* ● Ie: playback smart light example scenario on loopback – Open 2 sessions (hint: use GNU screen) for client and server: cd /opt/iotivity/examples/resource/cpp/ && ./simpleserver cd /opt/iotivity/examples/resource/cpp/ && ./simpleclient ● More: https://wiki.iotivity.org/examples
  • 17. Samsung Open Source Group 17 #LFALS Build AGL with IoTivity ● Use repo tool to pull sublayers (including meta-ioc): repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo repo sync ● Use custom configuration script to select features (agl-full, agl-iotivity...): MACHINE=qemux86-64 source ./meta-agl/scripts/aglsetup.sh -m $MACHINE agl-all-features agl-iotivity ● Use regular yocto tools: bitbake iotivity agl-demo-platform ROOTFS=$PWD/tmp/deploy/images/$MACHINE/agl-demo-platform-$MACHINE.ext4 runqemu $MACHINE; ssh ; find /opt/iotivity* # as part of OS
  • 18. Samsung Open Source Group 18 #LFALS Build GENIVI with IoTivity ● Download distribution sources using git: git clone https://github.com/GENIVI/genivi-dev-platform ● Setup using GDP custom configuration script MACHINE=qemux86-64 # or minnowboard, raspberrypi2 etc source ./init.sh ${MACHINE} ● Use regular yocto tools: bitbake iotivity genivi-dev-platform ROOTFS=$PWD/tmp/deploy/images/${MACHINE}/*-${MACHINE}.ext4 runqemu ${MACHINE} ; ssh root@${target_ip} # Or use xvncviewer find /opt/iotivity* # As part of OS
  • 19. Samsung Open Source Group 19 ● Tizen is an Operating System based on FLOSS – Shipped into consumer electronic products ● Tizen:{3,4} part of platform (ARM/x86 32/64 .rpm) ● Tizen:2 can ship shared lib into native app (.tpk) – Tizen:2.4:Mobile: Samsung Z{1,2,3} – Tizen:2.3:Wearable: Samsung GearS{2,3} ● Tizen:3:Yocto same as poky (1.7 dizzy)
  • 20. Samsung Open Source Group 20 #LFALS 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-09-14: meta-oic 1.1.1 Philippe Coval (Samsung) new contribitor ● 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, meta-ocf-automotive Introduced ● 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: CES, GENIVI+Smarthome+Wearables demos (contact Sanjeev BA) ● 2017-02-04: FOSDEM: Presented “streetlight+cloud” usecase on AGL 3.0 ● 2017-02-15: GENIVI announced partnership with Open Connectivity Foundation ● 2017-03-20: meta-oic 1.2.1+ : Phil C keeps maintaining it
  • 21. Samsung Open Source Group 21 “Talk is cheap. Show me the code.” ~ Linus Torvalds
  • 22. 22 #LFALS What is “meta-ocf-automotive”  Playground for OCF and Automotive R&D experiments  Connecting Automotive platforms (AGL, GENIVI, Tizen) – Hardware: RPi {0,1,2,3}, ARTIK10, Intel, Renesas, Qualcomm… – to other products: SmartHome, Mobile, Wearable  “Real world” integration/validation tests (QA)  Tutorial of demo codes to learn about IoTivity, Yocto, AGL, GDP, Tizen... git clone http://git.s-osg.org/meta-ocf-automotive  More: https://wiki.iotivity.org/automotive Samsung Open Source Group
  • 23. 23 #LFALS Prepare your environment  Build IoTivity from sources for your OS: https://wiki.iotivity.org/os  Hint: build system package to use standard paths (/usr/include)  Or ask me for packages for Debian, Fedora, Arch (unsupported)  Tizen: Install OS on supported hardware and setup GBS tool git clone https://git.tizen.org/cgit/platform/upstream/iotivity cd iotivity && gbs build -P tizen_unified_armv7l -A armv7l  Yocto (AGL, GDP): meta-oic + meta-ocf-automotive layers to pull iotivity-example  Note: Security can be disabled at build time (for prototyping on 1.3-rel)  https://wiki.iotivity.org/security Samsung Open Source Group
  • 24. 24 #LFALS 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 – minimalist, can be used as base skeleton (fork it at will, SDK?)  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 of development – For many OSes or build system (Currently, GNUmake, Linux, Tizen, More welcome) Samsung Open Source Group
  • 25. Samsung Open Source Group 25 #LFALS “Simplicity is the ultimate sophistication.” ~ Leonardo da Vinci
  • 26. 26 #LFALS 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 – Bitbake recipe – RPM spec file for Tizen – More packaging files: Debian/Ubuntu etc Samsung Open Source Group
  • 27. 27 #LFALS 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
  • 28. 28 #LFALS Geolocation example: Observation  Branch “geolocation/master” is based on “example/packaging” and adapted : – Resource's URL is changed to “/GeolocationResURI” – Resource type changed to “oic.r.geolocation” (from OCF/OneIot) – Simulated GPS that update position continuously  ./bin/server: is updating current position and notifying it m_Representation.setValue(); OCPlatform::notifyAllObservers(…);  ./bin/observer: is observing changes in IoTObserver::onObserve geolocation: 48.1043, -1.6715  ./bin/client : can also get value using GET: m_OCResource->get Samsung Open Source Group
  • 29. 29 #LFALS Derivate to Tizen app ● Port to tizen native app: support SDK build files, app manifest files – + GUI using EFL's Elementary map widget (from SDK sample) – Branch: “geolocation/tizen/mobile/2.4/master”  Need to rebuild IoTivity’s shared lib (to be packaged) using helper: ./tizen.mk ; ls lib/*.so ./tizen.mk run # deploy tpk on device (ie TM1)  More details: https://wiki.iotivity.org/tizen Samsung Open Source Group
  • 30. Samsung Open Source Group 30 #LFALS Binary switch example: Boolean resource ● Actuator, client change value (on/off) of server's resource – iotivity-example's “switch/master” branch ● 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() (...)
  • 31. Samsung Open Source Group 31 #LFALS OCResource::post(rep, callback); onPost(...) Binary switch example: Resource update OCPlatform::Configure(...); OCPlatform::registerResource( …); handleEntity(OCResourceRequest) { switch entityHandlerRequest->method { case 'POST: // update actuator state ... 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
  • 32. 32 #LFALS More examples  GPIO switch to control relay attached to raspberrypi, minnowboard, ARTIK10  CSDK version of binary switch – Arduino port (1.2-rel)  Secured example – IoTivity 1.3 will have security enabled by default,  MRAA: same as GPIO switch but using generic I/O Communication library  Constrained example: (WIP) targeting MCUs (smaller than CSDK) Samsung Open Source Group
  • 33. Samsung Open Source Group 33 Constantly talking isn't necessarily communicating ~ Charlie Kaufman
  • 34. Samsung Open Source Group 34 OCF 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
  • 35. Samsung Open Source Group 35Samsung Open Source Group Data models can be: ● Described – For RESTful operations (CRUD) – RAML+JSON, Swagger Schemas ● Reviewed and validated – OCF check consistency and versions ● Shared – http://OneIotA.org repository & tools ● 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" }  }  } /* … */
  • 36. Samsung Open Source Group 36Samsung Open Source Group Aligning semantic: W3C, OCF, OMA... ● W3C: Automotive Working Group: – Vehicle Signal Specification (VSS): YAML & Json ● Many specific signals on ~100 interfaces (Chassis, OBD, Cabin, ADAS, Media...) – Could be dispatched over generic OCF models: ● Switch, Speed, Distance, Movement, Audio, TimePeriod, Weight ● Example of aligned concepts: – oic.r.sensor.geolocation : { latitude, longitude, altitude } ● W3C: Signal.Cabin.Infotainment.Navigation.DestinatonSet.Longitude ● Longitude of destination, Integer double [-180..+180] – oic.r.switch.binary: for lights, door, brake, belt... ● Details: http://tinyurl.com/omaocf2017
  • 37. Samsung Open Source Group 37Samsung Open Source Group OCF-VSS Translator https://youtu.be/jKt_fPnqggo https://youtu.be/jKt_fPnqggo# openconnectivity-lfals2017
  • 38. Samsung Open Source Group 38 #LFALS Want more ?
  • 39. 39 #LFALS Smart City’s Street lights use case  Iotivity-example (Branch “sandbox/pcoval/on/master/demo”) – Various examples combined in demo using nodejs  Defective Street lights notification service: – Sensor reads luminance – Micro controller switch car's light on if too dark – geolocation updated continuously – Gateway sends message to cloud Samsung Open Source Group 11 2 3 5 47
  • 40. 40 #LFALS From sensor to ARTIKCloud #FOSDEM2017 https://youtu.be/3L6_DbMLJ1k From sensor to ARTIKCloud (FOSDEM2017) https://youtu.be/3L6_DbMLJ1k
  • 41. Samsung Open Source Group 41Samsung Open Source Group https://api.artik.cloud/ { illuminance: 42, latitude: 52.165, longitude: -2.21 } /IlluminanceResURI { illuminance: 42 } /GeoLocationResURI { latitude: 52.165, longitude: -2.21, } A Vehicle to Infrastructure notification service client.on("resourcefound", function(resource) { if ("/GeolocationResURI" === resource.resourcePath) { resource.on("update", function(resource) { gGeo = resource.properties; }); } else if ("/IlluminanceResURI" === resource.resourcePath) { resource.on("update", handle); }}; function handle(illuminance) { if (illuminance < gThreshold ) { var data= { illuminance: illuminance, latitude: gGeo.latitude, longitude: gGeo.longitude }; sender.send(data); // { ARTIK's client.post(url...); } } } 1 2 3 1
  • 42. Samsung Open Source Group 42 #LFALS Summary ● OCF establishes a standard for interconnecting things – Several profiles: SmartHome, Automotive, Health... – Common technology: Resource model & RESTful architecture – Definitions must be shared to ensure interoperability ● Open Source project IoTivity – implements it in C, C++, Java and Javascript – Ready to be used on Automotive Oses and beyond – Try using examples. Feedback welcome !
  • 43. Samsung Open Source Group 43 #LFALS References ● Entry points: – http://wiki.iotivity.org/automotive – https://openconnectivity.org/industries/automotive – https://blogs.s-osg.org/tag/automotive/ – http://git.s-osg.org/iotivity-example – http://git.s-osg.org/meta-ocf-automotive/ ● Going further: – https://openconnectivity.org/resources/iotivity – https://openconnectivity.org/resources/oneiota-data-model-tool – https://news.samsung.com/global/samsung-contributes-to-open-iot-showcase-at-ces-2017 ● Keep in touch online: – https://wiki.iotivity.org/community (Wiki, Mailing list, IRC, Events ...) – https://wiki.tizen.org/wiki/Meeting – https://www.meetup.com/OCF-France/ (Local events worldwide, Soon in Tokyo) – https://blogs.s-osg.org/author/pcoval/
  • 44. Samsung Open Source Group 44 Q&A or Extras ?
  • 45. 45 #LFALS IoTivity on GENIVI demo platform: https://youtu.be/DJKYauaOmsc tizen-genivi-20160424rzr https://youtu.be/DJKYauaOmsc
  • 46. 46 #LFALS IoTivity on Automotive Grade Linux (AGL) https://youtu.be/w_c0wxJfBsw iotivity-agl-demo-platform-20160222rzr https://youtu.be/w_c0wxJfBsw
  • 47. Samsung Open Source Group 47 #LFALS Thank you ありがとう Merci ! Resources: flaticons CC Visit OpenConnectivity #LFALS booth ! Contact: https://wiki.tizen.org/wiki/User:Pcoval