0% encontró este documento útil (0 votos)
33 vistas55 páginas

Referencia

El documento describe una plataforma en la nube para la visualización y análisis de datos de dispositivos IoT de monitoreo de la contaminación del aire en Bogotá. Se utiliza un método de interpolación espacial llamado kriging para generar mapas, e integra módulos de alarma, visualización, registro e interpolación a través de lenguajes de programación. El objetivo es brindar servicios de monitoreo y notificación cuando los niveles de contaminación superen límites establecidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas55 páginas

Referencia

El documento describe una plataforma en la nube para la visualización y análisis de datos de dispositivos IoT de monitoreo de la contaminación del aire en Bogotá. Se utiliza un método de interpolación espacial llamado kriging para generar mapas, e integra módulos de alarma, visualización, registro e interpolación a través de lenguajes de programación. El objetivo es brindar servicios de monitoreo y notificación cuando los niveles de contaminación superen límites establecidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Plataforma en la nube para la

visualización y análisis de datos


provenientes de dispositivos para el
monitoreo de la polución del aire

Marcos Sebastián Andrade Forero


Juan Andrés Holguı́n Pedraza

Pontificia Universidad Javeriana


Facultad de Ingenierı́a - Proyecto de Grado en Ingenierı́a Electrónica
Bogotá D.C., Colombia
2021
Plataforma en la nube para la
visualización y análisis de datos
provenientes de dispositivos para el
monitoreo de la polución del aire

Marcos Sebastián Andrade Forero


Juan Andrés Holguı́n Pedraza

Trabajo de grado presentado como requisito parcial para optar al tı́tulo de:
Pregrado de Ingenierı́a Electrónica

Director(a):
Ing. Diego Méndez Chaves, Ph.D

Énfasis de Profundización:
Energı́as y Control
Pontificia Universidad Javeriana
Facultad de Ingenierı́a - Proyecto de Grado en Ingenierı́a Electrónica
Bogotá D.C., Colombia
2021
(Dedicatoria)

A nuestras familias, quienes con pa-


ciencia y esfuerzo nos permitieron estar
donde estamos hoy a punto de cumplir
un gran sueño, porque con sus oraciones
y palabras de aliento hicieron de nosotros
unas grandes personas.

A nuestro director por su gran apo-


yo, gestión y esfuerzo en este proceso;
por apoyarnos en los momentos difı́ciles
y mostrarnos caminos para seguir avan-
zando en nuestro proceso.
Agradecimientos

Nos gustarı́a agradecer en estas lı́neas la ayuda que muchas personas y colegas nos prestaron
durante el proceso de investigación y redacción de este trabajo. En primer lugar, quisiéra-
mos agradecer a nuestros padres y familias por su constante ayuda y apoyo. También a
nuestro director, Diego Méndez, por habernos guiado y orientado con excelencia en todos
los momentos.
Ası́ mismo, deseamos expresar reconocimiento al Centro de Excelencia y Apropiación del
Internet de las Cosas (CEA-IoT) y al comité central del mismo por todas las atenciones e
información brindada a lo largo de este proyecto de grado.
A todos nuestros amigos, compañeros y futuros colegas que nos brindaron apoyo de una
manera desinteresada, gracias infinitas por toda su buena actitud y voluntad.
A la Pontificia Universidad Javeriana por ser nuestro hogar en todo el proceso llevado en
estos años.
v

Resumen

Si bien se han realizado proyectos en Bogotá en torno a la contaminación ambiental son


todavı́a escasas las plataformas que permiten conocer las diferentes concentraciones de los
contaminantes de manera gráfica ası́ como el ı́ndice de la calidad del aire (ICA); es por esta
razón que se desarrolla una plataforma en la nube cuyo objetivo es brindar servicios como
el análisis, el monitoreo y visualización de datos obtenidos de diferentes dispositivos IoT
en Bogotá, a través de mapas de interpolación espacial y un sistema de alarmas mediante
registro para que los usuarios puedan ser notificados en caso de que la contaminación supere
los lı́mites establecidos y empiece a ser peligroso para la salud.
Se hizo uso de un método de inferencia espacial conocido como kriging y se integran un
total de 4 lenguajes programación (HTML5, CSS3, JavaScript y PHP) a través de los cuales
se logra realizar un despliegue total incluyendo módulos como alarma, visualización, inter-
polación y registro. A través de los resultados y gráficas obtenidas es posible evidenciar la
funcionalidad del sistema y la efectividad con que se cuenta a la hora de realizar toda la
visualización de la información.
Palabras clave: ICA, IoT, Plataforma, Monitoreo, Visualización, Kriging.

Abstract

Although projects have been carried out in Bogota around environmental pollution there are
still few platforms that allow to know the different concentrations of pollutants graphically
as well as the air quality index (AQI); it is for this reason that a cloud platform is develo-
ped whose objective is to provide services such as analysis, monitoring and visualization of
data obtained from different IoT devices in Bogota, through spatial interpolation maps and
a system of alarms through registration so that users can be notified in case the pollution
exceeds the established limits and begins to harmful.
A spatial inference method known as kriging was used and a total of 4 programming lan-
guages (HTML5, CSS3, JavaScript y PHP) were integrated to achieve a total deployment
including modules such as alarm, visualization, interpolation and registration. Through the
results and graphs obtained it is possible to demonstrate the functionality of the system and
the effectiveness of the information visualization.
Keywords: AQI, IoT, Platform, Monitoring, Visualization, Kriging.
Contenido

Agradecimientos IV

Resumen V

1 Introducción 2
1.1 Problemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Estado del arte 4

3 Sistema 8
3.1 Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Diagrama de Bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Recepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Tratamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.4 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Desarrollos 11
4.1 Recepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.1 IoT Hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.2 Streaming Analytics Job . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Tratamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3.1 Módulo de Registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3.2 Módulo de Interpolación espacial . . . . . . . . . . . . . . . . . . . . 14
4.3.3 Módulo de Visualización . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.4 Módulo de Alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4 Contaminantes que Generan Mayor Afectación al ICA . . . . . . . . . . . . . 17
4.5 Cálculo del Índice de la Calidad del Aire . . . . . . . . . . . . . . . . . . . . 19
Contenido vii

5 Experimentos y Análisis de Resultados 20


5.1 Recepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.1 IoT Hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.2 Streaming Analytics Job . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 Almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.3 Tratamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.1 Registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.2 Alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3.3 Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.4 Visualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.4 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5 Cálculo del Índice de la Calidad del Aire . . . . . . . . . . . . . . . . . . . . 32

6 Conclusiones y Trabajo Futuro 33

Bibliografı́a 35

A. Anexo: Variables que generan mayor afectación al ICA 38

B. Anexo: Resumen de todos los protocolos de pruebas realizados 44

C. Anexo: Tablas Implementadas para el Cálculo del ICA 45


Lista de Figuras
3-1 Arquitectura general del sistema . . . . . . . . . . . . . . . . . . . . . . . . . 9

4-1 Recursos adquiridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


4-2 Tablas base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4-3 Proceso de registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4-4 Proceso de visualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4-5 Proceso de alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5-1 Dispositivo enviando datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


5-2 Prueba IoT hub - Sin dispositivos . . . . . . . . . . . . . . . . . . . . . . . . 21
5-3 Prueba IoT hub - Agregando un dispositivo . . . . . . . . . . . . . . . . . . 21
5-4 Prueba IoT hub - Sin dipositivos . . . . . . . . . . . . . . . . . . . . . . . . 22
5-5 Prueba IoT hub - Agregando un dipositivo . . . . . . . . . . . . . . . . . . . 22
5-6 Streaming Analytics Job - Sin dipositivos . . . . . . . . . . . . . . . . . . . . 23
5-7 Streaming Analytics Job - Agregando un dipositivo . . . . . . . . . . . . . . 23
5-8 Resultado insertar datos en la base de datos . . . . . . . . . . . . . . . . . . 24
5-9 Resultado seleccionar datos en la base de datos . . . . . . . . . . . . . . . . 25
5-10 Pantalla módulo de registro o suscripción . . . . . . . . . . . . . . . . . . . . 25
5-11 Pantalla módulo de alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5-12 Consulta de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5-13 Correo recibido con el reporte del indice de la calidad del aire. . . . . . . . . 28
5-14 Pantalla interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5-15 Pantalla con la gráfica particular para el dı́a. . . . . . . . . . . . . . . . . . . 30
5-16 Pantalla con la gráfica particular para un histórico. . . . . . . . . . . . . . . 30
5-17 Pantalla de inicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5-18 Pantalla con los datos ”Hoy”. . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6-1 Contaminación anual por zonas de P M10 .[27] . . . . . . . . . . . . . . . . . . 38


6-2 Contaminación anual por zonas de SO2 .[27] . . . . . . . . . . . . . . . . . . 39
6-3 Contaminación anual por zonas de N O2 .[27] . . . . . . . . . . . . . . . . . . 39
6-4 Contaminación anual por zonas de O3 .[27] . . . . . . . . . . . . . . . . . . . 40
6-5 Contaminación anual por zonas de CO.[27] . . . . . . . . . . . . . . . . . . . 40
Lista de Tablas
2-1 Resumen estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4-1 Porcentajes de error obtenidos. . . . . . . . . . . . . . . . . . . . . . . . . . 15


4-2 Porcentajes de influencia en el cálculo del ICA por nodos. . . . . . . . . . . . 18

5-1 Consultas realizadas para comprobar funcionamiento de la base de datos. . . 24

6-1 Resumen de pruebas realizadas. . . . . . . . . . . . . . . . . . . . . . . . . . 44


6-2 Expresiones para una calidad del aire buena . . . . . . . . . . . . . . . . . . 45
6-3 Expresiones para una calidad del aire moderada . . . . . . . . . . . . . . . . 45
6-4 Expresiones para una calidad del aire dañina para grupos sensibles . . . . . . 46
6-5 Expresiones para una calidad del aire dañina . . . . . . . . . . . . . . . . . . 46
6-6 Expresiones para una calidad del aire muy dañina . . . . . . . . . . . . . . . 46
6-7 Expresiones para una calidad del aire peligrosa . . . . . . . . . . . . . . . . . 47
1 Introducción
En vista de esta creciente preocupación por la problemática ambiental a nivel mundial y la
constante búsqueda de los sistemas integrales orientados al análisis, monitoreo y visualiza-
ción de la calidad del aire se crea desde el Centro de Excelencia y Apropiación del Internet
de las Cosas un proyecto para la polución del aire conocido como Plataforma Integral de
Monitoreo Ambiental (PIMA) la cual no se encuentra activa, el presente proyecto de grado
se enfoca en poner en marcha dicha plataforma y mejorar la gestión en algunos aspectos
como la visualización y análisis de la calidad del aire. El propósito fundamental es el de
desarrollar módulos en la plataforma para poder analizar y visualizar el ICA, para que ası́
se puedan tomar acciones preventivas o correctivas en un futuro. Se realiza un despliegue
logrando la integración entre diferentes recursos de Azure y GitHub lo que permite llevar
un orden respecto a los desarrollos que se van realizando para cada uno de los objetivos del
trabajo.

