Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices

17 140 vues

Publié le

IoTivity and Tizen can be extremely valuable to automotive platforms like GENIVI. Philippe Coval explains the role these technologies play.

Publié dans : Logiciels
  • Soyez le premier à commenter

IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices

  1. 1. This work is licensed under a Creative Commons Attribution-Share Alike 4.0 (CC BY-SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 20165-Oct-16 1 Genivi OCF Demonstrator 2016-04-27 | 14th Genivi AMM A collaborative effort by Genivi JLR Samsung
  2. 2. This work is licensed under a Creative Commons Attribution­Share Alike 4.0 (CC BY­SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 5-Oct-16 2 IoTivity connects GDP to Tizen 2016-04-27 | IoT development IoTivity connects GDP to Tizen 2016-04-27 | IoT development Philippe Coval Software Engineer Samsung OpenSource Group Philippe Coval Software Engineer Samsung OpenSource Group
  3. 3. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 ● Why ? – Infinite use cases: monitoring, convergence, behaviour, AI... ● What ? – Linking user's devices together in a secure way – Cross products applications or services ● How ? – Open protocols, standards and FLOSS ● When ? 5-Oct-15 3 Connected devices : It's all about interconnection
  4. 4. What is Open Connectivity Foundation “OCF is a standard & open source project that delivers “just-works” interconnectivty for developers, manufacturers and end users.”
  5. 5. OCF Approach to Standardization & Adoption A SPEC + Open Source Implementation approach openconnectivity.org Specification & certification Open Specification IP protection and branding WG & TG* headed by industry experts Certification by OCF www.iotivity.org Open Source Implementation Apache 2.0 License Linux Foundation co-operative project Android, iOS, Tizen, Linux, RTOS Open governance model
  6. 6. OCF Specification OCF
  7. 7. OCF Members (~170 and growing) Diamond Platinum Gold
  8. 8. IoTivity Architecture
  9. 9. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 ● : a FLOSS software plaform based on GNU/Linux – Split into Profiles : Wearable, Mobile, TV, IVI... – Shipped into Consumer Electronic products: ● Gear S, Z1, Z3, Gear S2, TVs J* ● : Seemsless device to device connectivity framework for IoT – C/C++ FLOSS library (Apache 2) – IoTivity is part of Tizen 3.0 platform – Can be integrated into Tizen 2.x products 5-Oct-15 9 What is Tizen / IoTivity ?
  10. 10. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 ● Genivi Demo platform – is a Yocto based Linux distribution for IVI – so supports meta-oic yocto layer that brings IoTivity ● Let's prototype a Server – Exposes a physical resource (MinnowMax's GPIO) – Share a virtual GPS position to near devices ● And use Tizen devices as clients to interact with 5-Oct-15 10 IoTivity on GDP
  11. 11. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 ● https://vimeo.com/164000646#tizen-genivi-20160424rzr 5-Oct-15 11 IoTivity on GDP
  12. 12. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 5-Oct-15 12 IoTivity Client / Server Flow OCPlatform::Configure(OC::PlatformConfig ) OCPlatform::registerResource ... OC::EntityHandler(OCResourceRequest) { switch(getRequestType) { case 'GET' : ... OCPlatform::sendResponse();; case 'PUT' : ... OCPlatform::sendResponse() OCPlatform::notifyAllObservers();; }} OCPlatform::findResource(...) OCPlatform::Configure(OC::PlatformConfig ) OC::FindCallback(...) OCResource::observe() OC::OCResource::put(...) OC::PullCallback(...) OC::OCResource::get(...) OC::GetCallback(...) IoTivity Server (on Genivi) IoTivity Client(s) (on Tizen) OC:ObserveCallback(...) IP Network (* multicast for discovery)
  13. 13. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 ● Entry points: – https://wiki.iotivity.org/community – https://wiki.iotivity.org/tizen – https://at.projects.genivi.org/jira/projects/GOCF ● Related: – http://slideshare.net/SamsungOSG/iotivity-on-tizen-how-to – http://blogs.s-osg.org/iotivity-ready-automotive/ – https://github.com/TizenTeam/ 5-Oct-15 13 References
  14. 14. Keep in touch ● Questions ? – Contact me online for support or resources – https://wiki.tizen.org/wiki/User:Pcoval – irc://irc.freenode.net/#automotive ● Thank you: – GENIVI, Samsung OSG – Intel/Minnowboard, CampOSV, Flaticons (CC BY 2.0)
  15. 15. This work is licensed under a Creative Commons Attribution­Share Alike 4.0 (CC BY­SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 5-Oct-16 15 RVI Details 2016-04-27 | 14th Genivi AMM RVI Details 2016-04-27 | 14th Genivi AMM Anson Fan Architect JLR Anson Fan Architect JLR
  16. 16. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 27-April-16 16 RVI Service Flow Node 1 “Client” Node 2 “Server” Connect Register Service X Service X Available Service X Callback Send Service X: a=b TLS Transport Message Received Got: a=b
  17. 17. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 27-April-16 17 RVI JSON-RPC { "jsonrpc“ : "2.0", "id“ : "1", "method“ : "message", "params“ : { "timeout“ : 1559388884, "service_name“ : “genivi.org/node/vehicle_id/rvi/vehiclecontrol", "parameters“ : { "function“ : "fanSpeed", "newValue“ : 20, "target“ : "SETHVAC" } } }
  18. 18. GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 27-April-16 18 GDP Application Architecture HTTP/WS Qt/QML D-Bus Connector CAN interface CAN Router HVAC RVI Service Handlers OCF GatewayD-Bus CAN Qt/QML D-Bus Connector SmartHome RVI GDP Apps
  19. 19. This work is licensed under a Creative Commons Attribution­Share Alike 4.0 (CC BY­SA 4.0) GENIVI is a registered trademark of the GENIVI Alliance in the USA and other countries Copyright © GENIVI Alliance 2016 5-Oct-16 19 Realizing Connected Car Scenarios With IoTivity and RVI 2016-04-27 | 14th Genivi AMM Realizing Connected Car Scenarios With IoTivity and RVI 2016-04-27 | 14th Genivi AMM Sanjeev BA Senior Engineer Samsung OpenSource Group Sanjeev BA Senior Engineer Samsung OpenSource Group
  20. 20. Background ● Developers looking for niche areas – Direct revenues from apps slowing down – 52% make < $1000 / month ● 53% working on IoT related apps already. – Estimated 5.5 Million mobile app devs. – Smart Home and Wearables ● Users already have app fatigue * Source : VisionMobile™ Developer Economics Q1 2015: State of the Developer Nation
  21. 21. Challenges
  22. 22. IoT & Connected Services Critical Consumer Specific Just in TimeRegulatory User Context Customization
  23. 23. SDK Overload for Developers Developer. Tizen.org Developer. android.com Developer. apple.com developers.facebook .com developer.paypal. com dev.twitter.com Iotivity SDK Weave SDK MQTT SDK Platform SDK Web Service SDKIoT SDK Proprietary SDKs Connected Car SDK App Developer (ex. Streaming Music Service)
  24. 24. Siloed Connected Car Ecosystems Store 1 { Subset #2 of Apps } Store 2 { Subset #1 of Apps } Store 3 { Subset #3 of Apps } Car Makers / OEM Group 1 Car Makers / OEM Group 2 Car Makers / OEM Group 3
  25. 25. App Overload for Users Smart Things Flipkart Sonos Sphero Car Twitter Skype Hue User != Service Integrator
  26. 26. Approaches How to make this simpler ? For users, developers & service providers
  27. 27. Dedicated Hub + Cloud Service Model IoT Network AppApp Cloud Service
  28. 28. Service Plugin Model Web Service PluginPlugin Download Server IoT Network AppApp Cloud Service
  29. 29. Distributed App Control Model IoT Network Distributed App Control AppApp IoT Protocol AppApp App Service Integration Backend
  30. 30. IoTivity Web Service Interface
  31. 31. Web Service Interface Enabler of interactions From IoTivity devices to a variety of Services Service abstraction Web Service Interface IoTivity NetworkIoTivity Device IoTivity Device IoT Data Stays Local Service Access Credentials Caching RESTful Web Services VoIP Services “Other” Services
  32. 32. Service Representation : JSON Blocks "name":“Openweathermap", "id":“org.openweathermap", "description":“A service that has weather for more than 200,000 cities", “logo" : "http://openweathermap.org/images/OWM_logo32_32.png" SERVICE META DATA "tags":[ "search", “weather” ] SERVICE TAGS
  33. 33. Service Representation : JSON Blocks capability:[  {  id : org.openweathermap.findbycity, isauthrequired : true, description : Find the weather by cityname string., endpoint : api.openweathermap.org/data/2.5/weather? endpointtype : REST, operation : GET, params :{ q : {{cityname}} }, response :{ <response JSON body format> } CAPABILITY DESCRIPTION
  34. 34. Service Description details Mustache syntax for variables {{ variable }} Services Authorization Section Capability Section Params Section Cues using tags Extensible and customizable
  35. 35. Service Representation : JSON Blocks auth:{        type :oauth2.0,       subtype :application-only,       appcredentials: {        cust_key :{{cust_key}}       cust_sec :{{cust_secret}}       oauth_key :{{oauth_key}}       oauth_sec :{{oauth_secret}} } } Supported Types : Supported SubTypes : oauth2.0, application-only oauth1.0a, client credentials oauth1.0 oob AUTH SECTION
  36. 36. Putting it all together Web Services Interface Platform Adaptation Linux nodejs Android Web WSI API Interface Service Management Service Request Processing Config & Caching Auth Workflow ManagementWSI Daemon / Service Tizen
  37. 37. RVI Service Description "capability": [ { "cid": "org.genivi.rvi.connect", "isauthrequired": "false", "description": "Connect to RVI.", "endpoint": "{{rviurl}}", "endpointtype": "rvi", "chain" : "http://localhost:8081/callback", "operation": "RVICONNECT" }, { "cid": "org.genivi.rvi.send", "isauthrequired": "false", "description": "Post Message to RVI.", "endpoint": "{{rviurl}}", "endpointtype": "rvi", "operation": "RVISEND", "params": { "message": "None" } } Connect Capability Send Capability Notify URL for remote RVI msgs.
  38. 38. Genivi OCF Demo Theme • Vehicle to Smart Device Control • Associating a set of devices using rules • Executing the rule to change device states • Getting the status of home devices • Smart Device to Vehicle Control • Control Vehicle Parameters (HVAC, Temperature) • Getting the status of Vehicle • Notifications • Vehicle Location Notifications
  39. 39. https://at.projects.genivi.org/wiki/display/PROJ/GENIVI-OCF+Demonstrator OCF Smart Home Tizen Z1 Tizen Gear S2 OCF to RVI Bridging Gateway Simulated OCF Devices Smart TV Aircon RVI Services App #1 App #2 Genivi Head Unit Android Nexus Tizen Z3 RVI­OCF Gateway Demo Concept
  40. 40. Openness What did we publish ? git clone https://gerrit.iotivity.org/gerrit/iotivity (wsi-dev branch) Tizen Mobile/Wearable & Android applications http://git.projects.genivi.org/?p=meta-genivi-ocf-demo.git;a=summary * cleanup and publishing to be done post demo
  41. 41. Openness What did we publish ? git clone https://gerrit.iotivity.org/gerrit/iotivity (wsi-dev branch) Tizen Mobile/Wearable & Android applications http://git.projects.genivi.org/?p=meta-genivi-ocf-demo.git;a=summary * cleanup and publishing to be done post demo
  42. 42. Challenges Addressed App Overload ?App Overload ?SDK Overload ?SDK Overload ? Siloed Ecosystems ?Siloed Ecosystems ? New IoT Apps ?New IoT Apps ? Developer. Tizen.org Developer. android.com Developer. apple.com developers.facebook.com developer.paypal. com dev.twitter.com Iotivity SDK AllJoyn SDK MQTT SDK Platf orm SDK Web Service SDK IoT SDK Smart Things Flipkar t Sonos Sphero Path Twitter Skype Hue Store 1 Store 2 Store 3 He alth car e Ser vic e User Context Location + Time Smart Home + Retail Partial No Open Standards OCF & RVI Yes !!!

×