Download - OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

Transcript
Page 1: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 1|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Matthias Kovatsch

[email protected]

The OMA LWM2M DevKit Client Simulator

and CoAP Implementations

Wednesday, 29 Jan 2015OMA LWM2M Workshop

Düsseldorf, Germany

Page 2: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 2|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

The OMA LWM2M DevKit

LWM2M Protocol Handling in the Web Browser

Page 3: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 3|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Interactive LWM2M Client in the Web Browser

OMA LWM2M DevKit Live LWM2M Server

Page 4: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 4|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

LWM2M Client support

8 OMA-label Objects with descriptions

Registration Interface

Device Management and Service Enablement Interface

Information Reporting Interface

Visualization of LWM2M operations and CoAP messages

Interactive guide

Status of Version 0.5.x

Page 5: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 5|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Getting Started

Launcher button Browser addressbar

URI scheme: coap+lwm2m

Page 6: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 6|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Organization of the GUI

1

Page 7: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 7|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Organization of the GUI

2

Page 8: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 8|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Organization of the GUI

3

Page 9: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 9|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

4

Page 10: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 10|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

5

Page 11: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 11|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

5

Page 12: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 12|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

6

Page 13: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 13|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

7

Page 14: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 14|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

8

Page 15: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 15|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

9

Page 16: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 16|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

10

Page 17: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 17|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Interactive Guide

Page 18: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 18|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

https://addons.mozilla.org/firefox/addon/oma-lwm2m-devkit/

Page 19: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 19|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

https://github.com/OpenMobileAlliance/OMA-LWM2M-DevKit

Page 20: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 20|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Installing the Source Code

Page 21: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 21|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

chrome/

content/

copper/

lwm2m/

main.xul

main.js

skin/

clients/

components/

defaults/

objects/

chrome.manifest

install.rdf

“chrome you put on the bare metal”

GUI and scripts (“active parts”)

CoAP implementation scripts

LWM2M implementation scripts

GUI layout (also loads scripts)

start script (onload)

CSS and images

loadable LWM2M Clients (JSON)

protocol handler (registered for coap+lwm2m)

initial registry values (about:config)

LWM2M Object definitions (JSON)

manifest

metadata (name, version, icon, …)

Extending the Source Code

Page 22: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 22|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

chrome/content/lwm2m/

CoapHandlers.js

ClientHandler.js

EncodingJSON.js

EncodingTLV.js

Helpers.js

InterfaceDeviceManagement.js

InterfaceInformationReporting.js

InterfaceRegistration.js

Launcher.js

Logger.js

Tooltips.js

message callbacks

LWM2M Client functions

LWM2M JSON

LWM2M TLV

helper functions

Device Management

Information Reporting

Registration

launcher button functions

logging and debugging

interactive guide

Extending the Source Code

Page 23: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 23|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

E-mail

[email protected]

Github issueshttps://github.com/OpenMobileAlliance/OMA-LWM2M-DevKit/issues

Feedback, please

Page 24: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 24|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Custom LWM2M Clients and Objects

Integration with the LWM2M Editor

Common JSON format?

Leshan Ddf2json converter, ARM server configuration, …

LWM2M Server support

For DevKit Client when offline or no sandbox available

For other LWM2M Clients through Server Initiated Bootstrap

Outlook for Version 1.0

Page 25: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 25|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

CoAP Implementations

http://coap.technology/

Page 26: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 26|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Copper (Cu) CoAP user-agent

Page 27: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 27|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

CoAP protocol handler

for Mozilla Firefox

Browsing and bookmarking

of CoAP URIs

Interaction with resource like

RESTClient or Poster

3-Clause BSD

Copper (Cu) CoAP user-agent

https://addons.mozilla.org/firefox/addon/copper-270430/

Page 28: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 28|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Embedded CoAP Web server

for Contiki OS

Memory footprint

ROM < 10 KiB (… 3 – 4 KiB)

RAM < 1.5 KiB

POSIX ports exist

(e.g., Wakaama)

3-Clause BSD

Erbium (Er) REST Engine

https://github.com/contiki-os/contiki

Page 29: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 29|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

CoAP library (no framework)

POSIX compatible

Port for TinyOS (CoapBlip)

Larger memory footprint

than Erbium

2-Clause BSD + GPLv2

libcoap

http://libcoap.sourceforge.net/

Page 30: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 30|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

CoAP for Node.js

Modeled after the html module

MIT license

node-coap

https://github.com/mcollina/node-coap

Page 31: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

The OMA LWM2M DevKit Client Simulator and CoAP Implementations 31|Matthias Kovatsch

http://people.inf.ethz.ch/mkovatsc

Java CoAP framework

at the Eclipse Foundation

For the service backend

Very high throughput

DTLS 1.2 implementation

Basis for Leshan

EPL + EDL

Californium (Cf) CoAP framework

http://www.eclipse.org/californium/

Page 32: OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

Questions?

Matthias Kovatsch https://github.com/mkovatsc/

[email protected] http://people.inf.ethz.ch/mkovatsc/