Tag Archives: lwm2m

It might be a bit late in the year to do a write-up on The Next Big Thing for IoT in 2016, but it doesn’t mean I cannot take a moment to take a step back from the multiple announcements around the consumer Internet of Things lately, and focus on the cornerstone for enabling a truly sustainable IoT ecosystem: Over-the-air Device Management. Of course it is important for the IoT industry at large to agree on the protocols and frameworks that shall enable IoT application development, but are we not jumping the gun here? I think we should all be thinking first about how we want to leverage over-the-air management capabilities to really revolutionize the way we can interact with the Things around us.

In fact, here are some of the reasons why you need to think of the IoT in terms of how it really changes our way, as humans, to interact with physical devices on a day-to-day basis, before even thinking about all the fancy things you will do with the data you collect, or the smart sensor networks you will build.

Over-the-air provisioning can greatly reduce time-to-market

Do you remember how, just a few decades ago, you would need to use dozens of floppy disks to setup your brand new PC? This workflow has greatly improved over the years, and it is now very common to do the initial provisioning of an Ubuntu or OSX system completely over the air, and the only manual steps involved are essentially limited to entering your name into the system… When you think about it, this is incredibly beneficial to both the computer manufacturer, who does not need to worry and make sure its machines leave the factory with the latest OS version that contains the newest features the market is asking for, and to us as end-users, since we always get the most up-to-date system, both in terms of available features, but also security patches, etc.

In the context of IoT, now that more and more devices have strong cryptographic capabilities and start including Trusted Platform Modules, it becomes possible to perform a 100%-secured bootstrap of any IoT device.

Think about it: when it comes to healthcare or automotive, you would not want to have a single doubt regarding the fact that a device is indeed running software that is originating (i.e. signed by) from the manufacturer. A compromised smart thermostat in your living room is one thing, a compromised car is a totally different story. What’s more, being able to delay the moment embedded software is finally put onto a device indubitably leads to reducing time-to-market while allowing for a few extra cycles to innovate on the software front before the device reaches its user.

Fighting planned obsolescence thanks to over-the-air upgrades

Over-the-air provisioning is only the first step in providing a seamless experience for end-users. What we start witnessing with e.g. Tesla is something the car industry has been secretly dreaming of for a century, and is now finally able to achieve: your car can now be fixed (or better: its performances improved) without requiring you to stop by the repair shop.

Indeed, Tesla brings the concept of decoupling hardware and software to a totally different level. Over the years, the upgrades they deployed went from somewhat minor improvements in the user interface of the on-board computer; to much more advanced fixes to the steering or braking system. It is a huge shift for the whole manufacturing industry: hardware design decisions at Day 1 will no longer be limiting the capabilities of a device overtime, and over-the-air updates will allow for actual improvements in safety, stability and overall user experience overtime.

Bypassing some physical constraints we never thought we could

The lifespan of a house is literally decades, which means that in many cases smart sensors and devices are literally set in concrete. Should a buggy sensor really be forever condemned, when it could be upgraded over-the-air?

Not only can over-the-air updates help fix faulty hardware, but it can actually help you in situations where you don’t have physical access to the culprit. Technologies like 6LoWPAN allow battery-powered devices to communicate wirelessly for years, so why not just deploy a new PID temperature control algorithm in that smart thermostat of yours rather than spending yet another couple hundred dollars for a new one (…just like you did last year, and the year before that!).

Avoiding vendor lock-in for a truly interoperable IoT

While it is understandable that some vendors may want to lock-in customers to their platform, I really believe that in the long run, the manufacturers who will be relying on open device management standards and give their users some control of their device will be the ones that will stay ahead of the game.

Would we really expect to buy an electric appliance without being sure that the plug would fit in our wall socket? That is exactly what we are talking about here, and that’s why standardization initiatives like what the Open Mobile Alliance is doing with LightweightM2M (LWM2M), or the work of the AllSeen Alliance and the Open InterConnect Consortium are really important. In the mobile and handset industry, a standard like OMA-DM is used in literally billions of devices and, because it’s an open-standard that practically every mobile handset implements, it enables large corporations with a standard way to manage their fleet of phones, without any vendor lock-in.

For the Internet of Things, vendor neutrality is going to be key for finally getting to the point where the general public starts seeing the Things of the Internet of Things as equipment they have control of (as opposed to scary black boxes wirelessly tethered to a company’s backend via an obscure communication protocol). Luckily, many players in the IoT industry understand the importance of device management, and I am hopeful that with Eclipse IoT we are doing our share by providing a framework for open innovation, and open source implementations of technologies like LWM2M, MQTT or CoAP.

This post was brought to you by HARMAN’s Engineering a Connected Life program. The views and opinions expressed in this post are my own and don’t necessarily represent HARMAN’s positions, strategies or opinions.

One of the great strengths of LightweightM2M (LwM2M) is to be… ahem… lightweight! The fact that it relies on CoAP for the communication, and that all the standard resources are meant to be very concise really helps making very small implementations that can fit in constrained devices.

In the video below, you can see how Eclipse Wakaama (a C implementation of LwM2M) has been ported to an mbed NXP LPC1768 – a device with just 32KB of RAM! – and is controlled from Eclipse Leshan, a LwM2M server in Java.

What I really like in this video is that it shows how simple yet powerful LwM2M actually is, and how efficiently you can fit advanced features like firmware upgrade in very constrained devices.

Here is the recording of my presentation on Device Management with LwM2M at FOSDEM’15.

Abstract: LwM2M is a standard for device management that solves many of the issues M2M and IoT solutions makers have faced in the past (or, let’s be realistic, are still facing), with custom protocols or even standards like OMA-DM: complex workflows, high bandwidth usage, lack of open-source implementations… Join this talk to get an overview of the LwM2M protocol, and to learn how you can start managing an embedded device with Eclipse Wakaama (yes, it fits in an Arduino, and yes, there will be a live demo!), or build your own device management server with Eclipse Leshan.