Este proyecto presenta una herramienta útil para la ciudadanı́a y la industria colombiana,
ya que la plataforma permite analizar y comprender la calidad del aire en Bogotá D.C; todo
esto dentro del marco de los lı́mites establecidos por las organizaciones de control teniendo
en cuenta el tiempo de exposición de cada uno contaminantes contemplados en el ICA con
el propósito fundamental de reducir riesgos y poder tomar decisiones que mejoren la calidad
de vida de la población.

1.1. Problemática
Actualmente el proyecto de CEA - IoT para la polución del aire cuenta con PIMA, la cual
es una herramienta básica de visualización de datos en dashboards que lamentablemente
no se encuentra activa, de tal forma que se debe desarrollar una propuesta útil para la
gestión de la información adquirida por los dispositivos IoT en los diferentes puntos de
interés. Adicionalmente, existen varios puntos de mejora en el análisis estadı́stico, la correcta
visualización y el seguimiento de los ı́ndices de calidad del aire. En resumen, es fundamental
representar el ICA con sus principales actores contaminantes en la ciudad de Bogotá de tal
forma que se superen las limitaciones presentes en interpretación y análisis de datos.
1.2 Objetivos 3

1.2. Objetivos

1.2.1. Objetivo General

Desarrollar los módulos de visualización, alerta y análisis a partir de la información de la


polución en el aire para la plataforma en la nube PIMA.

1.2.2. Objetivos Especı́ficos

1. Identificar cuáles son las variables que generan mayor afectación en el ı́ndice de calidad
del aire en Bogotá.
2. Visualizar datos obtenidos sobre la calidad del aire provenientes de diferentes disposi-
tivos IoT en Bogotá.
3. Implementar un módulo para la interpolación espacial el cual permita visualizar mapas
de calor de la polución en diferentes zonas de Bogotá.
4. Crear un módulo de alertas basada en el análisis del Índice de Calidad del Aire que
permita suscribir usuarios para poder notificarles.
5. Validar el funcionamiento de los módulos integrados al sistema PIMA.
6. Desarrollar documentación del sistema PIMA.
2 Estado del arte

Se encontraron algunos proyectos que presentan cierto nivel de afinidad con la temática del
proyecto que se está desarrollando.

Se parte de un proyecto que busca tener impacto sobre la creciente problemática ambiental
y la búsqueda de la mejora en los pronósticos de la calidad del aire. Este proyecto llamado
Air Quality Index and Air Pollutant concentration Prediction Based on Machi-
ne learning Algorithms [3] está basado en inteligencia artificial, busca medir el ı́ndice de
calidad del aire (ICA) en Beijing, se utilizaron y evaluaron algunos modelos de ML como:
Support Vector Machine (SVM) y Random Forest Regression (RFR). Para determinar el
valor del ICA en cada punto de la ciudad se implementaron matrices de correlación. Este
proyecto desarrolla un modelo de predicción y de aprendizaje automático con base a la gran
cantidad de datos obtenidos en la ciudad.

Teniendo en cuenta que en los últimos años se han dado grandes avances en la industriali-
zación y la urbanización, la contaminación del aire se ha visto fuertemente incrementada a
la par que muchos problemas respiratorios. Es por este motivo principalmente que nace el
proyecto An Azure Access Early Warning system for Air Quality Index Deterio-
rating [5] en el cual se plantea un sistema de alerta del ı́ndice de calidad del aire (ICA); la
propuesta integra modelos de predicción de Machine Learning como: Regresión de bosque
de decisiones (DFR), Regresión de red neuronal (NNR) y Regresión lineal (LR). El objetivo
de integrar dichos modelos es principalmente conocer el mejor algoritmo para calcular el
ICA para los 6 contaminantes y ası́ poder monitorear la calidad del aire en tiempo real.
El proyecto presenta una propuesta que implementa un sistema de alerta integrado por los
servicios de Azure donde se proporcione al usuario una interfaz de mapa de distribución de
los contaminantes en el aire.

Con la intención de generar una interfaz de visualización a través de la cual poder obtener
información de utilidad respecto a la calidad del aire surge un proyecto llamado AirEx-
plorer: Visual Exploration of Air Quality Data Based on Time-Series Querying
[6]; este desarrollo fue realizado bajo el método de análisis RadViz el cual está enfocado en
evidenciar las variaciones de la calidad del aire en diferentes épocas de año donde se tie-
5

nen en cuenta 4 grandes pilares o variables dados por: La exploración global, la exploración
profunda de los patrones de calidad del aire, la exploración de patrones de series de tiem-
po y la comparación de patrones de calidad del aire. Basados en estos 4 pilares es posible
establecer algunas relaciones entre las diferentes variables que son medidas, también se creó
un algoritmo de consulta que se encarga de integrar diferentes análisis de series temporales
como la representación lineal jerárquica por partes y la deformación temporal dinámica. Se
usan particularmente ya que estos son métodos que permiten medir o analizar que tanto
se parecen dos secuencias temporales, la integración representa un gran beneficio ya que no
necesariamente las series deben tener la misma escala temporal.

La contaminación a nivel mundial es un tema que tiende a ser dejado de lado; es por esta
razón que paı́ses como India son reconocidos ya que a pesar de ser uno de los paı́ses con
mayor contaminación en el mundo ha centrado una parte importante de sus esfuerzos en
crear consciencia del cuidado del aire. Es por lo anterior que en el proyecto Data Analysis
of Air Pollutant Levels in India [7] se realiza un estudio con la intención de analizar la
tendencia general de las diferentes concentraciones de contaminantes en la India durante los
años 2016 a 2018. En dicho estudio se exponen las tendencias comunes observables respecto
a la contaminación ambiental con la intención de poder atribuirlo a su causa raı́z y producir
resultados que justifiquen las causas del deterioro de la calidad del aire, todo esto a través
de una interfaz de visualización a la cual las personas puedan tener acceso. De esta forma
los investigadores se plantearon construir un modelo de predicción del ı́ndice de calidad del
aire para la ciudad de Delhi en India, donde gran parte del estudio se enfoca en la búsqueda
de patrones para el análisis de datos y por último pronosticar la calidad del aire en Delhi;
para corroborar su funcionamiento y realizar una validación se plantearon series de tiempo
con las cuales poder obtener las gráficas ACF (Auto-Correlation Function), PACF (Partial
Auto-Correlation Function) y a nivel matemático el test ADF (Augmented Dickey–Fuller).

Teniendo en cuenta la cantidad de vehı́culos y la poca disponibilidad de espacios de estacio-


namiento, se crea SenseAPP: An IoT-Based Mobile Crowdsensing Application for
Smart Cities [8] donde se desarrolla una aplicación móvil conocida como SenseAPP la cual
se enfoca en la detección de vehı́culos basada en un modelo de plataforma IoT que hace uso
de los teléfonos inteligentes de todas las personas registradas para sensar algunas variables
que son posibles medir dependiendo el dispositivo con el que se cuente, ası́ mismo se hace
uso de una gran cantidad de sensores de gas y temperatura ubicados en diversas zonas de
la ciudad. Toda esta información obtenida se almacena en la nube para poder procesarla
y proporcionar una visualización a través de mapas de concentración que hacen énfasis en
los puntos crı́ticos o de mayor contaminación, de la misma manera se muestran los espacios
disponibles para el parqueo en la ciudad. Todo el desarrollo está basado en 4 caracterı́sticas
principales: ruido, monitoreo del aire, detección de fuego y parqueo smart. La aplicación
6 2 Estado del arte

desarrollada se ha caracterizado por tener una interfaz simple pero con un rendimiento alto;
esta se encarga de reunir o agrupar problemas de suma importancia como contaminación
del aire, el ruido, los incendios y la gran demanda de parqueaderos en un solo proyecto sin
un capital muy alto y haciendo uso de los dispositivos con los que cuentan todas las personas.

La necesidad de monitorear los niveles de la calidad del aire crece cada dı́a más, esto es bási-
camente por el peligro que los contaminantes del aire o los agentes alérgenos pueden suponer
para la salud humana; teniendo en cuenta los atributos de la calidad del aire en función
del ICA propuestos por la Agencia de Protección Ambiental de los Estados Unidos (EPA)
y la Agencia Ambiental Europea (EEA). En respuesta a esta problemática surge Artifi-
cial Intelligence-Enabled Context-Awareair Quality Prediction for Smart Cities
[9] donde se da el desarrollo de un estudio enfocado al pronóstico del ICA desde diferentes
perspectivas y haciendo uso de diferentes algoritmos como lo son: Lógica Difusa, los Modelos
Ocultos de Markov, los Modelos de Conjuntos, Red Neuronal Profunda y Redes Neuronales
Artificiales. Donde se busca encontrar cuál modelo se ajusta mejor a la variabilidad de los
datos presentados y de que manera se pueden obtener unos datos mucho más precisos.

Un proyecto que se encarga de reunir desarrollos de todos los proyectos presentados corres-
ponde a Context-and Situation-Prediction for Outdoor Air Quality Monitoring de
Daniel Schürholz [10] este propone un proyecto que busca predecir el momento y el lugar
donde las concentraciones de contaminantes alcanzarán su mayor punto, haciendo énfasis en
la revisión a profundidad de los algoritmos de predicción de la calidad del aire, se desarolla
un sistema que está en la capacidad de soportar algunos algoritmos usados para realizar pre-
dicciones, se despliega todo en una aplicación web receptiva llamada My Air Quality Index
(MyAQI). Al realizar toda la integración propuesta se obtiene un proyecto que está en la
capacidad de analizar una gran cantidad datos, los cuales son tratados como correlaciones de
datos e histogramas de los mismos. Posteriormente estos datos son tratados mediante mo-
delos o algoritmos de predicción para generar algunas tendencias las cuales son comparadas
con información de otras bases de datos y finalmente estos datos son presentados al usuario
en una interfaz sobre la calidad del aire, el tráfico y los incendios en zonas aledañas a su
ubicación.

Un proyecto mucho más local corresponde a una Plataforma Integrada de Monitoreo Ambien-
tal(PIMA) [11]. Este proyecto nace en la ciudad de Bogotá dada la necesidad de representar
las mediciones adquiridas en cada una de las estaciones de monitoreo de la polución del aire,
de tal forma que se diseñó un sistema integrado capaz de visualizar los datos obtenidos por
los dispositivos IoT el cual actualmente cuenta con un despliegue general desde un Back-End
hasta un Front-End donde se cuenta con varios dispositivos IoT que se conectan directamen-
te con un gateway API comunicado con dos bases de datos incorporadas, se tiene un modulo
7

de administración de dispositivos IoT encargado de definir caracterı́sticas como el tipo de


