Samsung Open Source Group 1 #ID4YOU2017
Smart Home to Automotive and beyond
Philippe Coval
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
ID4CAR, PSA
#ID4YOU, Rennes, France <2017-06-22>
Samsung Open Source Group 2 #ID4YOU2017
Automotive to become data driven?
● Cars could become to transportation
– What mobile phones became to oral communication (much more)
● What is car?
– 4 wheels computer? a network of networks?
● An open development platform?
– Non critical system to support services (IVI)
● No trade off in matter of security and safety
– Future proof APIs: stable models and operations
● Longer life span than mobile (and related ecosystems, apps...)
– Seamless connectivity (local, offline, online, cloud etc)
?
Samsung Open Source Group 3
“Any sufficiently
advanced technology
is indistinguishable
from magic.”
~ Arthur C. Clarke
4 #ID4YOU2017
SmartHome to Automotive #CES2017
https://youtu.be/3d0uZE6lHvo
SmartHome to Automotive (#CES2017)
https://youtu.be/3d0uZE6lHvo
Samsung Open Source Group 5
“Without trust there's no cooperation.
And without cooperation
there's no progress.
History stops.”
~ Rick Yancey, The Last Star
Samsung Open Source Group 6 #ID4YOU2017
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 #ID4YOU2017
Common technology for multiple domains
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 8Samsung 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 ...
Samsung Open Source Group 9Samsung Open Source Group
Open Automotive OSes & Relationships
● 2003: AUTOSAR AUTomotive Open System Architecture for ECUs (open to members)
● 2009: GENIVI alliance created to standardize automotive
– OSS Supported by Car manufacturers, also members or AUTOSAR
● 2019: Yocto project based on OpenEmbedded
● 2012: Tizen:IVI is initiated by Intel from MeeGo (Nokia’s maemo + Moblin)
– GENIVI compliant, Rebased on Tizen:Common, Ported to Yocto Build system
● 2014: Google announce Open Automotive Alliance (OAA) for Android
● 2015: Automotive Grade Linux specifications published (Tizen:IVI fork)
● 2016: AGL’s Unified Code base (Yocto+Tizen+GENIVI = UCB)
● 2017: GENIVI announced partnership with Open Connectivity Foundation
● 2017: IoTivity-1.3.0 supports Linux, Tizen, Yocto, GENIVI, AGL, Android and more
Samsung Open Source Group 11Samsung Open Source Group
Getting started with IoTivity
● Download or rebuild C/C++ library from sources:
– For most GNU/Linux, Tizen, Yocto and others OS
– Details: https://wiki.iotivity.org/build
● Note: Security mechanism is enabled at build time
– For fast prototyping, rebuild without (unsecured)
● Get inspired by tutorial examples: Switch, Geolocation...
– http://git.s-osg.org/iotivity-example/plain/README.md
● Try related projects: IoTivity-node, IoTivity-constrained
12 #ID4YOU2017
Prototyping use cases
Monitoring defective street lights:
– Sensor reads luminance
– Micro controller switches front lamp on (if too dark)
– GPS unit updates geolocation continuously
– Gateway sends message to cloud
●
To bridge to online services?:
– Ie: PSA REST API, OSM, Uber...
– Using IoTivity Web Service Interface (WSI)
Samsung Open Source Group
11
2
3 5
47
13 #ID4YOU2017
IoTivity from sensor to ARTIKCloud
https://youtu.be/3L6_DbMLJ1k
From sensor to ARTIKCloud (FOSDEM2017)
https://youtu.be/3L6_DbMLJ1k
Samsung Open Source Group 14Samsung 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,
}
Behavior implementation in Javascript
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 15 #ID4YOU2017
Summary
● OCF establishes a standard for interconnecting things
– Cross markets: SmartHome, Automotive, Industrial...
– Common technology: Resource model & RESTful architecture
– Definitions must be shared to ensure interoperability
● Open Source project IoTivity
– Implements it in C, C++, Java, Javascript...
– Ready to be used on Automotive OS and beyond
● Join community, any feeback is welcome!
Samsung Open Source Group 16 #ID4YOU2017
Q&A or extras ?
…or ask me online:
https://wiki.tizen.org/wiki/User:Pcoval
Samsung Open Source Group 17Samsung Open Source Group
OCF-W3C Translator
https://youtu.be/jKt_fPnqggo
https://youtu.be/jKt_fPnqggo#
openconnectivity-lfals2017
18 #ID4YOU2017
IoTivity on Automotive Grade Linux (AGL)
https://youtu.be/w_c0wxJfBsw
iotivity-agl-demo-platform-20160222rzr
https://youtu.be/w_c0wxJfBsw
19 #ID4YOU2017
IoTivity on GENIVI demo platform:
https://youtu.be/DJKYauaOmsc
tizen-genivi-20160424rzr
https://youtu.be/DJKYauaOmsc