SlideShare a Scribd company logo
+
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
 Demo
 Next Steps
+
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,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
+
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
+
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
+
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
+
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
+
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]
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Responder
Subscribes on request topic:
CTL/kura/device1/CONF-V1/GET/configurations
+
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
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Requester
Sends MQTT request
CTL/kura/device1/CONF-V1/GET/configurations
+
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
+
MQTT Request/Response
Responder
(device1)
Requester
(manager1)
Responder
Sends response to requesting client
CTL/kura/manager1/CONF-V1/REPLY/1363603920892
+
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
+
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
+
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
+
Open Mobile Alliance standard
Device management on top of CoAP
Object model: for D.M. or Applications
(IPSO)
OMA Lightweight M2M
+
Security
Device
Location
Firmware
Connectivity monitoring & management
Lock & wipe
You can provide your own object to OMA
Standard Objects
+
/{object}/{instance}/{resource}
Example:
“/6/0” : get the whole GPS position instance
“/6/0/2” : get only the altitude resource
URL Example
+
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
+
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, ...
...
+
Demo
+
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
+1 0 -1
Sign in: www.eclipsecon.org
Evaluate the sessions

More Related Content

PDF
Addressing the Complexity and Risks of M2M Projects - M2M World Congress Apri...
PDF
Creating a Java Internet of Things Gateway
PDF
Is your OT/IT offering IoT-ready?
PDF
Internet of Things, Cloud and Big Data
PDF
How to bootstrap your IoT project
PDF
Open Source M2M IoT Gateways
PDF
L’IoT industriale e i vantaggi competitivi della trasformazione digitale
PDF
Kura M2M IoT Gateway
Addressing the Complexity and Risks of M2M Projects - M2M World Congress Apri...
Creating a Java Internet of Things Gateway
Is your OT/IT offering IoT-ready?
Internet of Things, Cloud and Big Data
How to bootstrap your IoT project
Open Source M2M IoT Gateways
L’IoT industriale e i vantaggi competitivi della trasformazione digitale
Kura M2M IoT Gateway

What's hot (20)

PDF
Eclipse kura in industry 4.0 david woodard
PDF
Real World IoT Architectures and Projects with Eclipse IoT
PDF
Developing Interoperable Components for an Open IoT Foundation
PDF
Iot gateways march 2015
PDF
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
PDF
OSGi and Java in Industrial IoT
PDF
An IoT gateway centric architecture to provide novel m2m services
PDF
Encapsulating Complexity in IoT Solutions
PDF
Real World IoT Architecture Use Cases
PDF
IoT Solutions Made Simple with Everyware IoT
PDF
Encapsulating Complexity in IoT Solutions
PDF
Intelligent IoT gateway: pushing analytics at the edge
PDF
IoT the driver of Business Innovation: better products, new services and...
PPTX
IOTprotocols and overview (SSI)
PDF
Secure IOT Gateway
PDF
IoT / M2M Solutions with Informix in the IoT Gateway
PDF
IoT Business Perspectives
PDF
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
PDF
M2M in Transportation, Mining and Agriculture
PDF
Simplify Internet of Things with an Intelligent Gateway
Eclipse kura in industry 4.0 david woodard
Real World IoT Architectures and Projects with Eclipse IoT
Developing Interoperable Components for an Open IoT Foundation
Iot gateways march 2015
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
OSGi and Java in Industrial IoT
An IoT gateway centric architecture to provide novel m2m services
Encapsulating Complexity in IoT Solutions
Real World IoT Architecture Use Cases
IoT Solutions Made Simple with Everyware IoT
Encapsulating Complexity in IoT Solutions
Intelligent IoT gateway: pushing analytics at the edge
IoT the driver of Business Innovation: better products, new services and...
IOTprotocols and overview (SSI)
Secure IOT Gateway
IoT / M2M Solutions with Informix in the IoT Gateway
IoT Business Perspectives
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
M2M in Transportation, Mining and Agriculture
Simplify Internet of Things with an Intelligent Gateway
Ad

Similar to Device Management for OSGi IoT Gateways (20)

PPTX
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
PPT
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
PPTX
Introducing PagerDuty Process Automation
PPTX
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
PPTX
Gab2016 - Découverte d'Azure IoT Hub
PDF
Apollo Cloud Edge Solution - 20180518
PPT
Cloud Connectivity Service
PDF
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
PDF
BroadLink Cloud Service introduction.pdf
PDF
AWS IoT Deep Dive
PDF
Role of cloud and analytics in IoT
PPTX
Cloud to hybrid edge cloud evolution Jun112020.pptx
PPTX
OMA LWM2M Tutorial by ARM to IETF ACE
PPTX
Device Management with OMA Lightweight M2M
ODP
Implementing Private Clouds
PPTX
Architecting io t solutions with microisoft azure ignite tour version
PDF
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
PDF
한컴MDS_Microsoft Azure IoT Overview
PPTX
Webinar: OPC UA Clients on Linux Systems with InduSoft Web Studio-InduSoft Pr...
PDF
A walk through Azure IoT
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
Introducing PagerDuty Process Automation
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Gab2016 - Découverte d'Azure IoT Hub
Apollo Cloud Edge Solution - 20180518
Cloud Connectivity Service
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
BroadLink Cloud Service introduction.pdf
AWS IoT Deep Dive
Role of cloud and analytics in IoT
Cloud to hybrid edge cloud evolution Jun112020.pptx
OMA LWM2M Tutorial by ARM to IETF ACE
Device Management with OMA Lightweight M2M
Implementing Private Clouds
Architecting io t solutions with microisoft azure ignite tour version
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
한컴MDS_Microsoft Azure IoT Overview
Webinar: OPC UA Clients on Linux Systems with InduSoft Web Studio-InduSoft Pr...
A walk through Azure IoT
Ad

