Development Process
Edge Xrt allows you to create connected edge applications by assembling and configuring specific combinations of standard Xrt components to fulfill a use case. Xrt Azure Sphere applications support a range of industrial protocols; for example, Modbus, BACnet and EtherNet/IP.
Xrt applications define OT device endpoint types, and their properties, using protocol-specific configuration files called device profiles. Creation and editing of device profiles is supported by IOTech’s Device Configuration Tool web application.
The process for creating a connected Azure Sphere IoT application using Edge Xrt is illustrated below:
This development process has the following steps:
-
Install the Edge Xrt for Azure Sphere package and the Azure Sphere example projects on a host machine
-
Create a device profile, <device_profile>.json, to represent the IoT device type using the Device Configuration Tool
You can also use the Device Configuration Tool to generate a Digital Twins Definition Language (DTDL) file representing the same IoT device
-
Create configuration files for each component defined in the main.json file. For example, there could be: bus.json, logger.json, pool.json, schedules.json, log_exporter.json, modbus_device_service.json, devices.json and azure.json files
Additionally describe the resources, also called application capabilities, that an Azure Sphere application requires in the <azure_application_manifest>.json file. Every application has an application manifest
-
Configure your Edge Xrt deployment. You must choose to configure this either statically or dynamically:
-
For static configuration, include all of the individual configuration files produced in Steps 2 & 3 in the application build image that is going be deployed onto the Azure Sphere device.
This option is useful if you do not require the ability to dynamically update the configuration of your application once deployed.
-
For dynamic configuration, copy the contents of the configuration files produced in Steps 2 & 3 and create a single configuration file that can be loaded into the Azure Sphere Device Twin running on Azure IoT Hub as described in the Device Twin Configuration section. With the exception of the <azure_application_manifest>.json file, the configuration files that were created in Steps 2 & 3 should not be included in the Xrt application build image.
This option is useful if you wish to create a single application image that can support different configurations for each individual deployment. Using this method, the configuration for each Xrt application deployed on an Azure Sphere device can be updated dynamically by simply changing the Device Twin’s configuration.
-
-
Build the Xrt Azure application
-
Deploy the Xrt Azure Application to the Azure Sphere hardware module, such as the Guardian 100
-
Visualize the data on the Azure IoT Hub and, optionally, send commands to the connected IoT device