SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Manage all the things,
small and big,
with open source
LwM2M implementations
Benjamin Cabé* – Eclipse Foundation
* many thanks to Julien Vermillard for most of the slides!
Device Management
● Configure the device
○ Reboot
○ Update APN, current date/time, …
● Update the software (and firmware)
● Manage the software
○ Change settings
○ Access logs
● Monitor and gather connectivity statistics
○ Amount of sent/received data
○ Number of SMS received/sent
2
Device Management
3
Device Management server
(not necessarily the server used for
IoT application data)
● Has security credentials for
devices on the field (X.509
certificate, public key, …)
● Provides high-level API for
batch updates
● May integrate with IT backendIoT Device
● Runs a device management
agent, usually in the firmware
● Embeds a private/public key
pair to cipher communication
● Has DM server’s public key to
authenticate it is talking to
intended server
D.M. standards protocols
● Usual suspects:
○ TR-069
○ OMA-DM
○ Lightweight M2M
● Goals: provide a way to manage fleets of
devices that is application-agnostic
4
Lightweight M2M
● A new Open Mobile Alliance standard
● An OMA-DM successor for M2M targets
● Built on top of CoAP
○ much lighter than OMA-DM or TRS-069
○ enables the use of SMS for wakeup (or any REST
interaction really!)
5
Lightweight M2M (LwM2M)
● An Open Mobile Alliance standard
● A « reboot » of OMA-DM for M2M
● Built on top of CoAP
○ much lighter than OMA-DM or TRS-069
○ enables the use of SMS for wakeup (or any
REST interaction really!)
● REST API for Device Management
● Standard objects for Security, Location,
Firmware, …
○ and also: IPSO Smart Objects, 3rd
party, …
LWM2M features
● Firmware upgrade (in band or over HTTP)
● Device monitoring and configuration
● Server provisioning (bootstraping)
7
LWM2M: standard objects
● Device
● Server
● Connectivity monitoring
● Connectivity statistics
● Location
● Firmware
LwM2M objects have a numerical identifier
(Device = 3, Location = 6, …)
8
LWM2M URIs
URLs:
/{object}/{instance}/{resource}
Example:
/6/0 = whole position object (binary TLV)
/6/0/2 = only the altitude value
9
Leshan
Open-source Lightweight M2M for Java
Leshan
A Java library for implementing LwM2M servers
(and clients)
Friendly for any Java developer (no framework,
few dependencies)
But also a Web UI for discovering and testing the
protocol
Features
Client initiated bootstrap
Registration/Deregistration
Read, Write, Create objects
TLV encoding/decoding
OSGi-friendly
Features (cont’d)
DTLS Pre shared key
DTLS Raw public key
Standalone web-UI for testing
Server
Simple Java library
Build using “mvn install”
Based on Californium and Scandium
Under refactoring for accepting other CoAP lib
Server API example
public void start() {
// Build LWM2M server
LeshanServerBuilder builder = new LeshanServerBuilder();
lwServer = builder.build();
lwServer.getClientRegistry().addListener(new ClientRegistryListener() {
@Override
public void registered(Client client) {
System.out.println("New registered client with endpoint: " +
client.getEndpoint());
}
@Override
public void updated(Client clientUpdated) {
System.out.println("Registration updated");
}
@Override
public void unregistered(Client client) {
System.out.println("Registration deleted");
}
});
// start
lwServer.start();
System.out.println("Demo server started");
}
Server API example
// prepare the new value
LwM2mResource currentTimeResource = new LwM2mResource(13,
Value.newDateValue(new Date()));
// send a write request to a client
WriteRequest writeCurrentTime = new WriteRequest(client, 3, 0, 13,
currentTimeResource, ContentFormat.TEXT, true);
ClientResponse response = lwServer.send(writeCurrentTime);
System.out.println("Response to write request from client " +
client.getEndpoint() + ": " + response.getCode());
Client
Under construction! API will probably change
Create objects, answer to server requests
DTLS supported in master
Check out: leshan-client-example
Next steps
Eclipse.org migration
X.509 DTLS
CoAP shim, CoAP TCP
Stable API for June (inc. client polishing)
And also:
JSON content-type
SMS
Server initiated bootstrap
Eclipse Wakaama
Lightweight M2M implementation in C
Photo credits: https://www.flickr.com/photos/30126248@N00/2890986348
Wakaama
A C client and server implementation of LwM2M
Not a shared library (.so/.dll)
POSIX compliant and embedded friendly
Plug your own IP stack and DTLS implementation
Features
Register, registration update, deregister
Read, write resources
Read, write, create, delete object instances
TLV or plain text
Observe
lwm2m_object_t * get_object_device()
{
lwm2m_object_t * deviceObj;
deviceObj = (lwm2m_object_t *)lwm2m_malloc(sizeof(lwm2m_object_t));
if (NULL != deviceObj)
{
memset(deviceObj, 0, sizeof(lwm2m_object_t));
deviceObj->objID = 3;
deviceObj->readFunc = prv_device_read;
deviceObj->writeFunc = prv_device_write;
deviceObj->executeFunc = prv_device_execute;
deviceObj->userData = lwm2m_malloc(sizeof(device_data_t));
if (NULL != deviceObj->userData)
{
((device_data_t*)deviceObj->userData)->time = 1367491215;
strcpy(((device_data_t*)deviceObj->userData)->time_offset, "+01:00");
}
else
{
lwm2m_free(deviceObj);
deviceObj = NULL;
}
}
return deviceObj;
}
Create obje
objArray[0] = get_object_device();
if (NULL == objArray[0])
{
fprintf(stderr, "Failed to create Device objectrn");
return -1;
}
objArray[1] = get_object_firmware();
if (NULL == objArray[1])
{
fprintf(stderr, "Failed to create Firmware objectrn");
return -1;
}
objArray[2] = get_test_object();
if (NULL == objArray[2])
{
fprintf(stderr, "Failed to create test objectrn");
return -1;
}
lwm2mH = lwm2m_init(prv_connect_server, prv_buffer_send, &data);
if (NULL == lwm2mH)
{
fprintf(stderr, "lwm2m_init() failedrn");
return -1;
}
result = lwm2m_configure(lwm2mH, "testlwm2mclient", BINDING_U, NULL,
OBJ_COUNT, objArray);
...
result = lwm2m_start(lwm2mH);
Configure
Wakaama
while (0 == g_quit)
{
struct timeval tv;
tv.tv_sec = 60;
tv.tv_usec = 0;
/*
* This function does two things:
* - first it does the work needed by liblwm2m (eg. (re)sending some packets).
* - Secondly it adjust the timeout value (default 60s) depending on the
* state of the transaction (eg. retransmission) and the
* time between the next operation
*/
result = lwm2m_step(lwm2mH, &tv);
if (result != 0)
{
fprintf(stderr, "lwm2m_step() failed: 0x%Xrn", result);
return -1;
}
}
Active loop
Next?
Device initiated bootstrap
More examples:
https://github.com/kartben/Wakaama-mbed
Server?
Block transfer?
Hack it into real devices!
… DEMO TIME!
Spark Core
● Cortex-M3 STM32,
● RAM/ROM 20/128k, 72MHz
● WiFi
Wakaama + TinydTLS-0.5
Functions: dTLS (PSK)
LwM2M Objects: device
Footprint:
“empty”-App: 75.6 KB Flash / 13.1 KB RAM
simple-lwm2m: 107 KB Flash / 15.2 KB RAM (overhead = 32KB / 3.1kB!)
U-blox MBed.org
● Cortex-M3 (NXP LPC1768),
● RAM/ROM 20/128k, 96MHz
● GPRS
Functions: observe, attribute:
Objects: server, security, device, conn_m, firmware, location
Footprint (RTOS + commandline + lwm2m stack): 84 KB Flash / 22 KB RAM
Arduino Mega
● ATmega2560
● RAM/ROM 8/256k, 16MHz
● Ethernet
Functions: observe, attribute
Objects: server, security, device, conn_m, firmware, location
Footprint (C++ wrapper + simulator + lwm2m stack): 67 KB Flash / 5 KB RAM
Lua binding
https://github.com/sbernard31/lualwm2m
With DTLS support using:
https://github.com/sbernard31/luadtls
binding on top of TinyDTLS (http://tinydtls.sf.net)
How to help?
Use it! Report bugs, issue, missing features
Write documentation
Talk about Wakaama and Leshan, they are cool!
Contribute code
Questions?
https://dev.eclipse.org/mailman/listinfo/leshan-dev
https://dev.eclipse.org/mailman/listinfo/wakaama-dev
Thanks!
benjamin@eclipse.org
@kartben
http://iot.eclipse.org

Más contenido relacionado

La actualidad más candente

OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013Edgar Magana
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack NetworkingPLUMgrid
 
OpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at CiscoOpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at CiscoLew Tucker
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...Edureka!
 
Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Ken Pepple
 
Openstack Architecture
Openstack ArchitectureOpenstack Architecture
Openstack ArchitectureSrbIT
 
In-kernel Analytics and Tracing with eBPF for OpenStack Clouds
In-kernel Analytics and Tracing with eBPF for OpenStack CloudsIn-kernel Analytics and Tracing with eBPF for OpenStack Clouds
In-kernel Analytics and Tracing with eBPF for OpenStack CloudsPLUMgrid
 
Software Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_truptiSoftware Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_truptitrups7778
 
VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack VMworld
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015SDN Hub
 
Presentation cloud orchestration
Presentation   cloud orchestrationPresentation   cloud orchestration
Presentation cloud orchestrationxKinAnx
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackEdgar Magana
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundChef Software, Inc.
 
VMworld Europe 2014: Advanced Network Services with NSX
VMworld Europe 2014: Advanced Network Services with NSXVMworld Europe 2014: Advanced Network Services with NSX
VMworld Europe 2014: Advanced Network Services with NSXVMworld
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron InsightsAtul Pandey
 
Understanding and deploying Network Virtualization
Understanding and deploying Network VirtualizationUnderstanding and deploying Network Virtualization
Understanding and deploying Network VirtualizationSDN Hub
 
Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Puppet
 
Monitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsMonitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsPLUMgrid
 
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...VMworld
 
Network Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDNNetwork Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDNOpen Networking Summits
 

La actualidad más candente (20)

OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013
 
Navigating OpenStack Networking
Navigating OpenStack NetworkingNavigating OpenStack Networking
Navigating OpenStack Networking
 
OpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at CiscoOpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at Cisco
 
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
What Is OpenStack | OpenStack Tutorial For Beginners | OpenStack Training | E...
 
Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)Introduction to OpenStack Architecture (Grizzly Edition)
Introduction to OpenStack Architecture (Grizzly Edition)
 
