Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
+
Device Management
for OSGi IoT Gateways
Luca Dazi @ Eurotech
JulienVermillard @ Sierra Wireless
+
Agenda
 Introduction to IoT Gateways and Kura
 Device Management for OSGi
 Which Protocols?
 MQTT
 LwM2M/CoAP
 Dem...
+
Business
Application
IoT Gateways
Revolution:Towards Real-time Actionable Data
MQTT
Broker
+
Eclipse Open IoT Stack for Java
Eclipse Kura
Java SE 7 / 8 (OpenJDK)
OSGi Application Container (Eclipse Equinox,Concier...
+
Device Management
 Manage the OSGi application software
 Remote OSGi Bundle Updates
 Remote OSGi Service Configuratio...
+
Device Management
Which protocol?
 Usual suspects
 TR-069
 OMA-DM
 LwM2M
 Can we have a Device Management over the ...
+
M2M Integration Technologies
Message Queue Telemetry Transport (MQTT)
 M2M Messaging Protocol
 Low Bandwidth / Low Pow...
+
Kura MQTT Topic Namespace
Introduction
 Data Topics
 Used for push of sensor data, metrics, or other data
 Example: [...
+
Kura MQTT Resource Management
REST like
 Request
 CTL/[account_id]/[client_id]/[app_id]/GET/[resource_id]
 CTL/[accou...
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Responder
Subscribes on request topic:
CTL/kura/device1/C...
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Requester
Generates request metadata (for request payload...
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Requester
Sends MQTT request
CTL/kura/device1/CONF-V1/GET...
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Responder
Handles request and generates response using re...
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Responder
Sends response to requesting client
CTL/kura/ma...
+
MQTT Request / Response
Response Codes: HTTP Like
 response_code
 200 (RESPONSE_CODE_OK)
 400 (RESPONSE_CODE_BAD_REQU...
+
Kura OSGi Management via MQTT
 Bundle management
 Retrieve Bundle information for installed bundles
 Start/Stop curre...
+
CoAP
 RESTful protocol designed from scratch IETF
 Transparent mapping to HTTP:
 GET, POST, PUT, DELETE and URLs
 Fe...
+
Open Mobile Alliance standard
Device management on top of CoAP
Object model: for D.M. or Applications
(IPSO)
OMA Ligh...
+
Security
Device
Location
Firmware
Connectivity monitoring & management
Lock & wipe
You can provide your own object...
+
/{object}/{instance}/{resource}
Example:
“/6/0” : get the whole GPS position instance
“/6/0/2” : get only the altitude r...
+
LwM2M in Kura
Draft
Kura Service LwM2M Object
System Service Device
Position Service Location
Kura Firmware
Modem Monito...
+
LwM2M Software Configuration
Kura Data Service Component LwM2M Objects
/90 – Custom Object for Kura Component
/90/7 – Lw...
+
Demo
+
Next Steps
 https://github.com/eclipse/kura/tree/lwm2m
 CoAP as alternative DataTransport in Kura
 LwM2M over MQTT
 ...
+1 0 -1
Sign in: www.eclipsecon.org
Evaluate the sessions
Upcoming SlideShare
Loading in …5
×

Device Management for OSGi IoT Gateways

2,092 views

Published on

Introduction to IoT Gateways and Kura
Device Management for OSGi
Which Protocols? MQTT, LwM2M/CoAP
Next Step

Published in: Business
  • Be the first to comment

Device Management for OSGi IoT Gateways

  1. 1. + Device Management for OSGi IoT Gateways Luca Dazi @ Eurotech JulienVermillard @ Sierra Wireless
  2. 2. + Agenda  Introduction to IoT Gateways and Kura  Device Management for OSGi  Which Protocols?  MQTT  LwM2M/CoAP  Demo  Next Steps
  3. 3. + Business Application IoT Gateways Revolution:Towards Real-time Actionable Data MQTT Broker
  4. 4. + Eclipse Open IoT Stack for Java Eclipse Kura Java SE 7 / 8 (OpenJDK) OSGi Application Container (Eclipse Equinox,Concierge) Device Abstraction javax.comm Basic Gateway Services DB Service Clock Service Device Profile Watchdog Network Configuration Field ProtocolsConnectivity and Delivery Data Services MQTT Paho AdministrationGUI Applications Your Application RemoteManagement Configuration Management javax.usb w/ udev access Cloud Services Your Application Firewall, Port Forwarding Link Monitors Cellular, Wi-Fi, Ethernet GPS Position GPIO / SPI / I2C jdk.dio Modbus CANBus Custom Protocols Updates Management RemoteAccess Java HID APIs javax.bluetooth / BLE ... Your Application
  5. 5. + Device Management  Manage the OSGi application software  Remote OSGi Bundle Updates  Remote OSGi Service Configuration  Remote OSGi Control  Management of the Device  Firmware Updates  Monitor and Diagnostics  Remote Access
  6. 6. + Device Management Which protocol?  Usual suspects  TR-069  OMA-DM  LwM2M  Can we have a Device Management over the telemetry protocol? - Single protocol - Single security - Simplified deployment - Simplified management  Kura Case Study  MQTT  CoAP/LwM2M
  7. 7. + M2M Integration Technologies Message Queue Telemetry Transport (MQTT)  M2M Messaging Protocol  Low Bandwidth / Low Power  2-way Communication  Publish and Subscribe  Hierarchical Topic Namespaces  Data Payload Agnostic  Device Initiated Connection  Firewall-friendly  SSL and Authenticated  Large ecosystem
  8. 8. + Kura MQTT Topic Namespace Introduction  Data Topics  Used for push of sensor data, metrics, or other data  Example: [account_id]/[client_id]/...  Control Topics  Used for dynamic request/response interactions between clients  Example: CTL/[account_id]/[client_id]/[app_id]/…  Separate data from control topics  Provides increased granularity on ACLs  Allows for segregation of persistent and transient data
  9. 9. + Kura MQTT Resource Management REST like  Request  CTL/[account_id]/[client_id]/[app_id]/GET/[resource_id]  CTL/[account_id]/[client_id]/[app_id]/POST/[resource_id]  CTL/[account_id]/[client_id]/[app_id]/PUT/[resource_id]  CTL/[account_id]/[client_id]/[app_id]/DEL/[resource_id]  CTL/[account_id]/[client_id]/[app_id]/EXEC/[resource_id]  Response  CTL/[account_id]/[requester_client_id]/[app_id]/REPLY/[req_id]
  10. 10. + MQTT Request/Response Responder (device1) Requester (manager1) Responder Subscribes on request topic: CTL/kura/device1/CONF-V1/GET/configurations
  11. 11. + MQTT Request/Response Responder (device1) Requester (manager1) Requester Generates request metadata (for request payload): request_id: 1363603920892 request_client_id: manager1 Subscribes on reply topic: CTL/kura/manager1/CONF-V1/REPLY/1363603920892
  12. 12. + MQTT Request/Response Responder (device1) Requester (manager1) Requester Sends MQTT request CTL/kura/device1/CONF-V1/GET/configurations
  13. 13. + MQTT Request/Response Responder (device1) Requester (manager1) Responder Handles request and generates response using request specific parameters in the payload of the request • [request_id] and [request_client_id] included in request payload • Manditory response code • Optional application specific parameters • Optional logs, exceptions, stacktraces, etc
  14. 14. + MQTT Request/Response Responder (device1) Requester (manager1) Responder Sends response to requesting client CTL/kura/manager1/CONF-V1/REPLY/1363603920892
  15. 15. + MQTT Request / Response Response Codes: HTTP Like  response_code  200 (RESPONSE_CODE_OK)  400 (RESPONSE_CODE_BAD_REQUEST)  404 (RESPONSE_CODE_NOTFOUND)  500 (RESPONSE_CODE_ERROR)  response_exception_message  Optional and contains error message if an error occurred  response_stacktrace_message  Optional and contains a stacktrace
  16. 16. + Kura OSGi Management via MQTT  Bundle management  Retrieve Bundle information for installed bundles  Start/Stop currently installed bundles  Deployment packages  Install new deployment packages (collections of OSGi Bundles)  Update/Uninstall existing deployment packages  Configuration Management  Retrieve, review, update Service Configuration  Support OSGi MetaType service descriptors  Remote Access
  17. 17. + CoAP  RESTful protocol designed from scratch IETF  Transparent mapping to HTTP:  GET, POST, PUT, DELETE and URLs  Features for M2M scenario (observe & sms)  Based on UDP, draft for using TCP
  18. 18. + Open Mobile Alliance standard Device management on top of CoAP Object model: for D.M. or Applications (IPSO) OMA Lightweight M2M
  19. 19. + Security Device Location Firmware Connectivity monitoring & management Lock & wipe You can provide your own object to OMA Standard Objects
  20. 20. + /{object}/{instance}/{resource} Example: “/6/0” : get the whole GPS position instance “/6/0/2” : get only the altitude resource URL Example
  21. 21. + LwM2M in Kura Draft Kura Service LwM2M Object System Service Device Position Service Location Kura Firmware Modem Monitor Connectivity Monitoring Cloud/Data/Transport Service (TBD) Connectivity Statistics Kura Deployment Package Software Management Kura Component Meta-Type Custom: Software Configuration Definition Kura Configurable Component Custom: Software Configuration Values
  22. 22. + LwM2M Software Configuration Kura Data Service Component LwM2M Objects /90 – Custom Object for Kura Component /90/7 – LwM2M Object Instance /90/7/0 – String Resource (name) Data Service /90/7/3 – Multiple String Resource (Value list) ‘false’,’60’,’10’, ... /91 – Custom Object for Kura Metatype Definitions ... /91/20 – LwM2M Object Instance /91/20/0 – String Resource (id) disconnect.quiesce-timeout /91/18/2 – Integer Resource (type) 1 /90/7/4 – Multiple Integer Resource (AD list) 0x012, 0x013, 0x014, ... ...
  23. 23. + Demo
  24. 24. + Next Steps  https://github.com/eclipse/kura/tree/lwm2m  CoAP as alternative DataTransport in Kura  LwM2M over MQTT  Join the discussion:  kura-dev mailing list  iot-dev mailing list
  25. 25. +1 0 -1 Sign in: www.eclipsecon.org Evaluate the sessions

×