Water monitoring system using azure IOT solution Solutions by Arvind SriWater monitoring system using azure IOT solution Solutions by Arvind Sri

Water monitoring system using azure IOT solution Solutions

Arvind Sri

Arvind Sri

ABC company has been deployed Box LT2 RTU devices on the physical site and the requirement was to collect real-time telemetry data like  this
{"RTU_ID":"2234","Chlorine_Value":"0.019","Pump_Value":"89.625","Battery_Value":"13.460","GPRS_Signal":"1","Tank_Value":"0","Door_Signal":"0","TNB_Status":"1","System_status":"1","Relay_Feedback_Status":"0","Alarm_Status":"0000101","Device_timestamp":"2023-03-13T16:13:00","PocketRawData":null}
We have developed a custom code that works as an agent broker and is responsible to collect data from devices and send to the IOT hub as messages. In the IOT hub, we route these data to azure storage and the IOT hub triggers an azure function. an azure function has some logic to data in the ops database (MySQL).  IOT hub also has an updated twin for each device. using this real-time health can be monitored.
The high-level summary can be described in the below steps.
Ø  Box LT2 RTU devices to be connected to message broker (Agent server) which sends messages in every one minute to Azure IoT.
Ø  IoT hub is provisioned on Azure and custom IoT device is provisioned on IoT hub.
Ø  Azure VM Provisioned and configured custom message broker.
Ø  We deployed 2 VM under load balancer in Azure subscription and then we did setup Mosquito MQTT broker on that Azure VM. Once the broker was setup, we configured credential for this broker on MQTT port-1883.
Ø  Mosquito MQTT broker installed on Azure VM listens to the message from device and routes it to Custom message broker.
Ø  Once Custom message broker receives the messages then it routes to the IoT Hub.
Ø  IOT hub routes messages to azure function to handle messages.
Like this project

Posted Mar 27, 2024

company has been deployed Box LT2 RTU devices on the physical site and the requirement was to collect real-time telemetry data like this {"RTU_ID":"2234","Chlo