Whitepaper: Managing Internet of Things Devices with the Lightweight Machine-to-Machine (LWM2M) Protocol
Connecting Internet of Things (IoT) devices to the Internet and managing them offers many benefits but also requires more complex software stacks on IoT devices. The days of in-house designs of operating systems and communication protocol stacks are numbered.
The good news is that there is no need to recruit a team of experts in every aspect of security, network stacks or technology standards in order to develop an IoT product – simply take advantage of the industry's largest ecosystem, saving on months of development costs.
By building on top of Internet standards with mature implementations, you can significantly reduce your development time, leading to a faster time to market. As an additional side effect of using the standards described below, you benefit from an energy efficient standards-based communication, with state-of-the-art security.
Thanks to the ever-increasing deployment of IoT devices, companies are now faced with a number of challenges independent of the vertical where these products are used, such as:
- How to let customers control their devices in a (near) real-time fashion over the internet.
- How to collect sensor data from these devices securely so that value-added services, such as analytics, can be provided.
- How to update the software of these devices once they are deployed.
- How to obtain statistics and trouble-shooting information to determine failure causes and to offer customer support when devices malfunction.
- How to manage these devices over their lifetime, including the provisioning of security credentials and distribution of access control lists, to ensure that only entitled parties can access sensitive data.
The Lightweight Machine to Machine (LWM2M) protocol developed by the Open Mobile Alliance (OMA) is a technology that addresses these challenges and has been successfully deployed in smart city, smart manufacturing and asset management applications.
Interested in OMA’s LWM2M protocol and how it can solve some of IoT’s biggest challenges? Request a download link for this whitepaper!
I’m pleased to announce that mbed OS 5.2 is now released and available for developers!
This release builds on all the significant enhancements that were released in mbed OS 5.1, adding the following headline features:
Support for integrated Wi-Fi SoCs and modules
Wireless modules are a great way to cope with the complexity of integrating radios in to a design and are commonly used in design runs of 10-100k units, possibly even higher. Even the highest volume smartphones often use modules to benefit from this separation of concerns.
To help developers take advantage of these modules, we’ve been working to build flexible integration support for different SoC, Module and Network Processor Wi-Fi architectures into mbed OS. In many cases, this means mbed OS can now be ported to run on modules themselves, opening them up as development targets and meaning they may be the only processing unit on your BOM.
The first integrated module support has already been added by u-blox, the ODIN-W2 module and development platform.
Over the next few weeks we’ll be able to share some of the other platforms our partners have been working on as the support goes live. And if you are a Wi-Fi module manufacturer and would like to get your parts supported, please contact us at firstname.lastname@example.org
Hardware Entropy, security and the importance of being random
We’re committed to building security in to our platform that all developers can rely on and take advantage of the security features of hardware platforms. Strong entropy is a vital cornerstone of strong security, and therefore we’re making it an important ingredient in the mbed OS platform and the target parts where mbed OS runs.
For more on the theory and considerations around entropy and its relation to security, take a look at this video:
We've been working to implement hardware entropy support in to the core of mbed OS and make it easy for partners to add support for their target platforms by extending the mbed HAL. Partners have been working on introducing the first platform support, and we’ll soon add filters to the mbed developer website so it is easy to find platforms that have achieved this level of security.
Memory footprint profiling
The size of the memory footprint of an application can have a direct impact on the BOM for a device and even the range of hardware that is applicable for designing a device.
To help both end developers and the teams building mbed OS itself, we’ve implemented a number of tools and libraries that hook in to the mbed OS core to allow memory footprint tracking and analysis. This includes runtime tools for tracking of dynamic memory utilisation and heap information and stack checking to trap stack over-runs.
We’ve already started using this internally to analyze and optimize libraries and it is going in to our test framework to allow our CI to pick up memory footprint regressions as code is developed. We are also aiming to release a few useful tools to interpret the raw data, like the explorer you can see above (currently just an internal prototype). Static memory analysis is built into mbed CLI and for more information on the dynamic memory hooks, you can take a look at the runtime statistics documentation.
There are lots of other enhancement including an events library for use within RTOS threads, an implementation of Cipher-based Message Authentication Code (CMAC) as used in our mbed OS Thread stack and an improved export mechanism supporting project generation for different toolchains and IDEs. For more information, you can read our full release note for mbed OS 5.2
Thanks to our partners’ hard work, mbed OS 5.2 has been extended to support over 60 targets, and more will be added in our bi-weekly releases.
We hope you like the new features; if you have any feedback, questions or issues on this release, please don't hesitate to get in contact.
ARM mbed Connect is proud to reveal the details of four guest speakers slated to appear at mbed Connect US! These experts from across the mbed Ecosystem will be addressing a variety of hot topics in IoT. You can view the entire program here!
Develop IoT and wearable products quickly using Hexiwear and mbed
Gregory Camuzt - Business Development Manager for Startup Solutions, NXP
The need for connected devices with long battery life, small form factor and impenetrable security has remained a constant during the expansion of the wearables market. This presentation will highlight the existing product development challenges for IoT and wearables markets and explore options for fast IoT development. The Hexiwear platform, an optimized, expandable and complete IoT development platform based on ARM Cortex-M Microcontrollers, is one of the fastest ways to create devices using ARM MCUs.
Assuring IoT device performance, quality and security throughout the device lifetime
Stephen Douglas - Solutions & Technical Strategy, Spirent Communications
To guarantee the long term performance, quality and security of IoT devices, the industry needs a standardized way to remotely monitor and test IoT devices throughout their lifetime. Embedding test logic on the device and test services in the cloud while utilizing ARM mbed to provide device diagnostics allows for a new paradigm in remote testing. Cloud-based assurance analytics on the reported data provides the identification and prediction of when devices are not performing correctly, allowing for quicker reaction time.
Location on Internet of Things
Frederic Sevais - Senior Director of Products, Comtech
The rapid growth of IoT sensors poses a substantial logistics problem in keeping track of these devices. Delivering a robust indoor/outdoor location solution requires that the next generation of locations services be lightweight with respect to memory, bandwidth and power efficient, and distributable to support both cloud and local area network topologies common in IoT infrastructures. This presentation is an overview of Comtech’s distributed hybrid-location technology being developed for ARM Linux and mbed OS devices targeted for the specific needs of IoT.
Maximising business agility with ARM mbed for connected devices
Daniel Quaint - VP Product Development & Strategic Marketing, Multitech
Quant will discuss how the ARM mbed ecosystem brings all the pieces together to deliver intelligent connected solutions. Learn how to leverage ARM mbed on connected devices across multiple connectivity technologies in order to enable a smart, value-laden, industrial IoT solution. Technologies such as mbed, in conjunction with leading IoT solutions, introduce a newfound ability to better manage business applications and deliver intelligence to the edge of the network, significantly revolutionizing information flow across countless vertical markets.
Building trusted sensors in the IoT age
Kristopher Ardis - Executive Director, Maxim Integrated
More connected devices means more opportunities for attacks, and we're all exposed to news stories talking about the hacking of 'things'. The silver lining is that we are moving from people talking about how important security is, to people realizing that they must start securing their systems. Now is the time to 'do'. We'll talk about the concept of a trusted sensor, security tools available for building them, and walk through a practical demonstration of a trusted sensor node relaying its data to a cloud-based system.
We are counting down the last few weeks before mbed Connect gets underway and tickets are quickly disappearing. Make sure you register now to secure your spot for only $25 USD!
Unbeknownst to many of you, December 10th, 2015 was a historic day. That morning, I walked into the building of Noca - a factory in Trondheim, Norway - wearing a white lab coat, a JTAG in my hand, and with a LoRaWAN base station in my backpack. That day, we could finally inspect the very first factory samples of the LoRa device that my team and I had been developing. The moment you see your components mounted on a PCB is both the most exciting and most scary moment in the life of any developer working on a hardware project.
On the left: First factory sample of our mounted PCB. On the right: Trying to figure out why our JTAG header did not work properly.
There's excitement because your design has suddenly become real, and fear because any mistake that you missed might as well send you back to the drawing board. This, however, is what hardware design is all about. This is the pinnacle of months of planning, drawing schematics, writing software, and haggling about budget.
Unfortunately, many hardware projects never make it this far. Although the prototyping of hardware has never been easier, actually producing that same hardware seems like a big mountain to climb. On the prototyping side, we have seen a huge advent in hobbyist-friendly developer boards, great SDKs, and an enormous amount of cheap sensors - enabled by the smartphone revolution, which has pushed prices for advanced technology (like accelerometers) down to pennies on the dollar. Sadly, that's often where projects stop. A good prototype might be replicated a few more times on a development board with a breadboard, soldered together and given away to some friends and colleagues, but that's not a scalable model.
While prototyping. Underneath the breadboard are the schematics for the final board.
Despite all this, bringing a prototype into production is probably the holy grail for the Internet of Things. If any ordinary developer - without proper training as a hardware engineer or even as an embedded software engineer - can design devices that will hit the marketplace, this creates a huge opportunity for companies. Your in-house developers have the best knowledge of your field of business and they have intimate knowledge of any challenges that can be solved with IoT. If they can quickly develop custom hardware for a use-case that specifically benefits your company, that might provide you with a competitive edge. The team here at ARM mbed want to play a pivotal role in creating that opportunity. Are we there yet? No. Are we going in the right direction? I think so.
Developing production-quality software for embedded devices is getting easier and easier. In the past, you would take an RTOS and then build your application from scratch. You were 100% in charge of security, power consumption and efficient radio drivers. That's no longer the case. The whole industry is moving into a model where you can run a larger, well-tested stack of middleware on your device, then build your application on top of this middleware. Suddenly, you can take advantage of clever schedulers which will handle power management for you, re-use well-tested libraries (since they’re written against a hardware abstraction layer rather than straight against the device hardware) and build on top of radio-agnostic network drivers. mbed OS 5 provides a great software foundation which can do exactly that.
On the hardware side, things are more difficult. Building great hardware requires a number of things that are less generic. First, turning your design from a breadboard to a PCB. A big advantage that we have on mbed is that the MCUs that development boards use are modern 32-bits ARM CPUs that are readily available on sites like DigiKey. As a result, you can design your own board around the same MCU and run your mbed program directly on your new board. We also support a number of modules which combine an MCU and a radio (like the Nordic Semiconductors nRF52832 or the Multitech mDot) so you don't have to do your own RF work.
When our first device started working and sending data over the network. We used a module with a Cortex-M0+ and a SX1272 LoRa radio to go to market faster.
We also help by open-sourcing our debugging hardware. Every mbed Enabled development board uses DAPLink (or STLink) to mount as a mass-storage device and to enable a debug interface. By using our SWDAP debugging probe you can use exactly the same flashing and debugging methods on your own board as on your development board, without requiring a bulky connector or USB port on your board.
On top of that, we have a number of reference designs, including our wearable reference design and our 6LoWPAN border router hat, which can be used freely and contains schematics, hardware designs and all the necessary software. All built on top of our open source mbed Hardware Development Kit.
Having these resources doesn’t trivialize the entire process, but we think that we're making progress. We have plenty of experience building hardware - including the hardware for the BBC micro:bit - and we will be leveraging that experience to make mbed the ideal development platform. We want to empower developers to build IoT solutions that can scale from 10 to 1,000+ devices, letting you make a real mark in the IoT space.
If you want to kickstart your new IoT project or learn more about designing hardware, visit mbed Connect, our first mbed developer conference on the 24th of October in Santa Clara, CA! We'll have sessions about hardware design by Chris Styles, who designed the schematics for the BBC micro:bit and many other mbed boards, and by Jan Jongboom and Mac Lobdell on building production-ready firmware. Sign up now for just $25!
Jan Jongboom is Developer Evangelist IoT at ARM. Special thanks goes out to Thomas Langas, Bjorn Borud and Olav Nymoen who were also part of the team that developed the hardware mentioned in this post.
- 1 ...
- next »