In a recent blog post, Microsoft announced the preview of IoT Plug and Play to simplify device integrations through a published capability model, which is based on the Digital Twin definition language. When device manufacturers incorporate this capability model, their products are eligible to appear in the Azure Certified for IoT Device Catalog and are assured interoperability with both Azure IoT Hub and Azure IoT Central.
Microsoft created the IoT Plug and Play program due to customer feedback and friction involved in onboarding new devices to their IoT Platforms. Chris Green, a principal program manager on the Azure IoT team, explains:
We have been working with a lot of customers and partners, but quite often we see a situation where the devices coming into these solutions are typically written in a very proprietary way for that solution. As a result, it becomes very difficult and time consuming to integrate with those devices because it contains a lot of custom work.
The term Plug and Play at Microsoft is nothing new and was previously introduced to address compatibility issues from peripheral makers who build devices like keyboards and mice. The Microsoft IoT team has taken that same concept and applied it to IoT Devices. Device makers can declare their capabilities through an open modeling language. This declaration is officially called Device Capability Model and when present, allows devices to automatically connect to Azure IoT Central and partner solutions, without writing any code.
Plug and Play connectivity is available for both Azure IoT Central and IoT Hub. Azure IoT Central is a fully managed IoT Software as a Service (SaaS) which reduces the barrier of entry for developing IoT solutions and the ongoing maintenance costs and challenges. Green explains why IoT Central Integration is so important:
Azure IoT Central simplifies the initial setup of your IoT solution and cuts the management burden, operational costs, and overhead of a typical IoT project. Azure IoT Central integration with IoT Plug and Play takes this one step further by allowing solution developers to integrate devices without writing any embedded code. IoT solution developers can choose devices from a large set of IoT Plug and Play certified devices to quickly build and customize their IoT solutions end-to-end.
To configure a Plug and Play device, an administrator can browse a Microsoft-hosted device catalog and select the device they want to integrate and then download the capability model, which is a JSON-formatted document. The device capability model is then uploaded into Azure IoT Central where the device configuration is completed. Additional dashboards and visualizations can subsequently be added.
Image source: https://azure.microsoft.com/en-us/blog/iot-plug-and-play-is-now-available-in-preview/
For developers who have opted for an Azure IoT Hub solution, RESTful digital twin APIs expose the IoT Plug and Play device capabilities and allow developers to configure settings like alarm thresholds, command and control operations and device-query support. Microsoft has provided an Azure IoT SDK for Node.js for developers to call these APIs, with additional language support coming soon.
Microsoft Partners can add their devices to the device catalog by participating in the Azure Certified for IoT program, which includes a new portal and submission process. In addition, Microsoft has released developer tools to support partners, including the Azure IoT Device Workbench extension for VS Code, which includes IntelliSense for simplified authoring of IoT Plug and Play device models.