Openstack Architecture
Openstack ArchitectureOpenstack Architecture
Openstack Architecture
 
In-kernel Analytics and Tracing with eBPF for OpenStack Clouds
In-kernel Analytics and Tracing with eBPF for OpenStack CloudsIn-kernel Analytics and Tracing with eBPF for OpenStack Clouds
In-kernel Analytics and Tracing with eBPF for OpenStack Clouds
 
Software Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_truptiSoftware Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_trupti
 
VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack VMworld 2013: VMware NSX Integration with OpenStack
VMworld 2013: VMware NSX Integration with OpenStack
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015
 
Presentation cloud orchestration
Presentation   cloud orchestrationPresentation   cloud orchestration
Presentation cloud orchestration
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
 
VMworld Europe 2014: Advanced Network Services with NSX
VMworld Europe 2014: Advanced Network Services with NSXVMworld Europe 2014: Advanced Network Services with NSX
VMworld Europe 2014: Advanced Network Services with NSX
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
 
Understanding and deploying Network Virtualization
Understanding and deploying Network VirtualizationUnderstanding and deploying Network Virtualization
Understanding and deploying Network Virtualization
 
Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013
 
Monitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack CloudsMonitoring Security Policies for Container and OpenStack Clouds
Monitoring Security Policies for Container and OpenStack Clouds
 
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...
VMworld 2013: Technical Deep Dive: Build a Collapsed DMZ Architecture for Opt...
 
