Sistema IoT para Monitoreo de Agua
Sistema IoT para Monitoreo de Agua
INGENIERIO EN TELECOMUNICACIONES
conjunto Bonanza
AUTOR:
QUITO- ECUADOR
2
Que el trabajo de titulación: “Desarrollo de un sistema IoT para el monitoreo de nivel de una
cisterna” presentado por el Sr. Pablo Roberto Quinga León, estudiante de la carrera de
establecidos y aprobados por la Dirección de las Carreras de Ingenierías, por lo que puede ser
estudio y calificación.
TUTOR TUTOR
……………………………………….. …………………………………
AGRADECIMIENTO
Quisiera expresar mi más sincero agradecimiento al Mg. Flavio Morales por su valiosa
reconocimiento por su incansable apoyo, orientación y consejos durante todo el trabajo práctico
ejecutado. Su sabiduría y dirección fueron cruciales para alcanzar los objetivos planteados.
inquebrantable apoyo, comprensión y amor durante todos estos años de estudio. Su paciencia
y aliento fueron esenciales para mantenerme enfocado en mi objetivo y superar los desafíos
constante apoyo.
4
Finalmente, agradezco a Dios por darme la vida y los medios para llegar hasta este
momento. Su infinita bondad y misericordia me han sustentado en cada paso del camino,
A todos ustedes, mi más profundo agradecimiento por ser parte de este viaje y por
contribuir de manera significativa a la culminación de este logro académico. Sin su apoyo, este
DEDICATORIA
a lo largo de este arduo camino académico. Tu amor, paciencia y constante aliento han sido mi
motor para culminar esta meta. Agradezco profundamente tu presencia en cada paso del
camino.
A mi querida hija Ana Paula, mi fuente de alegría y motivo de superación. Que este
logro sea un recordatorio para ti de que nunca debes rendirte y que siempre puedes alcanzar
tus sueños. Que mi ejemplo sirva de guía en tus propias metas y aspiraciones.
A mi padre, Bolívar Quinga, cuyo apoyo inquebrantable y sabias palabras han sido un
faro en los momentos más desafiantes. Gracias por estar siempre a mi lado, por creer en mí y
A Dios, quien en su infinita bondad y gracia ha sido mi guía y sostén en este viaje.
Reconozco que todo lo que tengo y todo lo que logro es solo un regalo más de su amor
incondicional. Que este logro sea un testimonio de mi gratitud y devoción hacia Él.
6
Contenido
INTRODUCCION...........................................................................................................................8
ANTECEDENTES..........................................................................................................................9
Planteamiento y Justificación del Problema..................................................................................10
OBJETIVOS..................................................................................................................................10
OBJETIVO GENERAL.............................................................................................................11
OBJETIVOS ESPECÍFICOS:...................................................................................................11
ALCANCE....................................................................................................................................11
PROPUESTA................................................................................................................................12
Descripción general del proyecto..............................................................................................12
Componentes del Proyecto........................................................................................................15
Sensor sumergible Jectse.......................................................................................................15
Mini computadora HP EliteDesk...........................................................................................17
PLC Siemens LOGO 8..........................................................................................................17
Pantalla HMI..........................................................................................................................19
SERVIDOR QUANTUM......................................................................................................20
SISTEMA DE CENSADO DE NIVEL DE AGUA..................................................................21
SISTEMA DE COMUNICACIÓN...........................................................................................27
Implementación y configuración del Servidor Interno..............................................................41
COMUNICACIÓN ENTRE LOGO PLC Y LA MINI PC...................................................41
Conexión entre el servidor Interno y Externo............................................................................46
SERVIDOR EXTERNO QUANTUM Y ALERTAS DE NIVEL............................................48
Configuración del servidor QUANTUM...............................................................................49
Iniciar Sesión.........................................................................................................................49
Pantalla Principal...................................................................................................................50
Botones de modo de visualización.........................................................................................52
Historial de Datos..................................................................................................................52
Notificaciones por correo electrónico........................................................................................53
CRONOGRAMA DE ACTIVIDADES Y RECURSOS...............................................................56
7
INTRODUCCION
herramienta crucial en diversas áreas, desde la industria hasta la vida cotidiana. La capacidad
forma remota diversos procesos, lo que conduce a una mayor eficiencia en la producción y
reduce los costos operativos. Al recopilar datos en tiempo real sobre el uso de recursos como
energía y agua, la IoT facilita la identificación de áreas donde se pueden hacer mejoras y
En entornos industriales, los sistemas IoT pueden utilizarse para monitorear condiciones
que mejoran la calidad de vida de las personas al automatizar tareas rutinarias, controlar
individuales.
En este sentido, éste proyecto “Desarrollo de un sistema IoT para el monitoreo de nivel
de una cisterna” se centra en solventar el problema de los habitantes del conjunto residencial
9
sistema de alerta del nivel de agua en la cisterna del conjunto habitacional, ésto ha provocado
proveedor del servicio, los habitantes del conjunto residencial al no tener conocimiento del
estado del nivel de agua en la cisterna experimenten el desabastecimiento inmediato del líquido
vital acumulado.
El presente trabajo de titulación hace referencia a la solución del problema del conjunto
cisterna y conectado a un PLC logre comunicarse con un servidor web en la nube mediante el
acceso a internet. Así de esta manera cuando exista un vaciado o un exceso de agua en el
ANTECEDENTES
controlados por Arduino para su posterior envió y almacenamiento en base de datos local en
Raspberry PI.
Para el monitoreo remoto hizo el uso de la nube ThinkSpeak que es una plataforma IoT
logra tener los valores del nivel del agua en tiempo real. Los valores arrojados por el sensor de
nivel dentro de la cisterna se procesan en el PLC y se pueden observar atravez de una pantalla
comunicación totalmente distintos atravez de MODBUS TCP para el envío y recepción de datos
periódicamente el estado del nivel de agua en la cisterna a través de una interfaz gráfica que
sistema estará diseñado para enviar notificaciones web de alerta, así como mensajes de correo
OBJETIVOS
OBJETIVO GENERAL
Desarrollar un sistema IOT para el monitoreo de nivel de agua en la cisterna del conjunto
Bonanza
OBJETIVOS ESPECÍFICOS:
Establecer los elementos de monitoreo, control y comunicación del sistema IoT para la
ALCANCE
12
para determinar los valores de niveles máximo y mínimo censando la presión de agua que
El sensor instalado envía los datos en PSI hacia la entrada analógica del PLC que luego
máximo y mínimo para alerta y envío de notificaciones cuando el nivel de agua iguale, o
necesario habilitar un servidor interno en el cuarto de equipos usando una mini PC HP ELITE
DESK para almacenaje de los datos que suministre el PLC, los cuales se almacenan y analizan
QUANTUM que facilita el procesamiento de los datos atravez de la plataforma de monitoreo IoT
Cuando exista una alarma por nivel de agua bajo o nivel de agua alto, el servidor
externo activa el servicio de notificaciones Web y correo electrónico hacia los dispositivos
PROPUESTA
13
personal administrativo del conjunto Bonanza acerca de la cantidad de agua que se encuentra
acceder al servidor IoT Quantum para verificar el estado en tiempo real e historial del
Logo Siemens estará programado para solicitar al servidor externo una alerta de alarma por
web por alerta de nivel bajo o exceso de agua en la cisterna. Estas alertas de nivel son
enviadas mediante protocolo TCP/ IP y dirigidas hacia los dispositivos móviles registrados en la
Figura 1.
Nota: El sistema está compuesto por un sistema de lectura en la cisterna para luego ser
procesado por un PLC , todos los datos son almacenados en un servidor pequeño para luego
enviarlos hacia un servidor IoT que se comunicara con los dispositivos móviles registrados en
la plataforma IoT
Figura 2.
Nota: EL flujograma indica el proceso del envío de datos desde la lectura en el sensor
red local necesarios para la conectividad, a continuación, se detallan los elementos más
significativos.
Figura 3
N DESCRIPCIO CANTIDAD
N
16
1 Sensor 1
sumergible Jectse
2 PLC Logo 1
Siemens 8.30
3 Mini 1
computadora HP
EliteDesk
4 Router TPlink 1
5 Servidor IoT 1
Quantum
continuo del nivel de líquido en pozos, reservorios, tanques, perforaciones, ríos y otros. La
unidad sumergible detecta la presión hidrostática en el fondo del líquido y transmite una señal
Figura 4.
Características:
Rango: 0-10mH20
Precisión: 0.5%FS
Resolución: 0.1mV
Con cable de 6m
18
Se usará como un servidor local en donde se guardará toda la información que envíe el
sensor de nivel hacia el PLC y luego de procesar los datos obtenidos se alojen en el servidor
local
Figura 5.
Características:
Este dispositivo será en encargado de procesar los datos analógicos provenientes del
datos y analizarlos detenidamente. Cuando lea los valores de mínimo o máximo señalados en
el programa, solicitara al servidor web enviar una notificación de aviso por medio del internet
Figura 6.
Número de Entradas: 8
Pantalla HMI
Display táctil LCD de 4’3 pulgadas permiten al usuario interactuar gráficamente con el
Figura 7.
Para la conexión física entre el PLC y la pantalla se realiza mediante cable de red UTP
y conectores RJ-45
servidores, máquinas virtuales, aplicaciones, servicios, bases de datos, sitios web, entornos en
la nube y más. Zabbix ofrece un sistema de notificación flexible que permite a los usuarios
configurar alertas por correo electrónico para cualquier tipo de evento, lo que posibilita una
respuesta rápida a los problemas del servidor. Además, Zabbix brinda herramientas sólidas
Esto asegura que el estado de la red y la salud de los servidores puedan ser evaluados desde
Características
Zabbix es una solución de monitoreo de red altamente integrada que ofrece una multiplicidad
Recopilación de datos
soporte para SNMP (tanto captura como sondeo), IPMI, JMX, monitoreo de VMware
22
verificaciones personalizadas
Figura 8.
Desarrollo de la Propuesta
Sistema de comunicación
V =L . A . h
Figura x
Figura 9.
Para lo cual para este proyecto se ha sugerido como dispositivo de medición un sensor
sumergible, que en base a la presión hidrostática que el agua ejerce sobre él, realice la
Por lo tanto, la presión hidrostática ejercida por el líquido sobre el sensor cuando la
P = ρgh = 1000kg/m3*9,82m/s2*3m
Figura 10.
quedo ubicado a 10cm del piso de la cisterna y sujeto con una abrazadera para que no se
Figura: 11
Integración con el PLC Logo: El sensor de presión diferencial realiza las mediciones de
está lleno de agua la presión ejercida por el líquido será mayor que cuando se encuentre vacío.
Los niveles de presión dados por el sensor, representará el volumen del líquido
existente en el interior de la cisterna tanto para el nivel máximo como para el mínimo y los
existente en el tablero.
El nivel del líquido se obtiene mediante la resolución del transductor basados en los
mediante la ecuación:
corresponden a los datos de corriente fijados por el sensor, y en el denominador los valores
analógicos físicos del nivel de agua en el tanque en litros. Entonces realizando la operación
tendríamos:
Para el control de los niveles mínimo y máximo se tomarán como referencia los niveles
medio bajo (30%) y como nivel alto (90%) respectivamente, los cuales interactuarán con un
controlador lógico programable para la alerta de nivel bajo o alto mediante un programa de
usando conectores lógicos y comparadores para la configuración del sensor en el PLC para
obtener los datos en la pantalla del Logo, ingresando a los parámetros de conexión de la
Figura 13
analógicos de entrada
29
Figura: 14
Nota: Valores obtenidos por el sensor al PLC cuando el nivel de agua está al 30% y al
90%
Con la información correspondiente a los niveles de agua para nivel bajo y alto se
SISTEMA DE COMUNICACIÓN
Una vez configurado los valores de corriente en función del porcentaje de agua, se
Figura: 15
Nota: Diagrama de bloques para indicar los niveles de agua de la cisterna incluyendo
SISTEMA DE COMUNICACIÓN
Una vez realizado el programa activamos Modbus y S7 desde el LogoSoft para que los
datos sean enviados a la pantalla HMI del tablero y así visualizar los datos
31
Figura 16.
Figura 17.
Nota: La pantalla refleja los valores de nivel de agua y presión de agua constante
Figura:18
Figura 19
Figura 20
Una vez configurada la pantalla HMI, se configura el tipo de PLC que va a estar
Figura 21
Figura 22.
Figura 24.
Se abre el archivo del diseño original desde Kinco DTools para la respectiva
modificación.
38
Fig.25
Descarga del archivo del diseño original de la pantalla HMI con Kinco DTools.
Figura: 26
Nota: Diseño original del monitoreo de Presión de agua en las tuberías del conjunto
Bonanza
Se realiza la Edición para las nuevas lecturas sin modificar las lecturas para la presión
de agua
Figura 27
Configuración existente
HMI
juntamente con los que se envían desde el PLC, lo único que se realiza es colocar los valores
de litros en función de los datos obtenidos por el PLC para los niveles 218 como bajo y 373
40
como nivel alto. Es decir, cuando la cisterna experimente un valor de 20 litros como nivel bajo
Figura 28
Figura: 29
Luego se realiza la configuración para el parámetro de los metros de altura que alcanza
Figura 30
Figura: 31
Finalmente se realiza la creación de una barra de nivel para observar en tiempo real el
estado del nivel de agua juntamente con los parámetros de Litros, Metros Y Porcentaje.
Figura 32
Nota: Pantalla HMI con una barra que manifiesta el estado del líquido en tiempo real
44
observar el nuevo diseño de la pantalla HMI para el monitoreo del nivel de agua en tiempo real.
Figura 33.
misma que estará recibiendo y almacenando los datos que se envíen desde el sensor y
Figura:34
minicomputadora será necesario implementar una interfaz de código abierto desde la Mini Pc
configuración establecida por defecto para luego actualizar los repositorios de Ubuntu.
Figura 35
Figura 36
47
pypmodbustcp, para que los datos generados en el PLC sean enviados a la mini computadora
Figura 37
Instalando pypmodbus-tcp
48
siguiente línea de código. Este archivo lo ejecutaremos desde la Mini Pc para que empiece la
comunicación entre el PLC y el servidor interno, en donde se pide importar atravez del
protocolo ModbusTCP los valores obtenidos del host [Link] atravez del puerto de
conexión 502, se pide los valores de lectura obtenidos por el sensor atravez del PLC. Estas
Figura 38
Figura:39
Ejecución del archivo de lectura del sensor de nivel atravez de protocolo modbus TCP
49
que envía el sensor al PLC y automáticamente esos datos son enviados al servidor interno.
Aquí se puede observar que el dato enviado hacia el servidor es de 276, este es el dato
de nivel de agua en tiempo real obtenido por el sensor y mediante el protocolo modbusTCP es
Figura 40
Valor obtenido por el sensor de nivel es visualizado atravez de Ubuntu en tiempo real (276)
50
Este valor se encuentra entre el rango de lectura del PLC que va desde 0 – 1000 y que
al pasar por el sistema de Kinco DTools hacia la pantalla HMI se imprime con un valor de
Figura 41
Nota:Pantalla
De la misma manera se puede visualizar el valor obtenido en Ubuntu atravez del Logo
Soft
Figura 42
Usando un script para crear un bucle para que cada 10seg se obtenga los datos del
sensor de nivel y al mismo tiempo almacenar los datos en el servidor interno será capaz de
La variable URL es la dirección hacia donde se va a enviar los datos guardados, en este
Figura 43
Nota: Script para realizar la lectura y actualización de datos del servidor interno con
Una vez ejecutado el código se puede validar la información con el valor obtenido en el
servidor externo. Aquí se puede observar el dato obtenido en tiempo real en la aplicación web y
Figura:44
Nota: Valor obtenido en la plataforma IoT y traducido a porcentaje, juntamente con los
Para realizar la configuración de las alertas de nivel, será necesario primero establecer
ZAABIX, una plataforma de monitoreo IoT muy amigable para el sistema de monitoreo de nivel
Figura 45
Iniciar Sesión
credenciales otorgadas por el propietario del servidor que fue entregado previo al convenio
establecido en la compra.
Figura 46
Pantalla Principal
en donde se mostrará por medio de dos odómetros y en valor de porcentaje los niveles de agua
interfaz Zabbix
Figura 47
importante en un panel.
Aunque sólo se puede mostrar un tablero a la vez, es posible configurar varios tableros.
Cada tablero puede contener una o varias páginas que se pueden rotar en una presentación de
diapositivas.
57
Una página de tablero consta de widgets y cada widget está diseñado para mostrar
información de cierto tipo y origen, que puede ser un resumen, un mapa, un gráfico, el reloj,
etc.
El acceso a los equipos en los widgets depende de los permisos del equipo
Visión general
El menú Monitoreo tiene que ver con la visualización de datos. Cualquier información
que Zabbix esté configurado para recopilar, visualizar y actuar, será mostrada en las distintas
Los siguientes botones ubicados en la esquina superior derecha son comunes para
cada sección:
58
Historial de Datos
Figura 48.
Para configurar los ajustes de correo electrónico: Alertas → Tipos de medios y clic
Figura 49.
Configuración de notificaciones
Fig 50.
Configuración de notificaciones
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
En la pestaña Tipo de medio, se establece los valores de servidor SMTP, helo SMTP y
mensajes.
Hacer clic en Agregar para crear una plantilla de mensaje y seleccione Problema como
tipo de mensaje.
Figura 51.
medio también debe estar vinculado a los usuarios definiendo direcciones de entrega
Los valores detallados en las tablas anteriores, son valores estimados que pueden
ANEXO
PROGRAMA PLC
Dirección del modulo
[Link] = 502
url = "[Link]
headers = {
"Content-Type": "application/json"
}
4
while True:
analog = c.read_input_registers(0, 2)
if analog:
data = {
"parametros": {
"data": {
analógico
"fecha": formatted_date
if response.status_code == 200:
else:
Quantum Zabbix
6
REFERENCIAS BIBLIOGRÁFICAS
PLC
Semélparo. (2021). AWS IoT Core con ESP32 y Gateway Lora. [video]. YouTube.
v=AZCoi16LnMQ&ab_channel=Smelpro
Correa, J. (2020). IoT Siemens Protocolo MQTT. [video]. Ted Tal. Recuperado el 17 de
[Link]
[Link]
analógicos