Leshan Open Source Project for an IoT platform ... · Leshan Open Source Project for an IoT...

Preview:

Citation preview

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

octavian.paunescu@hpe.com

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