Network Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDNNetwork Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDN
 

Destacado

ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
OMA LWM2M Tutorial by ARM to IETF ACE
OMA LWM2M Tutorial by ARM to IETF ACEOMA LWM2M Tutorial by ARM to IETF ACE
OMA LWM2M Tutorial by ARM to IETF ACEOpen Mobile Alliance
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorialzdshelby
 
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?Julien Vermillard
 
CoAP, Copper, and Embedded Web Resources
CoAP, Copper, and Embedded Web ResourcesCoAP, Copper, and Embedded Web Resources
CoAP, Copper, and Embedded Web ResourcesMatthias Kovatsch
 
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014Julien Vermillard
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOpen Mobile Alliance
 
Introduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2MIntroduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2MJulien Vermillard
 
Standards Drive the Internet of Things
Standards Drive the Internet of ThingsStandards Drive the Internet of Things
Standards Drive the Internet of Thingszdshelby
 
CoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenariosCoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenarioscarlosralli
 
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROP
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROPIoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROP
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROPOpen Mobile Alliance
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
Lithe: Lightweight Secure CoAP for the Internet of Things
Lithe: Lightweight Secure CoAP for the Internet of ThingsLithe: Lightweight Secure CoAP for the Internet of Things
Lithe: Lightweight Secure CoAP for the Internet of ThingsJoon Young Park
 
