A smart water pipes monitoring system using Azure services from the Technical University of Madrid
Published Jun 25 2020 06:39 AM 3,078 Views


UPM IoT Master includes a course on Cloud Computing for IoT applications supported by Azure environment.  












Part of the course is a group based project. Each team propose a challenge and develop all the software to solve the proposed problem.

The following is a review of team project, the team composed of Carlos Medina, Dhama Lancelot Martinez, Mario Refoyo and Patricia Gómez who proposed a Smart Water pipes monitoring solution.


A smart water pipes monitoring system using Azure services


In the era of high technology, the speed of developing solutions to make our lives easier is increasing exponentially. In this way, a common problem to tackle is water leaks. The need not only to identify where and when exactly the leakage occurred but to also fix it can be a tough task as it often demands two factors that are limited: time and human resources. Following this premise, Internet of Things positions itself as the proper technology to address this issue taking advantage of Cloud computing capabilities. For this purpose, a smart water pipes monitoring system is proposed using Microsoft Azure as its core.


Figure 1. System architecture

This monitoring system proposes a pipeline sensed by flow meters, which send measures through MQTT to an edge node. The intelligence of the system resides on this node, which computes the difference between consecutive sensors’ measures and detects through a flow difference threshold if there is a water leak and on which segment of the water pipe it is. If it detects one, it sends a command to close the necessary valve.



The system offers six functionalities through a robust architecture where Azure services have been implemented:

  • Cross-platform components: to resemble real devices, sensors simulators were developed which have been packed into Docker containers so they can be executed in most platforms like Azure virtual machines.
  • Edge computing: as this problem demands quick responses, it was not convenient to delegate the leak detection task to the cloud. In this way, cloud capabilities are brought to the edge by implementing an IoT Edge with two modules using the Azure SDKS in Python, especially the IoT Hub Module Client. In this way, one module is in charge of transferring the incoming MQTT data to the second one, which is responsible for the leak computing task. Additionally, this module sends the alarms and telemetry data to an Azure IoT Hub.
  • Data persistence: like any system, it is necessary to perform data analytics looking for patterns that can point out information like any flaw in the pipe circuitry design. In this way, data arriving at the IoT Hub is routed to an Azure Blob storage, paving the way to Big data techniques at rest.
  • Data visualization: as the saying goes “a picture is worth a thousand words”. Taking advantage of the Azure and PowerBI interoperability, an Azure Stream Analytics job was configured so data arriving on the IoT Hub is redirected to two PowerBI reports. With this tool, the final user can know the number of alarms that were triggered in the last months or the real-time alarms location through a water pipe map.


Figure 2. Water pipe alarms dashboard using PowerBI

  • Remote configuration updates: to provide flexibility, the leak threshold can be modified directly from the cloud using the twin devices feature in the IoT Hub so the Edge node listens for configuration updates.
  • DevOps implementation: the CI/CD practice was implemented using the Azure DevOps tool and GitHub to optimize and automate the project development of the sensors simulators and the IoT Edge modules.

Finally, this project is a demonstration of how Internet of Things technologies can be integrated with the latest Azure services to build smart systems that real scenarios demand.

Resources and next steps 

If you interested in learning more about IoT and Azure we have a set of Microsoft Learn modules which are free modules and hands on labs for educators to utilise as blended learning resources. 

Version history
Last update:
‎Jun 25 2020 06:43 AM
Updated by: