Pelion Device Management with Arduino IoT Cloud Integration

Christos Vasilakis
4 min readMar 23, 2020

--

One of the best features of Pelion Device Management Service for IoT developers is the ability to develop deep integrations using our service APIs. Every company has different needs and requirements when they’re developing complex IoT solutions in the field. Having an extensive API that permits full platform access lets you customize your integration for scenarios we couldn’t have even imagined when we started developing it. You can use the APIs to create custom scripts to batch onboard devices, perform firmware updates, gather monitoring statistics, and much more. You can even build your own Device Management Portal on top of the service!

Developer teams from many companies already use our APIs to develop integrations with Pelion into their systems. We listen to their feedback, prioritize our roadmaps, and strive to best serve their needs.

When Arduino approached us about developing an extension for their Arduino IoT Cloud, integrating Pelion-managed devices with their own portal, we were delighted:

  • Million of IoT developers trust Arduino, from hobbyists all the way up to professional users prototyping pre-production ideas. Offering a production-grade device management platform within their IoT cloud system lets you transition smoothly to a production setting.
  • The chance to collect feedback on our Device Management Service from a large pool of Arduino IoT developers, which guides our continuous improvements to the platform.
  • And last but not least, this partnership gives us a tremendous opportunity to bring awareness of our Pelion Device Management service to IoT developers who aren’t familiar with our strong offering.

In this blog post, we describe our integration with Arduino IoT Cloud. We’ll connect a device running Mbed OS with the Device management Client library installed, to Pelion Device Management Service. We’ll then switch to Arduino IoT Cloud and browse available features. We assume you’re already familiar with Pelion Device Management Service. If not, please have a look at the introductory material in the Pelion documentation. For more information on Arduino IoT Cloud, read the getting started guide on Projecthub.

We provide free access to Pelion Device Management, so you can easily get started with the platform, offering device management and firmware updates (plus delta updates) for up to 100 devices.

Mapping Pelion Device Management to Arduino IoT Cloud

When a device connects to Device Management, it registers a list of LwM2M Resources that map to the device characteristics the developer wants to expose and make available to be managed. Below is a screenshot of Device Management Portal, showing a list of resources supported by the example device:

In Arduino IoT Cloud, these resources map directly to device Properties, and the data types and permissions of each property are filled automatically by the metadata of the LwM2M resource in Pelion:

Notice that the Update mechanism of all Properties is set to On change type by default. During the initial device import, PreSubscriptions on observable resources in Device Management are created and notify Arduino IoT Cloud whenever a resource changes.

This lets Arduino create a dashboard, which is continuously updated when a value on the device changes:

The integration also supports sending requests through the Device Management APIs to the device in order to change the value of a resource or to execute an action. In the following demo, we have a device that exposes two resources, the Blinking patternresource that sets how the LED on the device blinks and the Blink action to execute it.

Demo

If you want to see the integration in action, have a look at the video below:

Conclusion

Pelion Device Management offers an extensive API that allows companies to develop deep integrations with a production-grade and scalable device management platform. Arduino IoT Cloud integration is a great example of what‘s possible. The extensibility of the platform has enabled many of our customers to address their specific needs and use cases. Are you next?

--

--