Azure IoT

Azure IoT is the Microsoft Azure IoT solution. Azure IoT provides the ability for each IoT device to have a "device twin" that reflects the current (or desired) state of the device.

Key features of the EdgeIQ/Azure IoT Integration

  • Simplified Device Twin and Device Creation: EdgeIQ system will set up the necessary resources within an Azure IoT hub to interface to your device
  • Configuration of EdgeIQ Edge: EdgeIQ will update the configuration on the device/gateway with the required certificates and URL’s to enable posting to Azure
  • Setup of rules to enable passing translated reports from your devices to your Hub
  • Ability to manage your devices and change configurations as required

Using EdgeIQ to create/configure/manage an Azure IoT Gateway

Step 1 — Integrate EdgeIQ Edge

The EdgeIQ Edge solution is designed to operate on a wide variety of embedded Linux solutions. Edge provides a wide variety of services including those which assist with Azure IoT integration. Included in those services are data ingestion, device management, data management, local rules and events, local RESTful API’s and various communications tools to communicate with Azure IoT.

Leveraging a very small footprint Go language solution, EdgeIQ Edge can be installed as a service on most small footprint Linux architectures. A wide variety of architects are supported and EdgeIQ can assist in the efforts necessary for integrating our Edge solution.

EdgeIQ Edge Gateways can be configured to allow data flow from the Azure IoT platform directly. Once configured, the user can utilize Azure IoT tools or publish directly to the Azure MQTT server to control the data on the Edge Gateway.

Step 2 — Create or Update a EdgeIQ Portal User Account with your Azure Credentials

In order for EdgeIQ to act on your behalf within Azure IoT, first, create an IoT Hub within your Azure account.

Step 3 — Create a shared access policy for your integration
  1. Within your IoT Hub, under "Settings", select "Shared access policies".
  2. Add a new policy with all permissions
Step 4 — Configure EdgeIQ Portal with IoT hub and shared access policy

Within the EdgeIQ Portal, create an Integrations of type "IoT: Microsoft Azure". Specify all of the following:

  1. Azure IoT Hub Hostname — If the name of your hub is "MyIoTHub", enter "MyIoTHub.azure-devices.net".
  2. Access Policy Name — enter the name of the shared access policy you created.
  3. Shared Access Key — enter the Primary key of the shared access policy you created.
Step 5 – Create a Device Type for your device if it does not already exist in your account

When new devices or gateways are added to EdgeIQ Portal, it is important for the system to know the model (Device Type) of the unit being added. This data is used to configure Edge to understand that the device will be an Azure enabled unit. This activity is typically a one-time activity that can be done using RESTful API’s within the EdgeIQ service or can be pre-configured for your EdgeIQ Portal account.

Step 4 – Create an Azure Gateway Device

In this step, the gateway running Edge that will be communicating with Azure IoT is configured. The gateway make and model can be selected (created via RESTful APIs or pre-configured in your account), and the gateway must be given a name that is unique to the user, and a Unique ID that is unique across all gateways. For the gateway to communicate with the Azure IoT platform, the Integration created in Step 3 must be selected.

Step 5 — Create devices

Each device that will report into its Azure device twin will need to be created within EdgeIQ Edge to enable the software to support Azure reporting. This process will create the ‘device’ resource that represents this device in Azure IoT. As part of this process the system will:

Once this process is completed, all the necessary elements have been created to enable your device to report into the device twin. Reporting specific elements or values to your twin is managed by the local Edge Rules service.

Adding Devices to your Shadow and Gateway

EdgeIQ and its Edge solution have the concept of an "attached device". You can think of this as a device that is connected to your gateway. It might be a sensor, an actuator, or a piece of monitored equipment. Using EdgeIQ Portal, you can easily manage those and also create Azure IoT resources for those elements. This is done in a similar way to creating the gateway device.

Attached devices do not need to run the EdgeIQ Edge solution. They only need to connect to the gateway using a wide variety of physical and network protocols. Various tools are available to assist with this integration within Edge.

In order to create the Azure IoT Integration for the attached devices, follow these steps:

Step 1 – Create a Device Type for the attached device.

Similar to the step completed above, Edge must know basic information about the device in order to manage communications with that device. One of the main differences in this device type will be the concept of Ingestors, Commands, and Translators. Edge has a variety of configurable options that can be used for this integration including pre-built configurations.

Step 2 – Create a Device record for the attached device.

Using the method described previously, you will need to define the elements to be reported to Azure.

After completing this step, all the necessary certificates will be loaded into the Edge solution to allow for those attached devices to be visible within the Azure IoT service.

Using Local Rules to Control Data Flow to Azure IoT

Once your devices have been defined, you can use EdgeIQ Portal to configure your gateways to relay only specific elements of data to your Azure Cloud. A wide variety of conditions can be defined (logical, value changed, value-based, etc.). Using these rules you can manage the amount of data being relayed to Azure from your Edge device. There is no coding required by the developer to enable this management.

Viewing your Device Resources on Azure

Once you have created your devices and linked them to your Azure account, information from your sources will be synced to Azure IoT based on the rule conditions that have been defined for your reports. You are able to login to the Azure IoT web page or use Azure API’s to access data being automatically published as report events.

Azure IoT Devices