Many IOT devices can be configured to push messages to Microsoft Azure IOT Hub. IOT Hub can receive and collate messages from thousands of devices, and provide a single interface for applications such as Engine to securely connect to in order to receive realtime updates from any connected devices.
Engine supports connection to Azure IOT Hub via a local Node-RED docker container (at
node-red:1880) which ships by default as part of all Engine deployments. Once the connection is configured, Engine modules will recieve realtime notifications from MS Azure IOT Hub via the Node-RED websocket.
[Engine module] >websockets> [Node-RED]:1880 >AMQP over websockets> [MS Azure IOT Hub]
Prerequisite: First, ensure you've read the article on how Engine works with Node-RED
Install the Node-RED connector for Azure IOT Hub, by running the below command on the VM/machine where Engine is installed:
docker exec -it node-red npm install node-red-contrib-azure-iot-hubdocker restart node-red
Access the Node-RED web interface by visiting http://localhost:1880 to configure Node-RED.
Create an "Azure IoT Hub Receiver" node. Connect it it to your IOT Hub by setting the
connectionstring, which you will find in your Azure Portal, under your IOT Hub > Shared Access policies > iothubowner > Connection string-primary key See heading "Reading all messages received into Azure IoT Hub" for more details.
Create a "websocket output" node and connect the output of the Azure node to the input of the websocket node
For instructions on how to connect and Engine Module to Node-RED, see the page on Node-RED