comunicación con el dispositivo y demás. Para la recepción y captura de datos están defi-
nidos módulos particulares ya que estos permitirán un filtrado posterior de la información
para que pueda ser mostrada a modo de dashboard sobre una plataforma.

Para realizar una comparación de todos los proyectos encontrados se realiza una tabla de
resumen donde se condensa la información más importante de cada uno de los desarrollos.
Mapas
Proyecto App Dashboard IoT Nube ML ICA Análisis Predicción Alarma
de calor
[6] AirExplorer: visual exploration of No se
Sı́ Sı́ No Sı́ No Sı́ No No No
air quality data based on time-series querying especı́fica
[3] Air quality index and air pollutant
concentration prediction based on machine No Sı́ No No Sı́ Sı́ Sı́ No Sı́ Sı́
learning algorithms
[7] Data Analysis of Air Pollutant
No Sı́ No No Sı́ Sı́ Sı́ No Sı́ No
Levels in India
[5] An azure access early warning
Sı́ Sı́ Sı́ Sı́, Azure Sı́ Sı́ Sı́ No Sı́ Sı́
system for air quality index deteriorating
[8] SenseAPP: An IoT-Based Mobile No se
Sı́ Sı́ Sı́ No Sı́ Sı́ Sı́ No No
Crowdsensing Application for Smart Cities especı́fica
[9] Artificial intelligence-enabled context-aware No se
Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́
air quality prediction for smart cities especı́fica
[10] Daniel Schürholz Context-and Situation No se
Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́ Sı́
-Prediction for outdoor Air Quality Monitoring especı́fica
[11] Fusión de mediciones de calidad del aire con las
variables meteorológicas para mejorar la estimación Sı́ Sı́ Sı́ Sı́, Azure No Sı́ Sı́ No No No
espacial de los datos en la ciudad de Bogotá

Tabla 2-1: Resumen estado del arte

A través de la Tabla 2-1 es posible evidenciar los vacı́os o falencias con los que cuenta un
desarrollo previo de la plataforma respecto a otros desarrollos, ya que no cuenta con un
módulo de alarma particular, no cuenta con visualización por mapas de calor y el análisis
que tiene puede ser mejorado. Es por esta razón que se decide retomar este proyecto y
desplegarlo nuevamente incluyendo nuevas funcionalidades; al incluir este tipo de funciones
se logrará realizar un proyecto que se encuentre al nivel de otros proyectos con mucho más
tiempo de trabajo y ponerlo a un nivel superior de otros que no cuentan con los mismos
desarrollos como mapas de calor y alarma.
3 Sistema

En esta sección se encuentra la metodologı́a implementada en la realización del proyecto,


se partió de los requerimientos propuestos por el cliente permitiendo diseñar la arquitectura
general del sistema.

3.1. Requerimientos

Determinar cuáles son los contaminantes con mayor variabilidad y que afectan el ı́ndice
de calidad del aire en la ciudad de Bogotá.
Desarrollo de un módulo que permita la visualización de los datos mediante interpola-
ción espacial.
Gestión de estados de alerta según el ı́ndice de calidad a la ciudadanı́a mediante la
implementación de un modelo de suscripción.
Interfaz gráfica que brinde una experiencia de usuario que cumpla con los requerimien-
tos del usuario final del CEA - IoT.
Validar la funcionalidad del sistema haciendo uso de técnicas como la simulación de
datos.

3.2. Diagrama de Bloques

El sistema cuenta con dos entradas dadas por dispositivos IoT encargados de sensar las
variables y el usuario el cual está en la capacidad de ingresar datos al sistema, se tiene una
única salida que corresponde a los usuarios que interactuan directamente con la plataforma.
El desarrollo se encuentra divido en Front-End y Back-End, todos los servicios que no son
accesibles directamente para el usuario hacen parte del Back-End desarrollado y los servicios
que permiten una interacción con el usuario corresponden a Front-End.
3.2 Diagrama de Bloques 9

Figura 3-1: Arquitectura general del sistema

En la Figura 3-1 se encuentra todo lo descrito anteriormente, el diagrama de bloques se


encuentra conformado por 4 bloques fundamentalmente dados por: Recepción, Almacena-
miento, Tratamiento y Despliegue.

3.2.1. Recepción

Este bloque de la arquitectura se encarga de recibir todos los datos que vienen de los dispo-
sitivos IoT, la información recibida se conecta directamente con un servicio administrado de
Azure conocido como IoT hub el cual se encarga de hacer las veces de centro de mensajes
para establecer una comunicación entre la plataforma y los dispositivos IoT que se deseen
conectar.
El IoT hub recibe los mensajes y establece la conexión con los diferentes dispositivos dis-
puestos para medir la contaminación, estos mensajes los pasa directamente a otro servicio
llamado Streaming Analytics Job; este es seleccionado ya que tiene un gran catálogo de
funcionalidades dentro de las cuales se encuentran realizar cálculos matemáticos, análisis de
datos, filtrado de datos, mejor orden en la recepción de datos ası́ como agregar y unificar
datos especı́ficos. Su funcionamiento se basa en tres partes fundamentales una entrada, una
consulta y una salida. Una de las principales razones para utilizar estos dos servicios es
que funcionan muy bien entre sı́, también tienen una facilidad de acople ya que estos son
provistos por Azure.
10 3 Sistema

3.2.2. Almacenamiento

Este bloque de la arquitectura es el encargado de almacenar los datos que constantemente


están ingresado, se cuenta con un servidor SQL el cual nos permite crear bases de datos
como la que se encuentra funcionando para este proyecto. Para cada propósito se crea una
tabla particular dentro de la base de datos SQL y ası́ llevar un mejor orden del mismo.

3.2.3. Tratamiento

Este bloque de la arquitectura es el encargado de hacer uso de los datos obtenidos para la
visualización y demás funcionalidades que se realizarán.

Módulo Registro: Este módulo depende directamente de la tabla users ya que ahı́ es
donde se almacenarán los datos que los usuarios registren.
Módulo Interpolación: Para el módulo de interporlación se decidió implementar kri-
ging el cual es un método de inferencia espacial al cual se le pueden ingresar diferentes
variogramas, a partir de los cuales se evaluará cual presenta un mejor funcionamiento
respecto a los datos con los que se cuenta.
Módulo Alarmas: Para el módulo de alarma se decide hacer uso de un correo
electrónico, cuando la persona decida que quiere recibir un informe de la contami-
nación se encuentra en la capacidad de ingresar los datos del destinatario y recibir un
informe. De igual manera se estableció un envı́o de correo de manera automática en
caso de que se superen los limites establecidos por el ı́ndice de la calidad del aire.
Módulo Visualización: Para el módulo de visualización se decide hacer gráficas las
cuales mostrarán el valor del ICA como valor inicial, pero que no solo se limiten a
este ı́ndice sino que permita filtrar tanto por año como por contaminante para que
de esta manera las personas que decidan conocer sobre las concentraciones de otros
contaminantes puedan hacerlo.

3.2.4. Despliegue

Se hace uso del Workflow de PHP que es parte de las herramientas de Github actions para
desplegar sobre el Azure App Service, donde el dominio pertenece exclusivamente a Azure
y es [Link]
4 Desarrollos
Se cuenta con varias utilidades respecto a cada uno de los módulos desarrollados, cada uno
de los procesos y técnicas usadas se encuentran a continuación.

4.1. Recepción
La recepción de los datos representa un punto fundamental para el correcto desarrollo del
proyecto, es por esta razón que se integraron dos servicios de Azure los cuales permiten
recibir datos de diferentes dispositivos IoT y almacenar los datos en una base de datos SQL
de Azure.

Figura 4-1: Recursos adquiridos

En la Figura 4-1 se muestran los recursos que fue necesario adquirir de Azure en el desarrollo
del proyecto, respecto a los servicios de recepción de datos son adquiridos los servicios de
un Iot Hub que tiene el nombre PIMA ası́ como un Stream Analytics Job el cual tiene el
nombre PIMA Analytics, este ultimo se comunica directamente con un SQL Server donde
se encuentran las respectivas tablas diseñadas.

4.1.1. IoT Hub

Lo primero que se hizo fue adquirir el recurso dentro de la cuenta de Azure; se establecieron
y definieron el grupo de recursos, la ubicación geográfica del IoT hub y finalmente el nombre
12 4 Desarrollos

que tendrá el IoT hub. Habiendo definido estos parámetros, se procede a definir el nivel de
precios que se usará, para el caso previo se definió el nivel gratuito ya que la cantidad de
mensajes y dispostivos es suficiente para el alcance actual del proyecto.
Cuando se crea el servicio se realiza la creación del dispositivo IoT del cual se recibirán los
datos; la creación del dispositivo implica obtener la cadena de conexión y las claves de acceso
al dispositivo para poder enviar datos. Tras haber realizado este procedimiento el IoT hub
se encuentra en la capacidad de recibir todos los datos provenientes de dispositivos.

4.1.2. Streaming Analytics Job

Al recibir los datos se encuentra un problema que corresponde a la forma en que estos se
almacenarán, para poder guardar todos los datos que se están obteniendo se hace uso del
servicio Streaming Analytics Job, lo primero que se realiza es la adquisición del servicio;
este se configura de la misma manera que el servicio de IoT hub, se define un nombre, una
ubicación, el grupo de recursos y el tipo de suscripción que se va a realizar en base a lo que
se requiera. Teniendo el servicio creado se procede a la configuración del mismo, lo primero
que se hace es establecer la conexión con el IoT hub, se definen parámetros como el nombre
que tendrá la entrada en este servicio y el formato de serialización de eventos; esto es para
poder observar los datos que están siendo recibidos en el IoT hub.
Para almacenar la información en una base de datos particular se crea una tabla con los
valores que estarán llegando de los diferentes dispositivos. Se parte de esta tabla y se agrega
una salida al Streaming Analytics Job que corresponda directamente con la base de datos
SQL, se ingresan las credencial de usuario y contraseña con las cuales se habilita el ingreso
a la base de datos; con el acceso hacia la base de datos, se crea una consulta de tipo SQL
para insertar los datos directamente en la tabla que se definió anteriormente.

4.2. Almacenamiento

La base de datos representa un componente fundamental dentro de todo el desarrollo reali-


zado ya que muchos de los módulos dependen directamente de lo que se encuentre dentro de
la base de datos para poder funcionar de manera correcta; se crea el servicio de SQL Server
para poder generar una base de datos sobre el mismo, posteriormente se diseñan las tablas
con todas las variables necesarias para poder tener la información que se necesita y obtener
el resultado esperado.
4.2 Almacenamiento 13

Figura 4-2: Tablas base de datos

En la Figura 4-2 se muestran las diferentes tablas que fueron creadas, se desarrollaron 4
tablas principalmente; la primera de ellas corresponde IoT, es en esta tabla donde se guardan
los valores recibidos desde los dispositivos IoT a través del broker, se cuenta con variables
como latitud y longitud ya que para realizar la interpolación espacial es necesario tener
estos datos, también se cuenta con todo el registro de contaminantes definidos los cuales
corresponden a CO, O3 , N O2 , SO2 , P M10 y P M2,5 y la ultima sección dada por las demás
variables que afectan la medición de ICA pero no son contaminantes, donde se encuentra la
humedad, la tempertura y los rayos UV.
La siguiente tabla desarrollada es ICA donde se guardan los valores calculados del indice de
la calidad del aire para todos los contaminantes que se están midiendo, todos estos datos se
encuentran definidos por una ID, una fecha y un nombre de nodo para facilitar su filtrado y
tratamiento.

La siguiente tabla se llama Bogota; esta corresponde a un dataset particular para la ciudad
de Bogotá en donde se cuenta con una fecha de cuando dicho contaminante fue medido,
con un nodo ya que en este dataset los datos se encuentran filtrados por diferentes puntos
particulares estáticos en la ciudad y todos los contaminantes que están siendo medidos.
Finalmente se encuentra la tabla users la cual es usada para realizar el registro o suscripción
de los usuarios dentro de la plataforma, se almacena el nombre el usuario, el email al que se
enviarán los reportes y una confirmación con la cual se accede a recibir reportes automáticos.
14 4 Desarrollos

4.3. Tratamiento

4.3.1. Módulo de Registro

Para el módulo de registro se realizó un código en php el cual permite insertar los valores
recibidos en la tabla users, a través de esta tabla se conoce la información respecto a donde
se envı́an los correos.

Figura 4-3: Proceso de registro

Como se muestra en la Figura 4-3 se realiza un formulario donde los usuarios registran la
información requerida, posteriormente mediante una consulta se realiza la inserción de los
datos dentro de la base de datos en la tabla diseñada de manera particular que para este
caso corresponde a users.

4.3.2. Módulo de Interpolación espacial

Para el desarrollo de la interpolación espacial se analizaron diferentes métodos, se parte del


método de splines el cual realiza un cálculo mediante una función matemática que busca
minimizar la curvatura general y genera una gráfica mucho más continua y suave, utilizado
para variables que cambien de manera suave a lo largo del tiempo como es el caso de la
concentración de los contaminantes. A través de este se pueden generar datos en crestas y
valles donde no se tenı́a información.[28]

El segundo método revisado corresponde a natural neighbor el cual hace uso de una función
matemática que permite realizar una combinación ponderada lineal, todo esto en relación
a los puntos definidos y su respectivo peso. El último método corresponde a Kriging, este
es uno de lo modelos más utilizados en geoestadı́stica para la interpolación espacia, este
minimiza la varianza de la superficie resultante gracias a que involucra diferentes tipos de
variograma con la finalidad de permitir tener una variedad de modelos respecto a cual se
ajusta mejor a los datos.
4.3 Tratamiento 15

Al realizar una comparativa entre los diferentes métodos se busca principalmente que tengan
un buen rendimiento con una baja densidad de datos como es el caso particular, adicional-
mente que su funcionamiento permita analizar las puntos o nodos que se encuentran aisladas
ya que al tener pocos puntos no todos están cerca unos de otros, esto es básicamente lo
que permite un modelo de variograma del método kriging sobre los otros métodos que uti-
lizan otro tipo de regresiones y técnicas que funcionan mucho mejor cuando los datos no
se encuentran dispersos. En resumen, la baja cantidad de información con la que se cuenta
respecto a los diferentes nodos en Bogotá dificulta realizar una comparación de los 3 métodos
de una manera práctica ya que splines y natural neighbor son métodos que requieren una
mayor densidad de datos de tal forma que se selecciona kriging como método de interpola-
ción a implementar. A continuación se muestra las librerias y demás recursos usados para su
desarrollo ası́ mismo como el proceso de selección del mejor método de variograma.
Se hace uso de una librerı́a conocida como [Link] la cual nos permite realizar una inter-
polación en torno a unos puntos especı́ficos muy particulares.
En vista de que no se encontró un arreglo con todos los puntos espaciales necesarios para
representar el mapa de Bogotá previo a la implementación de la librerı́a fue necesario vecto-
rizar el mapa de Bogotá; tras realizar dicho proceso se obtiene un arreglo bastante extenso
que nos permite tener un mapa de Bogotá con un nivel de exactitud bastante apropiado para
el propósito final.
Ya teniendo el mapa vectorizado se procede a insertar todos los datos correspondientes a los
nodos que se encuentran dentro de la tabla ”Bogotá”, se tiene un total de 14 nodos estáticos
a lo largo de todo Bogotá y dependiendo de lo seleccionado en el filtro se piden los datos
para cada uno de los nodos; los datos que son extraidos son puestos como peso en cada una
de las coordenadas.
Teniendo los datos es necesario definir el método de varianza que tendrá un mejor desempeño
en cuanto a los datos con los que se cuenta, es por esta razón que se realiza una primera
interpolación con los 14 nodos con los que se cuenta y se generan muchos puntos más en
torno a esta interpolación, con todos los nuevos puntos generados se realiza una nueva in-
terpolación con la diferencia de que se realiza sin tener en cuenta uno de los puntos que se
conocı́an inicialmente para poder realizar una comparación y encontrar el error porcentual.
Se realiza este proceso para los diferentes modelos de variogramas con lo que se obtienen los
siguientes errores:

Variograma Porcentaje de error %


Esférico 2.33
Exponencial 11.07

Tabla 4-1: Porcentajes de error obtenidos.

A partir de lo evidenciado en la tabla 4-1 se concluye que el mejor modelo de variograma


16 4 Desarrollos

respecto a los datos con los que se cuenta corresponde al modelo esférico, por lo que es
establecido como el modelo final para realizar los respectivos mapas de calor.
Finalmente para terminar el proceso de interpolación espacial realizado se genera un mapa
de calor el cual permite identificar a través de colores el nivel de contaminación que hay en
cada uno de los puntos del mapa.

4.3.3. Módulo de Visualización

Para el modulo de visualización se implementó un código que integraba 4 lenguajes de


programación; a través de CSS3 se definieron los estilos para la página en donde se graficarı́an
las tablas, para el diseño de la pantalla que se muestra se hace uso de una plantilla de HTML5
la cual permite una visualización sencilla de los datos. Para traer los datos de la base de
datos se hace uso de PHP, donde se implementan diferentes consultas dependiendo lo que el
usuario ponga en el filtro, finalmente para graficar las tabla se implementó una librerı́a de
javascript a través de la cual se muestran los gráficos de barras.
La librerı́a en javascript corresponde a [Link], la cual fue elegida ya que permite definir las
formatos de las tablas en scripts individuales para luego llamarlas al lugar donde se requieren
y de esta manera tener un mejor orden en el código que se está realizando.

Figura 4-4: Proceso de visualización

Como se muestra en la Figura 4-4 el proceso realizado parte de la adquisición de los datos
provenientes de los dipositivos IoT, lo cual se hace en el bloque de Recepción mediante los
servicios de IoT Hub y Stream Analytics Job. Cuando los datos son recibidos son almacenados
en la base de datos más especı́ficamente en la tabla IoT donde posteriormente se calcularán
los indices de la calidad del aire para cada una de las concentraciones para almacenar los
nuevos datos en la tabla ICA. Posteriormente mediante consultas a estas tablas los datos
son extraı́dos y mostrados respecto a cada uno de los filtros que el usuario haya definido,
toda esta información se muestra en las pantallas definidas en el Azure App Service.
4.4 Contaminantes que Generan Mayor Afectación al ICA 17

4.3.4. Módulo de Alarma

Para el módulo de alarma se hace uso de phpmailer ya que presenta muchas ventajas frente
a otro tipo de librerı́as, para enviar los correos se hace uso de SMTP el cual es un protocolo
para la transferencia de correos electrónicos, también se cuenta con seguridad TLS.
Esta librerı́a permite enviar correos con múltiples direcciones y hacia diferentes remitentes
como CC, CCO y demás, adicionalmente es compatible con PHP lo cual es indispensable
para poder completar en su totalidad estos módulos; esto ya que se cuenta con un sistema de
registros y en ocasiones los correos son enviados de manera automática por lo que se requiere
obtener los correos de la base de datos, todos los correos son enviados con una copia a un
correo particular para los administradores de la plataforma.

Figura 4-5: Proceso de alarma

Como se muestra en la Figura 4-5 para realizar la notificación o envı́o del correo se parte de
la base de datos más especificamente de la tabla ICA y la tabla users. Constantemente se
supervisan los valores de concentración que están ingresando, si se supera el lı́mite establecido
por 200 significa que la calidad del aire representa un riesgo para la salud y es necesario
tomar medidas al respecto es por esta razón que a través de PHP Mailer se seleccionan
todos los correos que decidieron recibir reportes sobre el estado del aire y son puestos como
destinatarios, finalmente se envı́a un reporte a todos los usuarios suscritos con la información
obtenida.

4.4. Contaminantes que Generan Mayor Afectación al


ICA
Como parte de los objetivos presentes en el proyecto se busca encontrar cuales son los conta-
minantes que generan mayor afectación al ı́ndice de la calidad del aire en Bogotá, es por este
motivo que se decide realizar un análisis a los contaminantes en 13 puntos especı́ficos de la
ciudad que corresponden a nodos o puntos IoT donde se cuenta con dipositivos encargados
18 4 Desarrollos

de sensar constantemente los diferentes contaminantes de interés.

Tras realizar un análisis de todos los datos con los que se cuenta en cada una de las estaciones
se llega a la conclusión de que los contaminantes que tienen mayor afectación en el ı́ndice de
la calidad del aire en Bogotá corresponden a P M10 y P M2,5 .

El análisis se realizó teniendo en cuenta la misma cantidad de datos para cada contaminante
por nodo.

Porcentaje Porcentaje
Nodo
PM 10 ( %) PM 2.5 ( %)
Carvajal 4.62 95.38
CAR 3.41 96.59
Fontibón 0 100
Guaymaral 2.17 97.82
Kennedy 0 100
Las Ferias 2.85 97.14
Min ambiente 2.32 97.67
Móvil 7ma - -
Puente Aranda 25.58 74.41
San Cristóbal 8.13 91.86
Suba 6.97 93.02
Tunal 1.31 98.68
Usaquén 6.02 93.97

Tabla 4-2: Porcentajes de influencia en el cálculo del ICA por nodos.

