Component support for edge modules in IoT Central
Published Jun 08 2021 02:13 PM 2,523 Views
Microsoft

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. 

 

IoT Central already supports PnP downstream devices connecting into Azure IoT Edge runtime using the transparent gateway pattern for

  • MQTT
  • AMQP

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.   

 

metamodelclasses.png

Interfaces can be reused as schema for components. Below is an example of a camera interface with properties tilt and focus. 

interface.png

 

Below is an example of a phone interface which has front camera and back camera as components and the components reuse the camera interface.  

component.png

 

IoT Central already supports inherited interfaces. Below is an example of an inherited interface where a Conference room interface extends from a Room interface

inherited interface.png

 

In IoT Central a cloud developer has three ways to add capabilities (telemetry, properties, commands) to a module model

  1. Inherited interface (already supported)
  2. Default component (new feature)
  3. Component (new feature)

edge model.png

 

 

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 root.png

 

Component device template experience (new feature)

Cloud developers have the option to create capabilities (telemetry, properties and commands) by creating components for edge modules.

component.png

component ux.png

 

Summary

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.

 

Additional Resources

Following are resources where you can learn more about Azure IoT Central and Azure IoT Plug and Play.

  1. IoT Plug and Play conventions
  2. DTDL V2
  3. Create your IoT Central App
  4. IoT Central Documentation
  5. IoT Central GitHub Page
  6. IoT Plug and Play

 

2 Comments
Co-Authors
Version history
Last update:
‎Jun 16 2021 02:47 PM
Updated by: