IoT Central now supports components for IoT Edge modules. Components allow grouping device capabilities under an isolated boundary.
Azure IoT Edge moves cloud analytics and custom business logic to devices so that your organization can focus on business insights instead of data management. Scale out your IoT solution by packaging your business logic into standard containers, then you can deploy those containers to any of your devices and monitor it all from the cloud.
IoT Edge modules are containers that run Azure services, third-party services, or your own code. Modules are deployed to IoT Edge devices and execute locally on those devices.
Azure IoT Edge Plug and Play uses the Digital Twins Definition Language to define module capabilities (telemetry, commands and properties) as interfaces. Components are new in DTDL V2 and enable interfaces to be composed of other interfaces.
With this release Azure IoT Edge PnP support in IoT Central now includes component support for modules.
The Digital Twins Definition Language (DTDL) is made up of a set of metamodel classes that are used to define the behavior of all digital twins (including devices). There are six metamodel classes that describe these behaviors including components.
Components allow grouping device capabilities under an isolated boundary. An example describes front camera and back camera as components and an edge module managing the cameras. Treating each camera as a component helps create a boundary for each camera's capabilities.
Interfaces can be reused as schema for components. Below is an example of a camera interface with properties tilt and focus.
Below is an example of a phone interface which has front camera and back camera as components and the components reuse the camera interface.
IoT Central already supports inherited interfaces. Below is an example of an inherited interface where a Conference room interface extends from a Room interface
In IoT Central a cloud developer has three ways to add capabilities (telemetry, properties, commands) to a module model
Inherited interface (already supported)
Default component (new feature)
Component (new feature)
Below sections walk you through the user experience of the component features.
Default component device template experience (new feature)
Cloud developers have the option to create capabilities (telemetry, properties and commands) at the root level of an edge module.
Component device template experience (new feature)
Cloud developers have the option to create capabilities (telemetry, properties and commands) by creating components for edge modules.
In addition to supporting interface reuse and inherited interfaces in Edge modules, IoT Central has added support for edge module Components. This now gives cloud developers the flexibility of grouping device capabilities managed by an edge module under an isolated boundary.
Following are resources where you can learn more about Azure IoT Central and Azure IoT Plug and Play.