La tabla 4-2 resume el porcentaje de incidencia que tienen los diferentes contaminantes por
cada uno de los nodos, solo se muestran porcentajes para PM10 y PM2.5 ya que en ninguno
de los años evaluados hubo algún otro contaminante que definiera el ı́ndice la calidad del
aire, esto debido a los lı́mites que son definidos y a los bajos niveles obtenidos.
En el Anexo A se muestra un análisis realizado en base a documentación encontrada al
respecto, si se realiza un contraste del análisis realizado con bases de datos más recientes con
respecto al análisis realizado con la documentación un poco más antigua es posible concluir
que el material particulado es de los contaminantes que genera mayor afectación a lo que es
el ı́ndice de la calidad del aire. A pesar de que el análisis realizado en el Anexo A indica que
el contaminante que genera mayor afectación al ICA basado en la cantidad de excedencias
que generaba en el tiempo medido correspondı́a a P M10 , realmente no se estaba teniendo
en cuenta el P M2,5 en ese ordén de ideas se confirma parte de la información mostrada en
4.5 Cálculo del Índice de la Calidad del Aire 19

el Anexo A, ya que si no se hubiese tenido en cuenta el P M2,5 en el estudio de la base de


datos seguramente se habrı́a llegado a la misma conclusión.
Aún ası́ según los datos más recientes con los que se cuenta, en todos los nodos IoT de la
calidad del aire en Bogotá el contaminante que genera afectación al ICA en mayor proporción
corresponde al P M2,5 .

4.5. Cálculo del Índice de la Calidad del Aire


De tal forma que la ecuación referente al Índice de la Calidad del Aire esta dada:

IHi − ILo
ICAp = ( )(C − BPLo ) + ILo (4-1)
BPHi − BPLo

De tal forma que cada valor representado en la Ecuación 4-1. corresponde a:


ICAp : Es el Índice de calidad del aire que está dado por el contaminante medido en
un punto de medición especı́fico durante un tiempo determinado.
C: Es la concentración del contaminante medido en un punto de medición especı́fico
durante el tiempo determinado.
BP: Son los puntos de corte correspondientes a la concentración del contaminante
medido, para el caso BPHi corresponde el punto de corte mayor o igual y para el caso
BPLo corresponde el punto de corte mayor o igual.
I: Son los valores del ICA correspondientes a los puntos de corte BP, para el caso IHi
corresponde el punto de corte BPHi y para el caso ILo corresponde el punto de corte
BPLo .
Basados en dicha expresión se elaboran unas tablas las cuales contienen las ecuaciones rea-
lizadas para cada sección de la calidad del aire, estas tablas se encuentran presentes en el
Anexo C, por está razón se encuentran 6 tablas, una para calidad del aire buena, una para
moderada, una para dañina para grupos sensibles, una para dañina, una para muy dañina y
finalmente una para muy peligrosa.
5 Experimentos y Análisis de Resultados

Para lograr el funcionamiento del sistema en general se partió del desarrollo de los módulos
de manera particular; previo al desarrollo se definió la base de datos y se comprobó su co-
rrecto funcionamiento.

5.1. Recepción

Para corroborar el funcionamiento de todo el sistema en general se hace uso una Raspberry
PI la cual se encarga de hacer las veces de dispositivo IoT, esto ya que se necesita enviar
datos directamente al servicio de Azure para poder evidenciar.

Figura 5-1: Dispositivo enviando datos.

Como se muestra en la figura 5-1 se cuenta con un montaje sencillo basado en una tarjeta de
desarrollo Raspberry PI, un módulo de sensado y un led que solo tiene la función de indicar
cuando se están midiendo los datos.
Se genera un código a través del cual se genera la conexión entre el simulador y el servicio
IoT hub, ya contando con esta conexión es posible evidenciar los resultados.
5.1 Recepción 21

5.1.1. IoT Hub

Para evaluar el funcionamiento del IoT hub y comprobar que realmente se estuviesen conec-
tando los dispositivos inicialmente se comprueba que no exista ningún dispositivo conectado.

Figura 5-2: Prueba IoT hub - Sin dispositivos

Como se muestra en la figura 5-2 no se encuentra o reconoce ningún dispositivo ya que no


hay ningún dispositivo enviando la información necesaria para enviar los datos, basados en
el montaje desarrollado en la Figura 5-1 se establece la conexión.

Figura 5-3: Prueba IoT hub - Agregando un dispositivo

Tras establecer la conexión con el simulador es posible observar que el estado que se tenı́a
cambia y el dispositivo es reconocido como se muestra en la Figura 5-3. A través de esta
prueba se confirma que la conexión con el IoT hub se está logrando, para comprobar que
están llegando datos se realiza el mismo procedimiento.
22 5 Experimentos y Análisis de Resultados

Figura 5-4: Prueba IoT hub - Sin dipositivos

Como se observa en la Figura 5-4 no se está recibiendo ningún tipo de dato debido a que
no se están enviando datos y el simulador de la Raspberry no está funcionando.

Figura 5-5: Prueba IoT hub - Agregando un dipositivo

Finalmente como se observa en la Figura 5-5 se empiezan a enviar datos a través del dispo-
sitivo lo cual se evidencia en el tráfico de mensajes que aparece.

5.1.2. Streaming Analytics Job

Cuando ya se están recibiendo los datos es necesario identificar que datos están siendo
enviados y poder almacenarlos en la base de datos. Todo este proceso se realiza mediante
la configuración del Streaming Analytics Job donde se incorpora como entrada la salida del
servicio IoT hub y ası́ poder empezar a guardar los respectivos datos.
5.1 Recepción 23

Figura 5-6: Streaming Analytics Job - Sin dipositivos

Como se observa en la Figura 5-6 a pesar de estar realizando la consulta, no se obtienen


datos como tal ya que no están siendo enviados a este servicio.

Figura 5-7: Streaming Analytics Job - Agregando un dipositivo

Cuando se empiezan a mandar datos desde el simulador los datos empiezan a aparecer como
se ve en la Figura 5-7, se observa que los datos llegan con un formato particular y cada uno
de los mensajes son asignados a un ID que es autoincremental para tener un mejor control
sobre la información, de igual manera se observa el dispositivo a través del cual fue enviada
la información y cada uno de los contaminantes con su respectiva concentración.
24 5 Experimentos y Análisis de Resultados

5.2. Almacenamiento

Para evaluar el funcionamiento de cada una de las tablas se incluyeron y leyeron datos direc-
tamente en cada una de las tablas presentes dentro de la base de datos, para tener un mejor
control sobre los datos se hace uso del software Microsoft SQL Server Managment Studio ya
que nos permite ejecutar consultas SQL y evidenciar el resultado.

Consulta a ejecutar Función


INSERT INTO users (name, email, suscribe) Agregar datos a la
VALUES tabla users creada
(’Marcos’,’marcos andrade@[Link]’,’1’) en la tabla PIMA.
SELECT name, email, suscribe FROM users Seleccionar los datos
WHERE email = ’marcos andrade@[Link]’ agregados con la
AND name = ’Marcos’ AND suscribe = ’1’ consulta anterior.

Tabla 5-1: Consultas realizadas para comprobar funcionamiento de la base de datos.

Como se muestra en la tabla 5-1 se realiza una consulta para comprobar primero si se está
escribiendo algo sobre la base de datos y segundo que lo que se está escribiendo pueda ser
leı́do correctamente. Al ejecutarlas es posible observar que los datos se están creando dentro
de la tabla y es posible llamarlas, con lo que se sienta un base para el funcionamiento de los
módulos en general.

Figura 5-8: Resultado insertar datos en la base de datos

En la Figura 5-8 se muestran los resultados obtenidos tras ejecutar la consulta definida
anteriormente para comprobar que se están insertando los datos dentro de la tabla donde
como salida se tiene que una de las filas de la tabla fue modificada, a través de esta prueba
se verifica que se esté permitiendo escribir datos sobre la base de datos SQL.
5.3 Tratamiento 25

Figura 5-9: Resultado seleccionar datos en la base de datos

En la Figura 5-9 se muestran los resultados obtenidos tras ejecutar la consulta definida para
comprobar que se pueden seleccionar todos los datos que se escribieron anteriormente y ası́
reafirmar que los datos que llegan están siendo escritos en la base de datos SQL.

5.3. Tratamiento
Para evaluar el funcionamiento general del bloque tratamiento se desarrollaron pruebas in-
dividuales para cada uno de los módulos.

5.3.1. Registro

Para el módulo de registro se desarrollaron códigos los cuales son montados sobre una pla-
taforma que nos permite visualizar lo desarrollado a través de un formulario.

Figura 5-10: Pantalla módulo de registro o suscripción

Como se muestra en la Figura 5-10 se cuenta con un formulario muy particular a través del
cual se le pide a la persona algunos datos especı́ficos los cuales serán usados si la persona ası́
26 5 Experimentos y Análisis de Resultados

lo desea para recibir notificaciones o alertas en caso de que el ı́ndice de la calidad del aire
esté superando algunos lı́mites establecidos.
Se realizaron muchas pruebas con la finalidad de abarcar un gran porcentaje de posibilidades
y evaluar si el funcionamiento es el esperado.

Caso 1: Se ingresa un nombre, un correo y se acepta la suscripción.


Caso 2: Se ingresa un nombre, sin un correo y se acepta la suscripción.
Caso 3: Se ingresa un nombre, un correo y no se acepta la suscripción.
Caso 4: Se ingresa un nombre, sin un correo y no se acepta la suscripción.
Caso 5: No ingresa un nombre, un correo y se acepta la suscripción.
Caso 6: No ingresa un nombre, sin un correo y se acepta la suscripción.
Caso 7: No ingresa un nombre, un correo y no se acepta la suscripción.
Caso 8: No ingresa un nombre, sin un correo y se acepta la suscripción.

El sistema cuenta con dos posibles mensajes a la hora de enviar el formulario, si se pudo
registrar de manera satisfactoria entonces se envı́a el mensaje de Registro exitoso, si por
el contrario hubo un inconveniente en este proceso se muestra el mensaje de Inténtalo
nuevamente.
Para los casos 2, 4, 5, 6, 7 y 8 se obtuvieron respuestas negativas ya que se mostraba en
pantalla el mensaje: Inténtalo nuevamente. Únicamente para los casos 1 y 3 se obtuvo una
respuesta positiva por parte de la plataforma, básicamente esto comprueba que el sistema
funciona de forma correcta ya que para las variables de nombre y correo no se acepta un
valor de null, entonces si no se ingresa cualquiera de los dos datos siempre pedirá que lo
intente nuevamente.

Al ser un proceso que se encuentra muy relacionado con la base de datos y las tablas desa-
rrolladas, el funcionamiento para comprobar basta con elaborar consultas particulares para
cada uno de los casos, lo cual fue comprobado en la Figura 5-1.

5.3.2. Alarma

Para comprobar el funcionamiento del módulo de alarma se desarrollaron dos funcionalida-


des con sus respectivas pruebas de funcionalidad.
5.3 Tratamiento 27

Figura 5-11: Pantalla módulo de alarma

En la Figura 5-11 se encuentran el primer modo de operación que corresponde a generar


