Microsoft Azure deployment

Trial deployment of the Waylay Engine in Azure and connecting to the Azure IoT hub

Prerequisites

  • 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

Summary

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: alt text

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:

Var Default Description
PORT 3000 Port
AUTH_URL Waylay accounts url
PARSE_MODE Flattening JSON objects or not (value can be ‘flat’ or not filled in)
CONNECTION_STRING IoT Hub Connection string
PATH_FILTER Filter on device module name

CONNECTION_STRING


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

endpoint

PARSE_MODE


This will convert nested JSON objects into flat (key, value) objects so that all sensor telemetry can be accessed in the rules engine.

value : PARSE_MODE='flat' or not specified

AUTH_URL


This will be the same url as configured in your Waylay OTO Rules Engine.

PATH_FILTER


Example:

Azure IOT Hub “Module” # Devices
A 25
B 40

If PATH_FILTER has value of A the engine will only retrieve data of devices that have module A assigned.

If PATH_FILTER is not injected it will retrieve all data of all modules (all devices).

Modules can be configured for each device

modules