OMA LwM2M Workshop - Matthias Kovatsch, OMA LwM2M DevKit

Post on 17-Jul-2015

753 views 8 download

transcript

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

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

Matthias Kovatsch

kovatsch@inf.ethz.ch

The OMA LWM2M DevKit Client Simulator

and CoAP Implementations

Wednesday, 29 Jan 2015OMA LWM2M Workshop

Düsseldorf, Germany

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

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

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

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

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

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

Organization of the GUI

1

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

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

Organization of the GUI

2

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

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

Organization of the GUI

3

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

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

4

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

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

5

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

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

5

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

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

6

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

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

7

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

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

8

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

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

9

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

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

10

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

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

Interactive Guide

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/

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

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

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

Installing the Source Code

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

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

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

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

E-mail

kovatsch@inf.ethz.ch

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

Feedback, please

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

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

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

CoAP Implementations

http://coap.technology/

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

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

Copper (Cu) CoAP user-agent

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/

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

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/

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

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/

Questions?

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

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