un reporte manual donde el usuario suministra el nombre de la persona que recibirá la
información y un correo a donde se enviará el reporte del estado actual de la contaminación
en Bogotá, esta funcionalidad es desarrollada para que si alguna persona desea conocer el
nivel en que se encuentra el ICA en ese momento pueda hacerlo.
El segundo modo de operación corresponde a un reporte automático en el cual las personas
reciban un reporte cuando se superen unos limites establecidos, lo primero que se realiza
es establecer una comunicación con la tabla donde todos los usuarios fueron registrados y
realizar una consulta; dicha consulta se encarga de obtener todos los correos a los cuales se
enviará el reporte.

Figura 5-12: Consulta de prueba

Como se muestra en la 5-12 al realizar la consulta se obtienen todos los correos los cuales
28 5 Experimentos y Análisis de Resultados

corresponden a los usuarios que ingresaron tanto su nombre como su correo y adicionalmente
marcaron la casilla de que querı́an recibir notificaciones, los usuarios que no marcaron esta
opción podrán recibir reportes pero únicamente cuando ellos lo deseen a través del primer
método de operación.
Tras haber realizado la consulta, los correos son puestos como destinatarios en caso de recibir
una alerta, para corroborar que esta alerta estuviese siendo enviada, en la tabla ICA se genera
un valor de prueba para la variable ICA con un ı́ndice superior a 200 para evidenciar el tipo
de reporte que se genera.

Figura 5-13: Correo recibido con el reporte del indice de la calidad del aire.

Como es posible observar en la 5-13 un correo con asunto Reporte PIMA es enviado a todos
los correos que fueron seleccionados anteriormente; este correo contiene una información
breve que avisa o notifica al usuario de que el ı́ndice de la calidad del aire en algún punto de
Bogotá superó el punto de corte(200) y que el aire puede empezar a ser perjudicial para la
salud.
De esta manera la persona podrá entrar a la plataforma y revisar en la gráfica de Calidad
de del aire de hoy en que punto de la ciudad fue superado dicho limite para ası́ poder tomar
acciones de prevención al respecto. Se cuenta con varios tipos de reporte, las notificaciones
sobre que se superó el lı́mite son enviadas de forma periódica para que el usuario no sea
invadido o spameado con el mismo correo una y otra vez, en caso de que no se supere el
lı́mite también se enviará un reporte periódico, para que ası́ se pueda mantener informado
sobre la calidad del aire.

5.3.3. Interpolación

Para ese módulo se desarrolló un filtrado que permite escoger entre diferentes métodos como
máximo, mı́nimo y promedio, estos se encargan de tomar los menores, los mayores o los
promedios de los valores en un periodo de tiempo. Es por esto que se cuenta con una fecha
de inicio y con una fecha de fin la cual permite establecer la ventana sobre la cual se pondrán
los diferentes valores.
5.3 Tratamiento 29

De la misma manera se permite variar entre los diferentes valores de contaminantes con los
que se cuenta como P M10 , P M2,5 , O3 , SO2 , N O2 y demás.

Figura 5-14: Pantalla interpolación

En la Figura 5-14 se muestra el resultado obtenido tras definir un método, un contaminante


y un periodo de tiempo a través del cual se realizará el filtrado de los datos.

Para corrobar la elección del tipo de variograma se repitió el proceso que se denotó ante-
riormente varias veces de lo que se obtenı́an errores muy similares tras cada iteración que
se realizaba, en vista de la poca densidad de datos con los que se cuenta se propone que
en trabajos futuros que tengan un escenario similar se haga uso del variograma esférico ya
que permite tener una mayor fiabilidad respecto a la predicción de los valores. Es necesario
resaltar que cada modelo de variograma tiene sus ventajas y en proyectos con una densidad
mayor de datos los resultados pueden ser mucho mejores.

5.3.4. Visualización

Las pruebas realizadas sobre este módulo están fundamentadas principalmente sobre la base
de datos obtenida del observatorio ambiental de Bogotá el cual cuenta con un total de 13 de
nodos ubicados a lo largo de toda la ciudad; toda esta información se encuentra presente en
la tabla ”Bogotá”la cual es filtrada para elegir el rango de tiempo que se quiere visualizar.
30 5 Experimentos y Análisis de Resultados

Figura 5-15: Pantalla con la gráfica particular para el dı́a.

Como se observa en la Figura 5-15 se cuenta con un filtro el cual permite observar el tipo
de contaminante y seleccionar un nodo especifico.

Figura 5-16: Pantalla con la gráfica particular para un histórico.

Como parte de las funcionalidades que se generan se busca poder mostrar un histórico de
todos los datos en generaL; es por esta razón que en la sección histórico se cuenta con muchos
más filtros como se muestra en la Figura 5-16.
Se cuenta con un filtro o selector que permite seleccionar ya sea uno de los contaminantes
que se están midiendo o directamente el ı́ndice de la calidad calculado. Otro filtro permite
elegir entre los 13 nodos con los que se cuenta en diferentes puntos de la ciudad, para definir
5.4 Despliegue 31

los periodos de tiempo se tomaron datos desde Agosto del 2014 hasta Septiembre del 2021;
esta información se muestra de manera correcta a través de gráficos de barras.

En conclusión los filtros presentan el funcionamiento esperado en un primer momento, los


contaminantes se muestran respecto a lo que se selecciona en la pantalla de igual manera el
filtro para seleccionar por nodos funciona de manera apropiada, también es posible observar
que hay meses en dicho periodo de tiempo que no son mostrados, esto es debido a que en
determinados periodos de tiempo los nodos dejan tomar datos por mantenimiento y demás
inconvenientes que impide tener datos para seguir registrando.

5.4. Despliegue
Se desarrolló una pantalla de inicio basados en la plantilla con la que se cuenta, se incluye
una barra lateral con toda la información de interés y un apartado de documentación en
caso de que el usuario desee conocer un poco o ponerse en contexto respecto al trabajo
desarrollado.

Figura 5-17: Pantalla de inicio.

Como se muestra en la Figura 5-17 se cuenta con una presentación sencilla a modo de
dashboard donde se incluyen las principales funcionalidades desarrolladas para el proyecto.
Uno de los grandes beneficios con los que cuenta Azure app services es que permite incorporar
un repositorio de GitHub el cual identifica y procesa directamente, todos los cambios que se
realizan en el repositorio de GitHub se verán reflejados directamente sobre la plataforma.
Todas las pruebas realizadas con sus respectivas respuestas se encuentran condensadas en el
32 5 Experimentos y Análisis de Resultados

Anexo B a modo de resumir y registrar cada una de las pruebas que se realizaron en caso
de que llegue a presentarse un error y sea necesario realizar pruebas nuevamente.
Todos los desarrollos realizados para la plataforma se encuentran en repositorio en github
disponible en el siguiente link:
[Link]
De igual manera para acceder a la plataforma se tiene el siguiente link:
[Link]

5.5. Cálculo del Índice de la Calidad del Aire


Basados en las tablas diseñadas en el Anexo C se realiza un desarrollo en código el cual
consiste en extraer los últimos datos que son almacenados o indexados en la tabla IoT
esto a través de una consulta en php y luego mediante un else if se le aplica la respectiva
ecuación respecto al nivel de concentración en el que se encuentre. Todos estos nuevos valores
encontrados son indexados nuevamente en la base de datos pero esta vez en la tabla ICA.

Figura 5-18: Pantalla con los datos ”Hoy”.

Cuando los datos son almacenados en tabla ICA se empieza a tener información respecto
al dı́a, ya que esta información proviene de dispositivos encargados de enviar las diferentes
concentraciones, como se muestra en la Figura 5-18 las concentraciones que están ingresando
son mostradas en un rango de 0 a 500 indicando el valor del ICA.
6 Conclusiones y Trabajo Futuro

El material particulado P M2,5 es el contaminante con mayor ı́ndice de excedencias


de la norma de calidad del aire, seguido por el material particulado P M10 ; estos dos
representan casi la totalidad de contaminantes que generan afectación al ICA. Por otra
parte, las concentraciones de dióxido de azufre, óxido de nitrógeno, óxido de azufre y
monóxido de carbono presentan bajos niveles excedencia de la norma, pero se deben
monitorear dado el crecimiento de factores contaminantes.
La visualización del ı́ndice de la calidad del aire mediante gráficos permite tener un
conocimiento mayor respecto a la calidad del aire en Bogotá, aún ası́ el conocer la
concentración especifica para cada uno de los contaminantes que se están midiendo
permite conocer a profundidad que contaminante está generando mayor afectación ya
que no todos los contaminantes representan el mismo riesgo para el ser humano.
La interpolación espacial es un proceso sumamente útil para casos como este ya que
se cuentan con muy pocos puntos localizados en Bogotá para la medición del ı́ndice
de la calidad del aire; se pudieron identificar muchos más puntos a partir de los que se
tenı́an y generar mapas de calor a partir del mismo.
La implementación de servicio de alarma mediante correo electrónico representa un plus
sobre otro tipo de plataformas ya que brinda esa facilidad para alertar a los usuarios
sobre niveles de riesgo muy altos en las zonas en general.
La integración de 4 tipos de lenguaje de programación fue clave para lograr el desa-
rrollo de todos los servicios y funcionalidades del sistema; se hizo uso de CSS3 para
la definición de los estilos implementados para la página web, de igual manera para el
desarrollo de toda la plataforma en general se hizo uso de HTML5, para la generación
de las gráficas se hizo uso de algunas librerı́as y recursos de JavaScrpt, finalmente para
cada parte que se encontraba relacionada con la base de datos fue desarrollada en PHP.
El método de varianza que mejor se ajusta a los datos con los que se cuenta inicialmente
es esférico ya que se obtuvo un porcentaje de error de aproximadamente 2 % respecto
método al exponencial con un porcentaje de error de aproximadamente 11 %, esto ya
que la densidad de datos no es muy grande si se contara con una densidad de datos
más alta la predicción serı́a mucho mejor, pero el tiempo en cuanto a procesamiento
incrementará de manera inversamente proporcional.
34 6 Conclusiones y Trabajo Futuro

La documentación en este tipo de desarrollos facilita y posibilita que en el futuro se


pueda continuar mejorando y trabajando sobre este, comentar el código e ir dejando
algunos readme dentro de cada sección del trabajo ahorra mucho tiempo en el futuro
en caso de que se quiera realizar un despliegue nuevamente.
35

Bibliografı́a

[1] OMS, “Calidad del aire y salud”

[2] S. D de ambiente, “Red de monitorep de calidad del aire de Bogotá ha mostrado incre-
mentos en los niveles de contaminación”

[3] H. Liu, Q. Li, D. Yu, and Y. Gu “Air quality index and air pollutant concentration pre-
dicition based on machine learning algorithms,”Applied Sciences (Switzerland), vol. 9, no.
19, 2019.

[4] K. Gao, P. Anandhan, and R. Kumar, “Analysis and evaluation of the regional air qua-
lity index forecasting based on web-text sentiment analysis method,”Environmental Impact
Assesment Review, vol. 87, no. August 2020, p. 106514, 2021.