More from Eurotech (15)

PDF
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
PDF
Integrating electrical systems easily – accelerating the path towards sustain...
PDF
Enabling supply chain flexibility and IoT scale with zero touch provisioning
PDF
Automatic People and Passenger Counters
PDF
IoT Solutions for Smart Energy Smart Grid and Smart Utility Applications
PDF
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
PDF
Reshaping Business Through IoT: Key Technology Factors to Consider
PDF
Eurotech and Red Hat collaboration simplifies Internet of Things integration ...
PDF
Internet of Things: a reality check
PDF
HPC the new normal
PDF
Industrial Internet of Things in a Box
PDF
IoT Acceleration Secrets
PDF
IoT Security in Action - Boston Sept 2015
PDF
IoT Security Elements
PDF
Is your MQTT broker IoT ready?
From Tracks to Highways: Boosting Infrastructure Safety with Mobile Edge AIoT
Integrating electrical systems easily – accelerating the path towards sustain...
Enabling supply chain flexibility and IoT scale with zero touch provisioning
Automatic People and Passenger Counters
IoT Solutions for Smart Energy Smart Grid and Smart Utility Applications
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Reshaping Business Through IoT: Key Technology Factors to Consider
Eurotech and Red Hat collaboration simplifies Internet of Things integration ...
Internet of Things: a reality check
HPC the new normal
Industrial Internet of Things in a Box
IoT Acceleration Secrets
IoT Security in Action - Boston Sept 2015
IoT Security Elements
Is your MQTT broker IoT ready?

Recently uploaded (20)

PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PPTX
New Microsoft PowerPoint Presentation - Copy.pptx
PDF
Training And Development of Employee .pdf
PDF
Unit 1 Cost Accounting - Cost sheet
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
PDF
Chapter 5_Foreign Exchange Market in .pdf
PDF
IFRS Notes in your pocket for study all the time
PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
PPT
Data mining for business intelligence ch04 sharda
PPTX
Amazon (Business Studies) management studies
PDF
Business model innovation report 2022.pdf
PPTX
Lecture (1)-Introduction.pptx business communication
PPTX
HR Introduction Slide (1).pptx on hr intro
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
COST SHEET- Tender and Quotation unit 2.pdf
Power and position in leadershipDOC-20250808-WA0011..pdf
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
New Microsoft PowerPoint Presentation - Copy.pptx
Training And Development of Employee .pdf
Unit 1 Cost Accounting - Cost sheet
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
Chapter 5_Foreign Exchange Market in .pdf
IFRS Notes in your pocket for study all the time
DOC-20250806-WA0002._20250806_112011_0000.pdf
Roadmap Map-digital Banking feature MB,IB,AB
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Data mining for business intelligence ch04 sharda
Amazon (Business Studies) management studies
Business model innovation report 2022.pdf
Lecture (1)-Introduction.pptx business communication
HR Introduction Slide (1).pptx on hr intro
ICG2025_ICG 6th steering committee 30-8-24.pptx

Device Management for OSGi IoT Gateways

  • 1. + Device Management for OSGi IoT Gateways Luca Dazi @ Eurotech JulienVermillard @ Sierra Wireless
  • 2. + Agenda  Introduction to IoT Gateways and Kura  Device Management for OSGi  Which Protocols?  MQTT  LwM2M/CoAP  Demo  Next Steps
  • 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. + 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. + 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. + 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. + 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. + 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. + MQTT Request/Response Responder (device1) Requester (manager1) Responder Subscribes on request topic: CTL/kura/device1/CONF-V1/GET/configurations
  • 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
  • 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. + MQTT Request/Response Responder (device1) Requester (manager1) Responder Sends response to requesting client CTL/kura/manager1/CONF-V1/REPLY/1363603920892
  • 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. + 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. + 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. + Open Mobile Alliance standard Device management on top of CoAP Object model: for D.M. or Applications (IPSO) OMA Lightweight M2M
  • 19. + Security Device Location Firmware Connectivity monitoring & management Lock & wipe You can provide your own object to OMA Standard Objects
  • 20. + /{object}/{instance}/{resource} Example: “/6/0” : get the whole GPS position instance “/6/0/2” : get only the altitude resource URL Example
  • 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. + 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, ... ...
  • 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. +1 0 -1 Sign in: www.eclipsecon.org Evaluate the sessions