Coap based application for android phones-end
Coap based application for android phones-endCoap based application for android phones-end
Coap based application for android phones-endMd Syed Ahamad
 
Webinar: Capacity Planning
Webinar: Capacity PlanningWebinar: Capacity Planning
Webinar: Capacity PlanningMongoDB
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phonesMd Syed Ahamad
 
OMA LwM2M Workshop - Antonio Jara, OMA LabKit
OMA LwM2M Workshop - Antonio Jara, OMA LabKitOMA LwM2M Workshop - Antonio Jara, OMA LabKit
OMA LwM2M Workshop - Antonio Jara, OMA LabKitOpen Mobile Alliance
 
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...Kai Wähner
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOpen Mobile Alliance
 

Destacado (20)

ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
OMA LWM2M Tutorial by ARM to IETF ACE
OMA LWM2M Tutorial by ARM to IETF ACEOMA LWM2M Tutorial by ARM to IETF ACE
OMA LWM2M Tutorial by ARM to IETF ACE
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
 
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
 
CoAP, Copper, and Embedded Web Resources
CoAP, Copper, and Embedded Web ResourcesCoAP, Copper, and Embedded Web Resources
CoAP, Copper, and Embedded Web Resources
 
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
 
Introduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2MIntroduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2M
 
Standards Drive the Internet of Things
Standards Drive the Internet of ThingsStandards Drive the Internet of Things
Standards Drive the Internet of Things
 
CoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenariosCoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenarios
 
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROP
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROPIoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROP
IoT Seminar (Oct. 2016) Hatem Oueslati - IOTEROP
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Lithe: Lightweight Secure CoAP for the Internet of Things
Lithe: Lightweight Secure CoAP for the Internet of ThingsLithe: Lightweight Secure CoAP for the Internet of Things
Lithe: Lightweight Secure CoAP for the Internet of Things
 
Coap based application for android phones-end
Coap based application for android phones-endCoap based application for android phones-end
Coap based application for android phones-end
 
Webinar: Capacity Planning
Webinar: Capacity PlanningWebinar: Capacity Planning
Webinar: Capacity Planning
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
OMA LwM2M Workshop - Antonio Jara, OMA LabKit
OMA LwM2M Workshop - Antonio Jara, OMA LabKitOMA LwM2M Workshop - Antonio Jara, OMA LabKit
OMA LwM2M Workshop - Antonio Jara, OMA LabKit
 
IoT Server - Device Type Plugin
IoT Server - Device Type PluginIoT Server - Device Type Plugin
IoT Server - Device Type Plugin
 
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...
JBoss OneDayTalk 2013: "NoSQL Integration with Apache Camel - MongoDB, CouchD...
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
 

Similar a Manage devices with open source LwM2M implementations

Infrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using PrometheusInfrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using PrometheusMarco Pas
 
Windows Remote Management - EN
Windows Remote Management - ENWindows Remote Management - EN
Windows Remote Management - ENKirill Nikolaev
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDNSungman Jang
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
 
OpenCL Programming 101
OpenCL Programming 101OpenCL Programming 101
OpenCL Programming 101Yoss Cohen
 
Samsung WebCL Prototype API
Samsung WebCL Prototype APISamsung WebCL Prototype API
Samsung WebCL Prototype APIRyo Jin
 
Saltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application DeploymentSaltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application Deploymentinovex GmbH
 
Monitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineMonitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineWooga
 
Working in the multi-cloud with libcloud
Working in the multi-cloud with libcloudWorking in the multi-cloud with libcloud
Working in the multi-cloud with libcloudGrig Gheorghiu
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
[NDC 2019] Enterprise-Grade Serverless
[NDC 2019] Enterprise-Grade Serverless[NDC 2019] Enterprise-Grade Serverless
[NDC 2019] Enterprise-Grade ServerlessKatyShimizu
 
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
[NDC 2019] Functions 2.0: Enterprise-Grade ServerlessKatyShimizu
 
Basic Understanding and Implement of Node.js
Basic Understanding and Implement of Node.jsBasic Understanding and Implement of Node.js
Basic Understanding and Implement of Node.jsGary Yeh
 
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...InfluxData
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCsmalltown
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server InternalsPraveen Gollakota
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsOhad Kravchick
 

Similar a Manage devices with open source LwM2M implementations (20)

Infrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using PrometheusInfrastructure & System Monitoring using Prometheus
Infrastructure & System Monitoring using Prometheus
 
Windows Remote Management - EN
Windows Remote Management - ENWindows Remote Management - EN
Windows Remote Management - EN
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
OpenCL Programming 101
OpenCL Programming 101OpenCL Programming 101
OpenCL Programming 101
 
Samsung WebCL Prototype API
Samsung WebCL Prototype APISamsung WebCL Prototype API
Samsung WebCL Prototype API
 
Saltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application DeploymentSaltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application Deployment
 
Monitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineMonitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachine
 
Working in the multi-cloud with libcloud
Working in the multi-cloud with libcloudWorking in the multi-cloud with libcloud
Working in the multi-cloud with libcloud
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
[NDC 2019] Enterprise-Grade Serverless
[NDC 2019] Enterprise-Grade Serverless[NDC 2019] Enterprise-Grade Serverless
[NDC 2019] Enterprise-Grade Serverless
 
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
 
Basic Understanding and Implement of Node.js
Basic Understanding and Implement of Node.jsBasic Understanding and Implement of Node.js
Basic Understanding and Implement of Node.js
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaC
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server Internals
 
OneTeam Media Server
OneTeam Media ServerOneTeam Media Server
OneTeam Media Server
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
 

Más de Benjamin Cabé

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018Benjamin Cabé
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Benjamin Cabé
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?Benjamin Cabé
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Benjamin Cabé
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Benjamin Cabé
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016Benjamin Cabé
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Benjamin Cabé
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Benjamin Cabé
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackBenjamin Cabé
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbookBenjamin Cabé
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Benjamin Cabé
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014Benjamin Cabé
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleBenjamin Cabé
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Benjamin Cabé
 
A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013Benjamin Cabé
 

Más de Benjamin Cabé (20)

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stack
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbook
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day Grenoble
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013
 
A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Manage devices with open source LwM2M implementations

  • 1. Manage all the things, small and big, with open source LwM2M implementations Benjamin Cabé* – Eclipse Foundation * many thanks to Julien Vermillard for most of the slides!
  • 2. Device Management ● Configure the device ○ Reboot ○ Update APN, current date/time, … ● Update the software (and firmware) ● Manage the software ○ Change settings ○ Access logs ● Monitor and gather connectivity statistics ○ Amount of sent/received data ○ Number of SMS received/sent 2
  • 3. Device Management 3 Device Management server (not necessarily the server used for IoT application data) ● Has security credentials for devices on the field (X.509 certificate, public key, …) ● Provides high-level API for batch updates ● May integrate with IT backendIoT Device ● Runs a device management agent, usually in the firmware ● Embeds a private/public key pair to cipher communication ● Has DM server’s public key to authenticate it is talking to intended server
  • 4. D.M. standards protocols ● Usual suspects: ○ TR-069 ○ OMA-DM ○ Lightweight M2M ● Goals: provide a way to manage fleets of devices that is application-agnostic 4
  • 5. Lightweight M2M ● A new Open Mobile Alliance standard ● An OMA-DM successor for M2M targets ● Built on top of CoAP ○ much lighter than OMA-DM or TRS-069 ○ enables the use of SMS for wakeup (or any REST interaction really!) 5
  • 6. Lightweight M2M (LwM2M) ● An Open Mobile Alliance standard ● A « reboot » of OMA-DM for M2M ● Built on top of CoAP ○ much lighter than OMA-DM or TRS-069 ○ enables the use of SMS for wakeup (or any REST interaction really!) ● REST API for Device Management ● Standard objects for Security, Location, Firmware, … ○ and also: IPSO Smart Objects, 3rd party, …
  • 7. LWM2M features ● Firmware upgrade (in band or over HTTP) ● Device monitoring and configuration ● Server provisioning (bootstraping) 7
  • 8. LWM2M: standard objects ● Device ● Server ● Connectivity monitoring ● Connectivity statistics ● Location ● Firmware LwM2M objects have a numerical identifier (Device = 3, Location = 6, …) 8
  • 9. LWM2M URIs URLs: /{object}/{instance}/{resource} Example: /6/0 = whole position object (binary TLV) /6/0/2 = only the altitude value 9
  • 11. Leshan A Java library for implementing LwM2M servers (and clients) Friendly for any Java developer (no framework, few dependencies) But also a Web UI for discovering and testing the protocol
  • 12. Features Client initiated bootstrap Registration/Deregistration Read, Write, Create objects TLV encoding/decoding OSGi-friendly
  • 13. Features (cont’d) DTLS Pre shared key DTLS Raw public key Standalone web-UI for testing
  • 14. Server Simple Java library Build using “mvn install” Based on Californium and Scandium Under refactoring for accepting other CoAP lib
  • 15. Server API example public void start() { // Build LWM2M server LeshanServerBuilder builder = new LeshanServerBuilder(); lwServer = builder.build(); lwServer.getClientRegistry().addListener(new ClientRegistryListener() { @Override public void registered(Client client) { System.out.println("New registered client with endpoint: " + client.getEndpoint()); } @Override public void updated(Client clientUpdated) { System.out.println("Registration updated"); } @Override public void unregistered(Client client) { System.out.println("Registration deleted"); } }); // start lwServer.start(); System.out.println("Demo server started"); }
  • 16. Server API example // prepare the new value LwM2mResource currentTimeResource = new LwM2mResource(13, Value.newDateValue(new Date())); // send a write request to a client WriteRequest writeCurrentTime = new WriteRequest(client, 3, 0, 13, currentTimeResource, ContentFormat.TEXT, true); ClientResponse response = lwServer.send(writeCurrentTime); System.out.println("Response to write request from client " + client.getEndpoint() + ": " + response.getCode());
  • 17. Client Under construction! API will probably change Create objects, answer to server requests DTLS supported in master Check out: leshan-client-example
  • 18. Next steps Eclipse.org migration X.509 DTLS CoAP shim, CoAP TCP Stable API for June (inc. client polishing) And also: JSON content-type SMS Server initiated bootstrap
  • 19. Eclipse Wakaama Lightweight M2M implementation in C Photo credits: https://www.flickr.com/photos/30126248@N00/2890986348
  • 20. Wakaama A C client and server implementation of LwM2M Not a shared library (.so/.dll) POSIX compliant and embedded friendly Plug your own IP stack and DTLS implementation
  • 21. Features Register, registration update, deregister Read, write resources Read, write, create, delete object instances TLV or plain text Observe
  • 22. lwm2m_object_t * get_object_device() { lwm2m_object_t * deviceObj; deviceObj = (lwm2m_object_t *)lwm2m_malloc(sizeof(lwm2m_object_t)); if (NULL != deviceObj) { memset(deviceObj, 0, sizeof(lwm2m_object_t)); deviceObj->objID = 3; deviceObj->readFunc = prv_device_read; deviceObj->writeFunc = prv_device_write; deviceObj->executeFunc = prv_device_execute; deviceObj->userData = lwm2m_malloc(sizeof(device_data_t)); if (NULL != deviceObj->userData) { ((device_data_t*)deviceObj->userData)->time = 1367491215; strcpy(((device_data_t*)deviceObj->userData)->time_offset, "+01:00"); } else { lwm2m_free(deviceObj); deviceObj = NULL; } } return deviceObj; } Create obje
  • 23. objArray[0] = get_object_device(); if (NULL == objArray[0]) { fprintf(stderr, "Failed to create Device objectrn"); return -1; } objArray[1] = get_object_firmware(); if (NULL == objArray[1]) { fprintf(stderr, "Failed to create Firmware objectrn"); return -1; } objArray[2] = get_test_object(); if (NULL == objArray[2]) { fprintf(stderr, "Failed to create test objectrn"); return -1; } lwm2mH = lwm2m_init(prv_connect_server, prv_buffer_send, &data); if (NULL == lwm2mH) { fprintf(stderr, "lwm2m_init() failedrn"); return -1; } result = lwm2m_configure(lwm2mH, "testlwm2mclient", BINDING_U, NULL, OBJ_COUNT, objArray); ... result = lwm2m_start(lwm2mH); Configure Wakaama
  • 24. while (0 == g_quit) { struct timeval tv; tv.tv_sec = 60; tv.tv_usec = 0; /* * This function does two things: * - first it does the work needed by liblwm2m (eg. (re)sending some packets). * - Secondly it adjust the timeout value (default 60s) depending on the * state of the transaction (eg. retransmission) and the * time between the next operation */ result = lwm2m_step(lwm2mH, &tv); if (result != 0) { fprintf(stderr, "lwm2m_step() failed: 0x%Xrn", result); return -1; } } Active loop
  • 25. Next? Device initiated bootstrap More examples: https://github.com/kartben/Wakaama-mbed Server? Block transfer?
  • 26. Hack it into real devices! … DEMO TIME!
  • 27. Spark Core ● Cortex-M3 STM32, ● RAM/ROM 20/128k, 72MHz ● WiFi Wakaama + TinydTLS-0.5 Functions: dTLS (PSK) LwM2M Objects: device Footprint: “empty”-App: 75.6 KB Flash / 13.1 KB RAM simple-lwm2m: 107 KB Flash / 15.2 KB RAM (overhead = 32KB / 3.1kB!)
  • 28. U-blox MBed.org ● Cortex-M3 (NXP LPC1768), ● RAM/ROM 20/128k, 96MHz ● GPRS Functions: observe, attribute: Objects: server, security, device, conn_m, firmware, location Footprint (RTOS + commandline + lwm2m stack): 84 KB Flash / 22 KB RAM
  • 29. Arduino Mega ● ATmega2560 ● RAM/ROM 8/256k, 16MHz ● Ethernet Functions: observe, attribute Objects: server, security, device, conn_m, firmware, location Footprint (C++ wrapper + simulator + lwm2m stack): 67 KB Flash / 5 KB RAM
  • 30. Lua binding https://github.com/sbernard31/lualwm2m With DTLS support using: https://github.com/sbernard31/luadtls binding on top of TinyDTLS (http://tinydtls.sf.net)
  • 31. How to help? Use it! Report bugs, issue, missing features Write documentation Talk about Wakaama and Leshan, they are cool! Contribute code Questions? https://dev.eclipse.org/mailman/listinfo/leshan-dev https://dev.eclipse.org/mailman/listinfo/wakaama-dev