[5] D. H . Shih, T. W. Wu, W. X. Liu, and P. Y. Shih,“An azure acess early warning system
for air quality index deteriorating,”International Journal of Environmental Reseach and Pu-
blic Health, vol. 16, no. 23, 2019.

[6] D. Qu, X. Lin, K. Ren, Q. Liu, and H. Zhang, “AirExplorer: Visual exploration of air-
quality data based on time-series querying,” Journal of Visualization, vol. 23, no. 6,pp.
1129–1145, 2020

[7] B. U. Kempaiah, B. Charan, and R. J. Mampilli, “Data Analysis of Air Pollutant Level-
sin India,”2020 IEEE International Conference for Innovation in Technology, INOCON2020,
no. 2, pp. 17–22, 2020

[8] Z. Purahoo and S. Cheerkoot-Jalim, “SenseAPP: An IoT-Based Mobile CrowdsensingAp-


plication for Smart Cities,” 3rd International Conference on Emerging Trends inElectrical,
Electronic and Communications Engineering, ELECOM 2020 - Proceedings, pp. 47–52, 2020.

[9]D. Schürholz, S. Kubler, and A. Zaslavsky, “Artificial intelligence-enabled context-aware


air quality prediction for smart cities,“ Journal of Cleaner Production, vol. 271,p. 121941,
2020.
36 6 Conclusiones y Trabajo Futuro

[10] S. Kubler, E. Rondeau, J. Porras, and K. Andersson, “Daniel Schürholz Context-


andSituation-Prediction for outdoor Air Quality Monitoring 2019,”2019.

[11] D. R. M. Niño, “Fusión de mediciones de calidad del aire con las variables meteorológi-
caspara mejorar la estimación espacial de los datos en la ciudad de Bogotá,”

[12] M. y. E. A. Instituto de Hidrologı́a, “Formato Común Hoja Metodológica Índice decali-


dad del aire ( ICA ) Formato Común Hoja Metodológica,”Ideam, pp. 1–8, 2012.

[13] C. Childs, “interpolating Surfaces in ArcGIS Spatial Analyts,”ArcUser, vol. 2004,no.


July-September, pp. 32–35, 2004.

[14] I. de Hidrologı́a Meteorologı́a y Estudios Ambientales (IDEAM), “Documento metodo-


lógico - estadı́sticas de monitoreo y seguimiento de la calidad del aire – emsca,”pp. 1–52,2019.

[15] N. Y. Rojas, “Aire y problemas ambientales de Bogotá,”Universidad nacional de Co-


lombia , pp. 1–15.

[16] M. de ambiente y desarrollo sostenible, “2017 COLOMBIA Resolución 2254 de 2017


-Niveles Calidad del Aire.,”

[17] ISO, “ISO 9126,” 2005

[18] ISO, “ISO 4225:2020-Air quality — General aspects — Vocabulary,”2020.

[19] ISO, “ISO 4226:2007-Air quality — General aspects — Units of measurement,”2007.

[20] ISO, “ISO 9000:2015-Quality management systems — Fundamentals and vocabulary,”2015‘

[21] ISO, “ISO 9001:2015-Quality management systems — Fundamentals and vocabulary,”2015.

[22] I. de Hidrologı́a Meteorologı́a y Estudios Ambientales (IDEAM), “Documento meto-


dológico - estadı́stica de monitoreo y de seguimiento de la calidad del aire - emsca.”2019.

[23] M. y. E. A. Instituo de Hidrologı́a, “Formato Común Hoja Metodológica ı́ndice de cali-


37

dad del aire (ICA) Formato Común Hoja Metodológica,Ïdeam, 2012.

[24] N. Y. Rojas, “Aire y problemas ambientales de Bogotá.”Universidad Nacional de Co-


lombia,

[25] S. D. de ambiente, “Red de monitoreo de calidad del aire de Bogotá ha mostrado incre-
mentos en los niveles de contaminación”.

[26] M. de ambiente y desarrollo sostenible, “2017 COLOMBIA Resolución 2254 de 2017 -


Niveles Calidad del Aire.,”

[27] M. Gaitán, J. Cancino, and E. Behrentz, “Análisis del estado de la calidad del aire en
Bogotá,”

[28] C. Childs, “Interpolating Surfaces in ArcGIS Spatial Analyts,.ArcUser, vol. 2004, no.
July-September, pp. 32–35, 2004.
38 6 Conclusiones y Trabajo Futuro

A. Anexo: Variables que Generan Mayor Afec-


tación al ICA

Por contaminación atmosférica entendemos la acumulación o concentración de contaminan-


tes; todos estos entendidos como fenómenos fı́sicos o sustancias o elementos en estado sólido,
lı́quido o gaseoso que provocan efectos negativos en el medio ambiente y en la salud, o una
combinación de los mencionados.[22]
Las mediciones se realizan mediante sistemas de vigilancia de la calidad del aire (SVCA)
los cuales son administrados por las autoridades ambientales regionales las cuales tienen
como objetivo monitorear y seguir los contaminantes, todo esto según normas de regulación
dispuestas en la resolución 2254 de 2017 del Ministerio de Ambiente y Desarrollo Sostenible.
Según el IDEAM, los contaminantes que se monitorean son: [23]
Material Particulado (P M10 ). Material particulado que tenga unas dimensiones de
entre 2.5 y 10 micrómetros.

Figura 6-1: Contaminación anual por zonas de P M10 .[27]

En la Figura 6-1 se muestra La contaminación por periodos de tiempo para zonas


particulares de la ciudad de Bogotá, se puede observar de manera clara como en muchos
sectores de la ciudad el umbral máximo permitido para conservar la integridad de los
ciudadanos es sobrepasado. El lı́mite es 55 micro gramo por metro cúbico y en algunas
zonas como el centro occidente de la ciudad de llegan a valores del doble lo que genera
alertas sobre el origen de dicha contaminación.
Material Particulado (P M2,5 ). Comprende todo material particulado que tenga unas
dimensiones menores a 2.5 micras de diámetro. Estas representan una mayor peligro-
sidad ya que este tipo de partı́cula puede llegar a los bronquiolos y generar grandes
daños al sistema respiratorio.
39

Dióxido de Azufre (SO2 ). Es un gas formado a partir de la combustión de toda sustancia


que contenga azufre, algunas de ellas son el petroleo o el carbón, además está presente
en muchos procesos industriales en la actualidad.

Figura 6-2: Contaminación anual por zonas de SO2 .[27]

En la Figura 6-2 se muestra la concentración de SO2 en algunas zonas de la ciudad


de Bogotá por periodos de tiempo donde solo una zona de la ciudad se ha superado el
limite establecido, esta corresponde a la zona sur del paı́s donde solo en 1998 se superó
el limite establecido. La norma anual establecida corresponde a 16ppb, pero en general
a lo largo del tiempo los valores se han mantenido.
Dióxido de Nitrógeno (N O2 ). Se presenta de la misma manera que el dióxido de azufre,
en la combustión de algunas sustancias y se encuentra presente en mucho procesos
industriales.

Figura 6-3: Contaminación anual por zonas de N O2 .[27]

En la Figura 6-3 se muestra la concentración de N O2 en algunas zonas de la ciudad


40 6 Conclusiones y Trabajo Futuro

de Bogotá por periodos de tiempo, donde como se expuso anteriormente los valores se
han mantenido dentro de la norma anual establecida que corresponde a 53ppb.
Ozono troposférico (O3 ). Este gas se produce como resultado de algunas reacciones en
las cuales interviene la luz solar, algunos óxidos de nitrógeno y algunos compuestos
volátiles.

Figura 6-4: Contaminación anual por zonas de O3 .[27]

En la Figura 6-4 se muestra la concentración de 03 por zonas en Bogotá, no se observa


que en algún momento el nivel de O3 haya sido superado por lo menos hasta el 2005.
La norma horaria establecida para el O3 corresponde a 87 ppb.
Monóxido de Carbono (CO). Se forma a partir de la combustión de los combustibles
que contienen carbono, pero esta combustión se realiza de manera incompleta.

Figura 6-5: Contaminación anual por zonas de CO.[27]

En la Figura 6-4 se muestra la concentración de CO por zonas en Bogotá, no se observa


que en algún momento el nivel de CO haya superado el lı́mite establecido.
41

A partir de la revisión de la relación entre eventos y el ICA, eventos tales como el dı́a sin
carro y dı́as de paro de transportadores dejan en evidencia el gran impacto que tienen los
vehı́culos que funcionan con gasolina o diésel, ya que, son agentes móviles de producción de
contaminantes como P M10 , P M2,5 y CO. En dı́as donde hubo paro de transportadores los
niveles de P M1 0 se redujeron ya que usualmente los vehı́culos de servicio publico tienden a
funcionar con diésel el cual influye directamente con el material particulado P M1 0, pero en
los dı́as sin carro las concentraciones de CO se vieron reducidas ya que estos vehı́culos usual-
mente funcionan con gasolina. A partir de lo descrito anteriormente, se puede corroborar
que el tipo de contaminante que afecta en mayor medida está dado por diferentes variables y
sucesos; cuando se incorporó el combustible diésel bajo en azufre la cantidad de P M1 0 en la
ciudad se redujo de forma notoria, pero con el crecimiento industrial y demás factores dicho
contaminante volvió a aumentar, por ejemplo, el hecho de la implementación de gasolina con
etanol aumentó los niveles de O3 en el ambiente. [24]

Nota: La zona que presenta una mayor contaminación corresponde a la zona occidental don-
de localidades como Puente Aranda y Fontibón presenta unas concentraciones de material
particulado especialmente altas.

A pesar del monitoreo a través de estaciones a lo largo del todo el territorio de la ciudad no
se tiene completa certeza de la exposición de cada persona ya que existen micro-ambientes,
como una persona que está parada en un andén y un bus de servicio urbano pasa o arranca
frente a la persona, esta persona va a estar expuesta a cientos de micro-gramos por metro
cúbico de material particulado (PM10 principalmente).[25]
Incidencia en el ICA

Para poder determinar la incidencia que tiene cada uno de los contaminantes a medir según
el estándar propuesto por el IDEAM “Guı́a práctica para la validación de datos en los
Sistemas de Vigilancia de Calidad del Aire (SVCA) existentes en Colombia (GPVD)” se
deben validar los datos por parte de las autoridades competentes. De tal forma que según
el Subsistema de Información sobre Calidad de Aire (SISAIRE). se deben tener en
cuenta los siguientes puntos: [26]
Representatividad temporal: Es un indicador de cobertura que estima el porcentaje
de datos válidos para determinado perı́odo dado reportado por los operadores de los
SVCA.
Porcentaje de monitoreo de cada uno de los contaminantes por SVCA a nivel nacio-
nal: Es un indicador de gestión que expresa en qué porcentaje son monitoreados los
contaminantes criterio; con respecto al número total de estaciones con que se cuenta
42 6 Conclusiones y Trabajo Futuro

a nivel nacional y por Autoridad Ambiental, para un perı́odo de estudio previamente


establecido.
Porcentaje de estaciones que cumplen con los lı́mites máximos permisibles por conta-
minante: Es un indicador de cumplimiento que establece en forma porcentual el número
de estaciones de monitoreo en las que las concentraciones medidas se encuentran por
debajo de la norma de calidad de aire definida para cada contaminante, de acuerdo
con la reglamentación vigente.
Nota: Para el cálculo del promedio de concentración de un perı́odo dado o su media móvil,
debe contarse por lo menos con el 75 % de información válida. Si el porcentaje de datos
faltantes es superior al 25 %, no se debe calcular ni reportar el promedio para dicho perı́odo.
[26]
Incidencia en el ICA

Según el Subsistema de Información sobre Calidad de Aire (SISAIRE) se deben


tener en cuenta los siguientes puntos para el análisis de los resultados relacionados con el
ı́ndice de la calidad del aire: [23]
Análisis estadı́stico: Desarrollado para detectar:
ˆ Inconsistencias.
ˆ Datos atı́picos.
Análisis de contexto: Validación de gráficas y reportes mensuales, trimestrales o anua-
les.
Comités de expertos: Para desarrollar el Informe del Estado de la Calidad del Aire se
reúnen expertos en el tema para realizar el procesamiento y el análisis de la información.
La red de monitoreo de calidad del aire en Bogotá ha llevado un registro de las concentra-
ciones de los contaminantes desde 1997, de lo cual fue posible concluir que PM10 (Incluye
todo el material particulado con tamaño inferior a 10 micras) es el contaminante con mayor
ı́ndice de afectación a la calidad del aire, este seguido por contaminantes como el ozono.
Los otros tipos de contaminantes como óxidos de nitrógeno, óxido de azufre e hidrocarburos
presentan una concentración que se mantiene dentro del estándar establecido por lo que no
genera una afectación muy alta a la calidad del aire de Bogotá.
Para hacer un seguimiento de la calidad del aire desde la secretaria distrital de ambiente
surge una red de monitoreo de la calidad del aire en Bogotá (RMCAB) que a pesar de
algunos inconvenientes como cambio de algunas estaciones y ciertos periodos de inactividad
es una herramienta efectiva que debe mejorarse y continuar trabajando en ella, esta a pesar
de que cuenta con una gran cantidad de estaciones no está en la capacidad de determinar la
43

exposición personal de cada persona puesto no fue creada con ese objetivo.

[24] “Las concentraciones de PM10 no han mostrado una tendencia clara de reducción o
aumento en los 10 años de operación de la red. Aunque existió una tendencia de reducción
al introducir diésel de 1200 ppm de azufre en 2000, lamentablemente la concentración de
PM10 volvió a aumentar a partir de 2003, probablemente debido al crecimiento industrial
y a la utilización de carbón a cambio de gas natural.”

(Néstor Y. Rojas, PhD, Aire y problemas ambientales de Bogotá)

Conclusión

El PM10 es el contaminante con mayor ı́ndice de excedencias de la norma de calidad del aire,
seguido por el ozono, de estos se debe dar seguimiento constante y tomar medidas correctivas
para disminuir las excedencias. Por otra parte, las concentraciones de óxidos de nitrógeno,
óxidos de azufre y monóxido de carbono presentan bajos niveles excedencia de la norma,
pero se deben monitorear dado el crecimiento de factores contaminantes.
44 6 Conclusiones y Trabajo Futuro

B. Anexo: Resumen de Todos los Protocolos


de Pruebas Realizados

Resumen Pruebas realizadas


Recepción
Prueba Resultado - Conclusión
Observar salida del IoT hub sin No se reconoce ningún
conectar dispositivos. dispositivo.
Observar salida del IoT hub al Se reconoce un dispositivo
conectar un dispositivo. con una hora de conexión.
Observar trafico de datos sin La salida aparece en cero
enviar datos. mensajes.
Observar trafico de datos tras Se reciben datos registrados
estar enviando datos por una hora especifica.
Observar pantalla de datos recibidos La pantalla se observa vacı́a
sin estar enviando datos. a la espera de datos.
Observar pantalla de datos recibidos Se empiezan a recibir los datos
tras estar enviando datos. con un Id y una fecha especifica.
Almacenamiento
Ejecutar consulta para insertar datos Se observa en la tabla que los datos
en una tabla especifica. fueron creados correctamente.
Ejecutar consulta para seleccionar Se observa que los datos seleccionados
datos de una tabla especifica. corresponden con los presentes en la tabla.
Tratamiento
Se realiza la suscripción realizando Únicamente se puede realizar la suscripción
diferentes configuraciones. si se ingresa el nombre y el correo.
Se realiza una consulta para extraer Efectivamente solo los correo que habı́an
los correos que querı́an recibir habilitado la opción de recibir reportes
notificaciones y reportes. fueron seleccionados.
Se ingresa un valor de ICA superior Un reporte es enviado a todos los correos
a 200 en la tabla de ICA. con un mensaje de precaución.
Se ingresa una configuración de
Se obtiene el mapa con la información
información con todos los filtros para
solicitada.
realizar interpolación.
Se ingresa una configuración de Se obtiene el gráfico de barras
información con todos los filtros para con la información solicita y un marcador
observar funcionamiento de las gráficas. que indica el nodo que está siendo revisado.
Despliegue
Se comprueba que todos los botones de Dirigen de manera correcta a cada una
la barra lateral funcionen. de las pantallas.
Se comprueba el funcionamiento del botón Dirige a la pantalla de
de suscribirse. suscripción.
Se hace un recorrido por toda la Se llega cada una de las pantallas de
plataforma verificando su funcionamiento. manera exitosa.

Tabla 6-1: Resumen de pruebas realizadas.


45

C. Anexo: Tablas Implementadas para el Cálcu-


lo del ICA

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 50−0
54−0
)(C − 0) + 0 0.926*C
50−0
ICAP M2,5 ( 15,4−0 )(C − 0) + 0 3.246*C
50−0
ICASO2 ( 0,034−0 )(C − 0) + 0 1428.57*C
50−0
ICACO ( 4,4−0 )(C − 0) + 0 11.3636*C
50−0
ICAO3 8H ( 0,059−0 )(C − 0) + 0 847.45*C
ICAO3 1H ( 50−0
0−0
)(C − 0) + 0 0
ICAN O2 ( 50−0
0−0
)(C − 0) + 0 0
Tabla 6-2: Expresiones para una calidad del aire buena

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 100−51
154−55
)(C − 55) + 51 0,4949(C − 55) + 51
100−51
ICAP M2,5 ( 40,4−15,5 )(C − 15,5) + 51 1,9678(C − 15,5) + 51
100−51
ICASO2 ( 0,144−0,034 )(C − 0,034) + 51 445,455(C − 0,0034) + 51
100−51
ICACO ( 9,4−4,5 )(C − 4,5) + 51 10(C − 4,5) + 51
100−51
ICAO3 8H ( 0,075−0,060 )(C − 0,060) + 51 3266,66(C − 0,060) + 51
100−51
ICAO3 1H ( 0−0 )(C − 0) + 51 0
ICAN O2 ( 100−51
0−0
)(C − 0) + 51 0

Tabla 6-3: Expresiones para una calidad del aire moderada


46 6 Conclusiones y Trabajo Futuro

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 150−101
254−155
)(C − 155) + 101 0,4949(C − 155) + 101
150−101
ICAP M2,5 ( 65,4−40,5 )(C − 40,5) + 101 1,967(C − 40,5) + 101
150−101
ICASO2 ( 0,224−0,145 )(C − 0,145) + 101 620,25(C − 0,145) + 101
150−101
ICACO ( 12,4−9,5 )(C − 9,5) + 101 16,8965(C − 9,5) + 101
150−101
ICAO3 8H ( 0,095−0,076 )(C − 0,076) + 101 2578,94(C − 0,076) + 101
150−101
ICAO3 1H ( 0,164−0,125 )(C − 0,125) + 101 1256,4(C − 0,125) + 101
ICAN O2 ( 150−101
0−0
)(C − 0) + 101 0

Tabla 6-4: Expresiones para una calidad del aire dañina para grupos sensibles

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 200−151
354−255
)(C − 255) + 151 0,4949(C − 255) + 151
200−151
ICAP M2,5 ( 150,4−65,58 )(C − 65,5) + 151 0,5776(C − 0,65,5) + 151
200−151
ICASO2 ( 0,304−0,225 )(C − 0,215) + 151 620,25(C − 0,215) + 151
200−151
ICACO ( 15,4−12,5 )(C − 12,5) + 151 16,896(C − 12,5) + 151
200−151
ICAO3 8H ( 0,115−0,096 )(C − 0,096) + 151 2578,94(C − 0,096) + 151
200−151
ICAO3 1H ( 0,204−0,165 )(C − 0,165) + 151 1256,41(C − 0,165) + 151
ICAN O2 ( 200−151
0−0
)(C − 0) + 151 0

Tabla 6-5: Expresiones para una calidad del aire dañina

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 300−201
424−355
)(C − 355) + 201 1,4347(C − 355) + 201
300−201
ICAP M2,5 ( 250,4−150,5 )(C − 150,5) + 201 0,9909(C − 150,5) + 201
300−201
ICASO2 ( 0,604−0,305 )(C − 0,305) + 201 331,103(C − 0,305) + 201
300−201
ICACO ( 30,4−15,5 )(C − 15,5) + 201 6,6442(C − 15,5) + 201
300−201
ICAO3 8H ( 0,374−0,116 )(C − 0,116) + 201 383,72(C − 0,116) + 201
300−201
ICAO3 1H ( 0,404−0,205 )(C − 0,205) + 201 497,487(C − 0,205) + 201
300−201
ICAN O2 ( 1,24−0,65 )(C − 0,65) + 201 167,79(C − 0,65) + 201

Tabla 6-6: Expresiones para una calidad del aire muy dañina
47

Índice de Calidad del Aire Ecuación Expresión


ICAP M10 ( 500−301
604−425
)(C − 425) + 301 1,11173(C − 425) + 301
500−301
ICAP M2,5 ( 500,4−250,5 )(C − 250,5) + 301 0,7963(C − 250,5) + 301
500−301
ICASO2 ( 1,004−0,605 )(C − 0,605) + 301 498,746(C − 0,605) + 301
500−301
ICACO ( 50,4−30,5 )(C − 30,5) + 301 10(C − 30,5) + 301
ICAO3 8H ( 500−301
0
)(C − 0) + 0 0
500−301
ICAO3 1H ( 0,604−0,405 )(C − 0,405) + 301 1000(C − 0,405) + 301
500−301
ICAN O2 ( 2,04−1,25 )(C − 1,25) + 301 251,8987(C − 1,25) + 301

Tabla 6-7: Expresiones para una calidad del aire peligrosa

También podría gustarte