leshan open source project for an iot platform ... · leshan open source project for an iot...
TRANSCRIPT
Applicability of the Leshan Open Source Project
for an IoT platform
Octavian Păunescu, Technical Consultant
The BRIEF
The standard
– OMA LWM2M– is evolving
– The Leshan (Java) implementation – is in progress
– The devices – are being worked on.
However
– It’s functional
– It’s extensible
– Contributions are welcomed.
2
Open Source - Friend or Foe
Your Product/Service Open Source
Your Product/Service Open Source
Building OSS
Building with OSS
Building for OSS
Building on OSS
Your Product/Service
Open Source Your Product/Service
Open Source
The Integration - block View
Hewlett Packard Enterprise
Open Source
The Integration - block View #2
Open Source
Hewlett Packard Enterprise
The Integration - block View #3
CRM Order Mgmt
Rating BillingRegistrationDiscoverySecurity
ProvisioningDiagnostics&MonitoringInventory
Management
Data enhancement and Monetization
The Integration - Eyecandy
Device and Service Management
Menu: DASHBOARD
The Integration - EyecandyMenu: TOPOLOGY
The Integration - Eyecandy
Menu: TOPOLOGY > ASSET > DEVICE > SENSOR > View JSON
OMA LWM2M
remote management of M2M devices
An API on top ofcoap:// = “HTTP over UDP” + observe & discovery
the Object model
The WHY: The HOW: The WHAT:
OMA LWM2M
REST like URLs/{object}/{instance}/{resource}(numerical ids)
Define custom objects. (IPSO Alliance Smart Objects)
OMA LWM2M
OMA Normative Objects
Object Name ID Multiple instances
LWM2M Security 0 YES
LWM2M Server 1 YES
Access Control 2 YES
Device 3 NO
Connectivity Monitoring 4 NO
Firmware 5 NO
Location 6 NO
OMA LWM2MIPSO Alliance Objects
Object Name ID Multiple instances
Digital Input 3200 YES
Digital Output 3201 YES
Analogue Input 3202 YES
Analogue Output 3203 YES
Generic Sensor 3300 YES
Luminosity Sensor 3301 YES
...
Barometer 3315 YES
Digital Input 3200 YES
The Leshan
LWM2M Server
Interfaces➢ Bootstrapping➢ Client Registration➢ Device Management➢ Access and Rights➢ Information Reporting
Stack➢ CoAP➢ DTLS security➢ UDP / SMS
OMA Resources
CoAP
UDP
DTLS
SMS
M2M App.
M2M App.
Device(s)/ Gateway(s)
LWM2M Client
The Leshan
FeaturesBootstrap (client initiated)
Registration
R/W/Create objects
DTLS
– pre-shared key (PSK)– raw-public key– certificate mode (X.509)
The Gap
OMA-TS-LightweightM2M 0.1.11-M6 Leshan release
1. Bootstrap - not yet fully implemented
2. Client Registration
Register operation - implemented only with UDP Transport Binding Mode (lacking: SMS binding)
Deregister ✓
Update operation ✓
The Gap
OMA-TS-LightweightM2M 0.1.11-M6 Leshan release
3. Device Management and Service Enablement
Read ✓
Discover ?
Write ✓
Write attributes ( LWM2M Object Attributes)
?
Execute, Create, Delete ✓
The Gap
OMA-TS-LightweightM2M 0.1.11-M6 Leshan release
4. Information Reporting
Observe ✓
Notify ✓
Cancel Observation ✓
The Gap
Contributions needed on:
The Access And Rights object
The Security stack work is being done on X.509 certificate based security support
The Queue Mode queue messages and asynchronously send responses from the server to clients
The LACK
Load balancing➢ Distribution of Leshan instances
Session Data (in memory only):➢ registration data (org.eclipse.leshan.server.client.ClientRegistry)➢ active observations (org.eclipse.leshan.server.observation.ObservationRegistry)➢ security info. (org.eclipse.leshan.server.security.SecurityRegistry)
Secure communications using DTLS (default: in-memory only)
➢ implement an org.eclipse.californium.scandium.dtls.ConnectionStore to share the DTLS session data
oneM2M Specifications
21
Requirements
– TS 0002
Architecture APIs Mappings Security and management
– TS 0001 – TS 0004 = Service Layer Core Protocol Specification
– TS 0008 (CoAP Protocol Binding)
– TS 0009 (HTTP)– TS 0010 (MQTT)
– TS 0003– TS 0005– TS 0006
Release 1 (January 2015)
oneM2M Specifications
22
Smart Factories Smart Home End to end security Semantic interoperability
Generic interworking framework
– Home Gateway Initiative
– TS-0014 (LWM2M Interworking)
– TS-0013 (Interoperability Testing)
Draft Release 2 (expected Autumn 2016)
oneM2M Objects
23
Release 1(jan. 2015)
oneM2M <-> LWM2M interoperability
24
Device Object
Attribute Name of [deviceInfo] Mapping
[deviceInfo] Device (/3)
labels LWM2M Device Object
mgmtDefinition deviceInfo
objectID urn:oma:lwm2m:oma:3
objectPath /3/0
description
oneM2M <-> LWM2M interoperability
25
Device Object
Attribute Name of [deviceInfo] Mapping
manufacturer /3/0/0
model /3/0/1
deviceType /3/0/17
fwVersion /3/0/3
swVersion /3/0/19
hwVersion /3/0/18
serialNumber /3/0/2
oneM2M <-> LWM2M interoperability
26
Device Object
Attribute Name of [deviceInfo] Mapping
powerSourceAvail /3/0/6
powerSourceVolt /3/0/7
powerSourceCurrent /3/0/8
errorCode /3/0/11
resetErrorCode /3/0/12
currentTime /3/0/13
utcOffset /3/0/14
The Q&A, The GoodBye
The Post Scriptum: URLs
The solutions The standards
– HPE IoT Platform v1.1
– Leshan Github v0.1.11
– Wakaama (C++ client server lib, Intel)
– DevKit, the Firefox Add-on
– OMA LWM2M releases : v1.0 (Open Mobile
Alliance)
– Object & Resource Registry
– OMA LWM2M Management Object Editor
– oneM2M LWM2M_objects_mapping
– LWM2M Interworking (September 2015)
– OneM2M XSDs