Trial deployment of the Waylay Engine in Azure and connecting to the Azure IoT hub
- Access to Microsoft Azure IoT Hub
- Administrator access for Azure IoT Hub (this allows you to connect devices)
- IoT connected device (e.g. a Rasperry Pi)
- Linux virtual machine in Azure with sudo access (required specification: Standard B1S (1 vCPU, 2GB mem) machine with 30GB disk)
- Request a license for the Waylay Engine via https://www.waylay.io/demo.html
Say your organisation has some devices that are connected in Azure IoT Hub and that the devices are configured to push their telemetry data to a Topic or multiple Topics. How does one connect this data on these topics to a Waylay Engine for creating rules and templates? The Azure Connector allows you to bridge the connection between Azure IoT Hub and your Waylay Engine fairly easy!
Main building blocks of this integration are presented below:
We will give you a docker compose configuration file that you can use to deploy
- the Azure Connector
- the Waylay Engine (and dependent components) from our docker repository.
You will need to edit this file before deployment - see below.
Configuration of Azure Connector
The following environment variables have to be configured:
||Waylay accounts url|
||Flattening JSON objects or not (value can be ‘flat’ or not filled in)|
||IoT Hub Connection string|
||Filter on device module name|
Exist of multiple pieces of information:
HostName= ;Endpoint= ;SharedAccessKeyName= ;SharedAccessKey= ;
HostName can be found on:
IoT Hub Console -> Overview -> Hostname
Endpoint - SharedAccessKeyName - SharedAccessKey String can be found on:
IoT Hub Console -> Endpoints -> Events (Built-in Endpoint) -> Properties
This will convert nested JSON objects into flat (key, value) objects so that all sensor telemetry can be accessed in the rules engine.
PARSE_MODE='flat' or not specified
This will be the same url as configured in your Waylay OTO Rules Engine.
|Azure IOT Hub “Module”||# Devices|
PATH_FILTER has value of
A the engine will only retrieve data of devices that have module A assigned.
PATH_FILTER is not injected it will retrieve all data of all modules (all devices).
Modules can be configured for each device