MODELO DE REFERENCIA PARA LA DETECCIÓN DE EVENTOS DE CONTAMINACIÓN INDUSTRIAL BASADO EN UNA RED DE SENSORES
A REFERENCE MODEL FOR DETECTION OF INDUSTRIAL POLLUTION EVENTS BASED ON A SENSORS NETWORK
AUTOR
JULIÁN MIGUEL ACEVEDO MORENO
Magister en Ing. de Sistemas y Computación
*Pontificia Universidad Javeriana
julian.acevedo@javeriana.edu.co
COLOMBIA
AUTOR
EDGAR ENRIQUE RUIZ GARCÍA
Magister en Ing. de Sistemas y Computación
*Pontificia Universidad Javeriana
Jefe de Sección
Depto. de Ingeniería de Sistemas
Profesor de Planta
eruiz@javeriana.edu.co
COLOMBIA
AUTOR
RICARDO HJALMAR GONZALEZ GARCÍA
Dr. en Computación
**Universidad Sergio Arboleda
*Pontificia Universidad Javeriana
Escuela de Ciencias Exactas e Ingeniería
ricardo.gonzalez@usa.edu.co
COLOMBIA
AUTOR
MARIELA JOSEFINA CURIEL HUERFANO
Dra. en Informática
*Pontificia Universidad Javeriana
Directora de Carrera
Depto. de Ing. de Sistemas
Profesor de Planta. Investigador
mcuriel@javeriana.edu.co
COLOMBIA
*INSTITUCION
PONTIFICIA UNIVERSIDAD JAVERIANA
PUJ
Universidad Privada
Calle 40 Nro. 5-50
Bogotá, D.C
COLOMBIA
*INSTITUCION
UNIVERSIDAD SERGIO ARBOLEDA
USA
Universidad Privada
Calle 74 Nro. 14-14
Bogotá, D.C.
COLOMBIA
INFORMACIÓN DE LA INVESTIGACIÓN O DEL PROYECTO: El presente artículo describe el resultado de la investigación realizada por el Ing. Julián Acevedo como parte de los requisitos establecidos para obtener el Título de Magister en Ingeniería de Sistemas y Computación de la Pontifi cia Universidad Javeriana. El trabajo hace parte del grupo de Investigación SIDRE del Departamento de Ingeniería de Sistemas de la Pontifi cia Universidad Javeriana. El problema a resolver fue el de diseñar un modelo de referencia para el procesamiento de datos relacionados con la contaminación industrial, provenientes de una red de sensores. El trabajo fue dirigido por la Dra. Mariela Curiel y a lo largo del proyecto se contó también con la colaboración de los profesores Edgar Enrique Ruiz y Ricardo González.
RECEPCIÓN: Mayo 31 de 2016
ACEPTACIÓN: Septiembre 6 de 2016
TEMÁTICA: Sistemas Inalámbricos y Móviles
Forma de citar: Acevedo, J., González, R., Ruiz, E. y Curiel, M. (2016). Modelo de referencia para la detección de eventos de contaminación industrial basado en una red de sensores. En R, Llamosa Villalba (Ed.). Revista Gerencia Tecnológica Informática, 15(43), 19-35. ISSN 1657-8236.
RESUMEN
La contaminación industrial es un aspecto que está afectando en forma importante la sostenibilidad del planeta. Para poder manejar la contaminación, el primer paso es detectarla tan pronto como ésta ocurra, de ahí la importancia de la recolección oportuna de datos. Actualmente la tecnología nos da un gran soporte para esta tarea porque se cuenta con redes de sensores que, al estar en el ambiente, permiten recolectar grandes cantidades de datos. Si estos datos son procesados de forma adecuada, pueden ayudar en la detección temprana de focos de contaminación. No obstante, hay que enfrentar el problema de manejar de forma efectiva una gran cantidad de datos provenientes de dispositivos heterogéneos, que incluyen tanto a los sensores tradicionales o motas de las redes inalámbricas de sensores, como a los sensores ubicados en teléfonos inteligentes. El manejo de esta heterogeneidad motivó a diseñar un modelo de referencia que sirviera de guía para realizar las funciones de detección, almacenamiento, procesamiento y visualización/publicación de los datos, usando las tecnologías más adecuadas. La idea es que este modelo de referencia pueda posteriormente ser instanciado con componentes de hardware y software específicos, que respondan a las necesidades de determinadas empresas o entes gubernamentales, interesados en tomar acciones preventivas o correctivas sobre la contaminación ambiental. En este artículo se presenta el modelo de referencia propuesto y se describe un prototipo que instancia este modelo. El prototipo desarrollado está enfocado en la medición de la contaminación auditiva en una empresa del sector automotriz en Bogotá. La información obtenida con el prototipo fue utilizada para tomar medidas preventivas para el control de focos de contaminación auditiva por parte de la empresa.
Palabras clave: Redes inalámbricas de sensores, Teléfonos inteligentes, Monitorización, Minería de datos, Contaminación industrial.
ANALYTICAL SUMMARY
Industrial pollution is significantly affecting the sustainability of the planet. A data collection process allows us to review the contamination levels, and take actions in a timely manner. Nowadays wireless sensor networks support the collection of large amounts of environmental data. If these data are properly processed, they can be used in the detection of pollution sources, and in the design of preventive -or corrective- strategies to deal with it. However, this requires to effectively manage large amount of data obtained from heterogeneous devices, including not only data from traditional sensors or motes of wireless sensor networks, but also from sensors within Smartphones. In order to handle this heterogeneity, we design a reference model that serves as a guide to combine the technologies of storage, processing and presentation of the data. This model can then be instantiated with specific hardware and software components that meet the needs of companies or government agencies interested in dealing with environmental pollution. In this article, the proposed reference model is presented, in conjunction with a prototype that can be used to solve problems of noise pollution in an automotive company located in Bogota.
Keywords: Wireless sensor networks, Smartphones, Monitoring, Data mining, Industrial pollution.
INTRODUCCIÓN
La contaminación industrial es un aspecto que está afectando en forma importante la sostenibilidad del planeta [1]. En [2] se define contaminación industrial como “la incontrolable degradación del medio ambiente por el crecimiento industrial no planeado, el cual está directamente relacionado con la descarga a la atmósfera de sustancias contaminantes sin ningún control de la cantidad, densidad y composición química”. Una de las formas de enfrentar los problemas de contaminación es por medio de regulaciones gubernamentales. Por ejemplo, a través del Decreto 948 del 5 de junio de 1995, el Estado colombiano reglamenta las emisiones al medio ambiente en sus diferentes formas como: ruido, olores, contaminación del aire, contaminación del agua,
entre otros. La Resolución 610 del 24 de marzo de 2010,
también establece parámetros para la calidad del aire en
Bogotá. En estas regulaciones se establecen los niveles
mínimos y máximos de los diferentes tipos de emisiones
y las penalidades en caso de un incumplimiento por
parte de las empresas generadoras de emisiones. Dado
que la generación de datos e información permite la
revisión de estos niveles, el Estado también ha creado
infraestructura para su recolección. Tal es el caso de
la Red de Monitoreo de Calidad de Aire de Bogotá
(RMCAB), que cuenta con 13 estaciones fijas y una
estación móvil, que permiten recolectar información
sobre la concentración de contaminantes en la atmósfera
bogotana [3]. No obstante, por contar con un número
limitado de estaciones, es posible que no se detecten
todos los focos de contaminación existentes o que no se
detecten con la suficiente anticipación. Por esta razón,
es deseable contar con redes que posean un mayor
número de sensores, ampliamente distribuidos.
Hoy en día la tecnología nos brinda una solución a este
problema. Por un lado, existen las redes inalámbricas
de sensores (WSN, por sus siglas en inglés) compuestas
por un conjunto de nodos sensores de bajo costo y con
capacidades de monitorizar el entorno. Por otro lado,
los teléfonos inteligentes, ampliamente utilizados en
la actualidad, también poseen sensores capaces de
capturar, clasificar y transmitir imágenes, audio, ubicación
y otros datos, de forma interactiva o autónoma. Los
teléfonos equipados con estos sensores se convierten
en equipos perfectos para recoger información sobre
el medio ambiente utilizando un enfoque de detección
participativa (participatory sensing) [4].
Después de la recolección, uno de los desafíos es el
manejo eficiente de este gran volumen de datos y la
heterogeneidad presente en los dispositivos, en los medios
de comunicación y en la naturaleza de la información
recolectada. Aparte de la diversidad de tecnologías, en
el proceso de recolección de datos, también intervienen
factores inherentes a la confiabilidad de la información,
cuando por ejemplo se recogen datos generados por
sensores defectuosos, mal calibrados, o que incluso
puedan llegar a ser manipulados maliciosamente [5].
Para tratar de minimizar la complejidad de estos procesos,
se han desarrollado middlewares, cuya principal función
es ofrecer transparencia respecto a las plataformas base,
ocultando las diferencias en las características del tipo
hardware empleado (ejemplos: Mate [6], Magnet [7],
Cougar [8], SINA [9], DsWare [10] y Mosquitto [11]). No
obstante, estos sistemas no son compatibles con todos
los tipos de nodos existentes en las redes de sensores y
la interoperabilidad entre ellos es bastante reducida. Lo
anterior pone en evidencia la necesidad de desarrollar
un modelo de referencia que permita que los sistemas
middleware existentes y otros componentes de software
pertenecientes a las redes de sensores, se comuniquen
con independencia de los lenguajes de programación,
sistemas operativos y plataformas de hardware. Este
modelo debe también sugerir la forma de almacenar y
procesar la información para que, tanto usuarios como
aplicaciones, puedan extraer conocimiento útil de forma
oportuna. El trabajo que se describe en este artículo
es un modelo de referencia con las características
mencionadas. La idea es que este modelo general
pueda ser instanciado con componentes específicos,
que respondan a las necesidades de determinadas
empresas o entes gubernamentales interesados en
resolver problemas de contaminación ambiental.
El artículo tiene la siguiente estructura: La sección 1
describe el marco conceptual propio de la investigación.
Luego, en la sección 2 se presenta el modelo de
referencia propuesto, en la sección 3 se describe una
instancia del modelo de referencia a través del desarrollo
de un prototipo para la medición de la contaminación
auditiva en una empresa del sector automotriz en
Bogotá. En la sección 4 se discuten los resultados
obtenidos al implementar una instancia del modelo de
referencia planteado en esta investigación. En la sección
5 se describen trabajos relacionados y, finalmente, en la
sección 6 se presentan las conclusiones y los trabajos
futuros.
1. MARCO TEÓRICO
Para explicar los conceptos más relevantes del trabajo de investigación, la sección se ha dividido en tres subsecciones: En la subsección 1.1 se describe la definición y las principales características de un modelo de referencia. Luego la subsección 1.2 contiene una descripción de las motas y de los teléfonos inteligentes. Finalmente, la subsección 1.3 presenta una breve descripción de las técnicas de minería de datos y texto que se pueden usar para extraer información de los datos recolectados.
1.1 Modelo de Referencia
Un Modelo de Referencia es un marco de referencia abstracto para entender el significado de las relaciones entre entidades de algún ambiente determinado. El modelo debe ser independiente de estándares específicos, tecnologías e implementaciones [12] y no debe contener los elementos en sí mismos, sino una descripción de su funcionalidad. Finalmente, un modelo de referencia es un mecanismo para entender un determinado problema sin proveer la solución. Es por ello que en este artículo separamos el modelo de una instancia del mismo.
1.2 REDES DE SENSORES Y TELÉFONOS INTELIGENTES
Las Redes Inalámbricas de Sensores o Wireless Sensor Networks WSN son un tipo particular de red, compuestas por [13]: un conjunto de nodos sensores encargados de monitorear el entorno, un nodo recolector o Sink, que concentra los datos tomados por los nodos sensores y que también puede hacer la labor de un Gateway para comunicar la información de los nodos sensores hacia otros sistemas. Los nodos sensores son también llamados motas o motes, en referencia al proyecto Smart Dust [14], que fue uno de los primeros en usar este tipo de dispositivos. Las motas pueden intercambiar información entre sí, usando redes inalámbricas, y pueden contar con una fuente de energía propia que les permita operar de forma autónoma por periodos relativamente largos de tiempo. Las redes inalámbricas de sensores pueden tener la capacidad de autoreconfigurarse en caso de la falla o caída de un nodo y se caracterizan por su escalabilidad, flexibilidad, autonomía e interoperabilidad. Por sus características de autonomía, estas redes permiten la medición de variables aún en lugares de difícil acceso.
1.2.1 Características de las motas
Los nodos sensores o motas tienen la capacidad de
capturar información del entorno, procesarla y enviarla
a los nodos recolectores, para cumplir este propósito,
están compuestos por: un procesador, memoria, un
grupo de sensores, una interfaz de red inalámbrica y
una fuente de alimentación eléctrica [15].
Entre los procesadores desarrollados para motas
encontramos los microcontroladores Intel 8051, el
PIC, el ARM7 y el Atmel, entre otros. Estos dispositivos
poseen dos tipos de memoria, la memoria RAM y una
memoria flash no volátil, para que no se pierda la
información almacenada cuando el equipo se apague,
ambos tipos de memoria pueden ser utilizadas para
almacenar los datos recolectados por la aplicación, el
sistema operativo y la configuración del dispositivo.
Los sensores son dispositivos de hardware que
producen una respuesta medible ante un cambio de
estado físico en el área que están monitorizando; por
ejemplo pueden detectar cambios en la temperatura o
la presión [16]. En los nodos sensores la señal analógica
continua que detectan los sensores es digitalizada por
un convertidor analógico digital (ADC) y enviada a un
controlador para ser procesada. Los sensores suelen
ser de pequeño tamaño, y se destacan también por su
bajo consumo de energía. Diferentes tipos de sensores
se pueden integrar en una misma plataforma para el
monitoreo de la contaminación, como puede ocurrir en
una placa Arduino [17], donde diversos tipos de sensores
se pueden usar para medir la humedad, la temperatura,
el monóxido de carbono, el dióxido de carbono, el dióxido
de azufre, el ozono y dióxido de nitrógeno.
La fuente de poder brinda la energía para la operación
de los diferentes componentes que están presentes
en la mota. Esta energía se puede obtener a través
de baterías, paneles solares o mediante una conexión
directa a una fuente de electricidad externa.
En el proceso de captura de la información y su entrega
a un sistema central, intervienen varios elementos. La
captura la realiza la mota y luego, con el uso de un
protocolo de comunicaciones, se puede entregar la
información a un nodo coordinador, quien a su vez
puede retransmitirla hasta llegar al sistema central,
buscando la ruta más adecuada, mediante el uso de
algún protocolo de enrutamiento [18]. A continuación
se explican los medios físicos y protocolos involucrados
en la comunicación.
1.2.2 Medios para la comunicación
Físicos: Las motas realizan su comunicación vía radio
usando normalmente bandas ISM (Industrial Scientific
and Medical) no licenciadas. Las tecnologías inalámbricas
que pueden ser usadas son: Wi-Fi a/b/g/n/ac (IEEE
802.11), Bluetooth (IEEE 802.15.1) y otras tecnologías
basadas en el estándar IEEE 802.15.4. la más conocida
de estas es Zigbee, la cual está enfocada en hacer
un muy bajo consumo de energía en la transmisión y
recepción de datos. La velocidad máxima alcanzada por
las motas con Zigbee es de 250 Kbps, con Bluetooth,
dependiendo de la versión utilizada, se pueden lograr
velocidades que van desde 1 Mbps y pueden llegar a
superar los 24 Mbps, finalmente con Wi-Fi es posible
obtener velocidades que van de 1 Mbps a cientos de
Mbps en las versiones más recientes.
Protocolos de Enrutamiento: Los protocolos de
enrutamiento se dividen en dos grupos: los proactivos y
los reactivos. Los protocolos proactivos continuamente
envían información de enrutamiento para mantener
las rutas actualizadas. Entre los protocolos proactivos
se encuentran el OLSR (Optimized Link-State Routing
Algorithm) y el DSDV (Destination-Sequenced Distance
Vector). Los protocolos reactivos sólo crean las rutas
cuando éstas se requieren para enviar un mensaje.
Ejemplos de estos protocolos son el AODV (Ad hoc On
Demand Distance Vector Routing) y el DSR (Dynamic
Source Routing). Los dos tipos de protocolos se usan en
las WSN según la función que el sensor vaya a cumplir,
por ejemplo, si la medición la realiza un sensor que está
en movimiento se puede usar un protocolo reactivo
ya que la ruta puede cambiar dependiendo del lugar
donde se encuentre; si por el contrario el sensor está
estático, se puede usar un protocolo de tipo proactivo
que pudiera consumir menos recursos para enviar
rápidamente un mensaje por alguna ruta preestablecida
previamente.
1.2.3 Arquitectura de software
La capa más baja del software para una WSN la conforma el sistema operativo. Entre los sistemas operativos desarrollados para las motas se encuentran: PalOS, SOS, TinyOS, MANTIS y BTnut, tal como se describe en [19]. La capa siguiente de software es el middleware, cuya función principal es la de abstraer de los servicios de las capas posteriores toda la problemática asociada a la heterogeneidad que puedan tener los sensores. También se encarga de proveer mecanismos que mantengan los parámetros de calidad de servicio (especialmente la eficiencia, la tolerancia a fallos y el consumo de energía) en los niveles esperados. Algunos ejemplos de middleware para WSN son: Mate [6], Magnet [7], Cougar [8], SINA [9], DsWare [10], Impala [20], Zuma [21] y Mosquitto [11].
1.2.4 Teléfonos Inteligentes
Aunque las redes inalámbricas han tenido un éxito
importante en los últimos años, otro dispositivo
electrónico que ha tenido un desarrollo aún más
interesante es el TSmartphone o eléfono Inteligente,
que destaca no sólo por sus capacidades, sino también
por su amplio uso. En 2015 se vendieron alrededor de
1.400 millones de teléfonos inteligentes en el mundo
[22] según reportes del Gartner Group. La incorporación
en estos dispositivos de otras tecnologías inalámbricas,
adicionales a las redes celulares, como Wi-Fi, Bluetooth
y NFC (Near Field Communication), ha permitido mejorar
su capacidad de comunicación como dispositivos
autónomos.
Tanto la movilidad de estos dispositivos, como los
sensores que poseen los hacen muy atractivos para
las tareas de detección de eventos externos, ya que
es posible ampliar el área de cobertura con respecto
a la que puede brindar una WSN tradicional que
use tecnología Zigbee. Estos sensores, que se han
incluido inicialmente en los teléfonos inteligentes para
darle una mejor experiencia al usuario y aumentar
la competitividad de los dispositivos en el mercado,
pueden tener otros importantes usos en procesos de
monitorización ambiental e industrial.
Entre los sensores con los que puede contar un
teléfono inteligente se encuentran los acelerómetros,
los giroscopios, los micrófonos, los sistemas de
posicionamiento global o GPS (Global Positioning
System) y los sensores fotográficos [23], entre otros, tal
como se puede apreciar en la Figura 1. Estos sensores
permiten la captura de información de fenómenos
físicos directamente por parte del teléfono y brindan la
oportunidad de que los teléfonos puedan ser utilizados
como nodos sensores en una WSN.
A pesar de que el consumo de energía no ha sido una
característica prioritaria en el diseño de los teléfonos
inteligentes actuales, como si lo ha sido para los nodos
sensores que usan Zigbee, dicho consumo es mucho
más bajo que el que realiza un equipo de computación
tradicional. A pesar de esto, para los fabricantes de
teléfonos, el hecho de que éstos puedan operar por
largos periodos de tiempo, ha sido un punto muy
importante en su proceso de comercialización, ya que
les permite mayor autonomía. Es por ello que muchos
de los teléfonos poseen opciones para desactivar
temporalmente algunos de sus componentes, como
los sensores de posicionamiento (GPS), algunas de sus
interfaces de red o incluso la conexión a redes 2G o 3G,
para de esta forma ahorrar energía y funcionar de forma
ininterrumpida por periodos más largos de tiempo [24].
La idea de usar los teléfonos inteligentes como sensores
no es nueva, hay algunos trabajos en los cuales los
teléfonos inteligentes han sido empleados formando
parte de las WSN sólo de forma parcial y cumpliendo
los roles de nodo recolector (Sink) [25] o de Gateways
[24] [26]. En González y Huerta [27] se presenta
la utilización de teléfonos inteligentes, en el rol de
nodos sensores en una WSN. Otras empresas se han
dedicado a mejorar la integración entre los sensores
de las WSN y los Smartphones, tal es el caso de las
compañías Libelium [28] y Sensorcon [29] cuyas motas
pueden medir diferentes aspectos del medio ambiente
(temperatura, humedad, aire, presión atmosférica, etc.)
y enviar los datos a un teléfono inteligente vía Wi-Fi.
1.3 MINERÍA DE DATOS Y DE TEXTO
La minería de texto es el descubrimiento de información
previamente desconocida extrayéndola de forma
automática a partir de diferentes fuentes escritas.
La minería de datos se define como el proceso de
exploración y análisis, usando medios automáticos o
semi-automáticos, de grandes volúmenes de datos
para descubrir en ellos reglas o patrones significativos
[30]. Aunque la minería de datos y la minería de texto
comparten algunas características, la minería de datos
está diseñada para trabajar con datos estructurados y la
minería de texto sobre datos no estructurados o semiestructurados,
como son los datos generados por las
motas y la información que pudieran registrar usuarios
en teléfonos inteligentes.
Las técnicas más representativas de la minería de datos
son:
Algoritmos de clasificación: predicen una o más
variables discretas, basándose en otros atributos del
conjunto de datos. Ejemplos de estas técnicas son
los arboles de decisiones, las redes neuronales, los
clasificadores bayesianos y las máquinas de vectores de
soporte (support vector machines).
Algoritmos de regresión: predicen o aproximan la
relación de dependencia entre una variable dependiente
y un conjunto de variables independientes. Entre
las técnicas de regresión se encuentran la regresión
lineal global o clásica y la regresión lineal ponderada
localmente. Existen también técnicas de regresión no
lineal como la regresión logarítmica y los árboles de
regresión.
Algoritmos de segmentación: dividen los datos en
grupos, o clústeres, de elementos que tienen propiedades
similares. Los algoritmos de clustering o agrupamiento
se dividen en: a) Jerárquicos (a sus vez divididos en
aglomerativos o divisivos) y b) no Jerárquicos, en los
que el número de grupos se determina de antemano
y las observaciones se van asignando a los grupos en
función de su cercanía. Un ejemplo de estrategia de
clustering jerárquico es el MST (minimum spanning
tree). Entre los algoritmos no jerárquicos se encuentran
el k-mean y k-mediod.
Algoritmos de asociación: buscan correlaciones entre
diferentes atributos de un conjunto de datos. Existen
diversos algoritmos que realizan búsquedas de reglas de
asociación tales como Apriori, Eclat y FP-Growth.
Algoritmos de análisis de secuencias: resumen
secuencias o episodios frecuentes en los datos (frequent
patterns). Ejemplos: GSP y SPADE (Sequential Pattern
Discovery using Equivalent Class)
Existe mucha bibliografía sobre el tema, para más
detalles se pudiera consultar [30] y [31].
Los pasos principales para el procesamiento de los
datos, utilizados en el modelo de referencia propuesto
se describen a continuación:
Pre-procesamiento o limpieza de los datos:
consiste en preparar la información que se va a analizar
para que sirva de entrada a los algoritmos de minería de
datos o texto. En esta etapa, por ejemplo, se eliminan
caracteres especiales, espacios en blanco, etc.
Selección de la técnica de minería de datos y su
aplicación: una vez que se tienen los datos organizados,
hay que definir los algoritmos que se van a utilizar en su
tratamiento. Pueden usarse varias técnicas para generar
distintos modelos, aunque generalmente cada técnica
obliga a un pre-procesado diferente de los datos.
Evaluación: los resultados obtenidos deben de ser
sometidos a comprobación, es decir verificar que
están libres de errores, ratificar que son útiles para los
objetivos perseguidos, etc.
Indicadores se define como el conjunto de variables cuantitativas y cualitativas que sirven para medir y de tal forma evaluar el grado de cumplimiento de los objetivos y metas planteadas.
2. MODELO DE REFERENCIA
Con el objetivo de manejar las funciones de
almacenamiento, procesamiento y visualización/
publicación de los datos se diseña el modelo de
referencia que se describe a continuación.
Las principales características del modelo propuesto
son: a) Considera no sólo la heterogeneidad de los
dispositivos y medios para la recolección de datos,
sino la disparidad de los datos recolectados (diferentes
formatos, unidades de medida, resoluciones, etc.) b)
Específica la forma de manejar eficientemente grandes
volúmenes de datos. c) Considera la inclusión de
diferentes tipos de técnicas de minería de datos o de
texto, que permitan obtener información útil para la
toma de decisiones. d) Provee los medios para entregar
resultados en-línea (a tiempo real o de forma periódica)
y a través de archivos históricos. f) Ofrece un API para
que la información pueda ser accedida desde diferentes
medios (aplicaciones, redes sociales, etc.) g) Provee la
información de forma gráfica y a través de los reportes
solicitados por los entes gubernamentales colombianos.
h) Por último, en lo posible, los componentes del
modelo deberían instanciarse con herramientas de
código abierto o de elaboración propia ya que puede ser
necesario introducir modificaciones para el ensamblaje
de los componentes.
Las capas del modelo de referencia propuesto se
presentan en la Figura 2 y se describen a continuación:
La Capa de Captura de Datos tiene dos funciones:
recolectar y almacenar de forma eficiente la
información de contaminación ambiental que proviene
de los diferentes tipos de sensores. La Capa de
Procesamiento realiza tareas de preparación y
clasificación de la información usando técnicas de
minería de datos y/o texto. La Capa de Visualización/
Publicación tiene como función el control del acceso a
la información procesada, así como su publicación por
los diferentes medios ya mencionados.
A continuación se presentan y describen en forma detallada los componentes que integran cada una de estas capas, tal como se observan en la Figura 3. No sólo se describirán las funciones de los componentes sino también las posibles tecnologías que se pueden usar en cada caso.
2.1 CAPA DE CAPTURA DE DATOS
En esta capa se encuentran todas las fuentes de entrada de la información (sensores y otros sistemas), así como los componentes para su tratamiento inicial y almacenamiento.
2.1.1 Sensores y otros sistemas
Este grupo de componentes abarca a las motas, a los sensores ubicados en los Smartphone y a otras plataformas de captura de indicadores de contaminación ambiental. Las motas tienen la capacidad de capturar la información del entorno geo-referenciada, procesarla y enviarla a un sistema central para su análisis. La información puede ser enviada usando protocolos de transmisión inalámbrica como Wi-Fi, o Zigbee. Los Smartphones pueden usar Wi-Fi, Bluetooth o redes de datos 2G, 3G o 4G. Otras plataformas de recolección de datos pueden usar una mezcla de estos tipos de redes o incluso conexiones más tradicionales como redes locales cableadas del tipo Ethernet o servicios de banda ancha sobre los cuales se puedan implementar esquemas similares a los servicios web (web services), como lo hace la plataforma da-sense [32].
2.1.2 Middleware
Las principales funciones que debe cumplir el
middleware del modelo de referencia planteado son: a)
Esconder la heterogeneidad, soportando la captura de
la información por medio de los diferentes protocolos
de comunicación utilizados por los sensores, tales como
Wi-Fi, IPv6, Zigbee; el middleware debe estar en la
capacidad de procesar los distintos protocolos y enviar
la información al siguiente componente de la capa. b)
Proveer mecanismos que garanticen los parámetros
de calidad de servicio, especialmente la eficiencia y el
consumo de energía. c) Estar en capacidad de utilizar
servicios de otras plataformas que también recolectan
datos de contaminación ambiental.
Una de las formas de manejar la heterogeneidad es a
través del uso de máquinas virtuales. Los middlewares
Mate [6] y Magnet [7] emplean este enfoque. Para el
mismo problema, otros sistemas utilizan una base de
datos virtual relacional donde los sensores son las tablas
y la consulta de información sobre los sensores se hace
con instrucciones SQL como ocurre con los sistemas
Cougar [8], SINA [9], DsWare [10].
Los problemas de la eficiencia y bajo consumo de energía
de los dispositivos pueden abordarse desde el modelo
de programación que ofrece el middleware. Por ejemplo,
Impala [20] hace uso de agentes móviles y comunicación
asincrónica. También ofrece mecanismos eficientes
para la actualización de las redes, soporta aplicaciones
dinámicas, es tolerante a fallas y su overhead es muy
bajo. No obstante, no soporta sensores heterogéneos.
Como se puede apreciar, hoy día no hay muchas
herramientas que resuelvan todos los requerimientos
planteados para el middleware del modelo de referencia.
Las implementaciones del modelo tendrán que dar
prioridad a unos requerimientos sobre otros, en función
del problema de contaminación a resolver.
Otra opción es modificar los middlewares existentes
usando wrappers o adaptadores para generar una
interfaz común para el intercambio de información
entre los diferentes componentes del sistema. En
este sentido, uno de los protocolos de comunicación
que está tomando mucha fuerza en dispositivos de
baja capacidad de procesamiento y autonomía es
MQTT (Message Queue Telemetry Transport) [33], un
protocolo machine-to-machine (M2M), soportado en
muchos tipos de sensores. Se trata de un protocolo de
transporte muy liviano del tipo publicador/suscriptor
donde la comunicación puede ser de uno a uno, o
uno a muchos. Su modelo de suscripción está basado
en tópicos a los que se registran sus subscritores para
recibir información proveniente de los nodos sensores.
Otro protocolo específico para nodos con capacidades
restringidas es el CoAP [34][35]. Se trata de un
protocolo a nivel de aplicación pensado para ser usado
entre dispositivos electrónicos simples, como sensores
de baja potencia. Con este protocolo estos dispositivos
pueden comunicarse de forma interactiva a través de
internet; su modelo de interacción cliente/servidor es
similar al de HTTP con la diferencia de que CoAP realiza
los intercambios de mensajes de forma asíncrona por
medio del protocolo de transporte UDP
2.1.3 Almacenamiento sin procesar
El modelo plantea realizar el almacenamiento de los datos
crudos, provenientes de los sensores, en una base de
datos no relacional como MongoDB, HBase, Hypertable,
Cassandra o RIAK. Con este enfoque se logra un mejor
rendimiento ya que este tipo de bases de datos se diseñó
para manejar grandes volúmenes de información a una
gran velocidad. Otras características importantes son su
capacidad de crecer de forma horizontal y el manejo de
muchas conexiones simultáneas.
El flujo de los datos en esta capa se realiza de la
siguiente forma: el proceso se inicia en la recolección de
los datos desde cualquiera de las tres fuentes de datos
descritas anteriormente; luego, los datos son recibidos
por el middleware que debe ser capaz de entender los
diferentes protocolos y de dirigir los datos
y metadatos a las bases de datos correspondientes.
2.2 CAPA DE PROCESAMIENTO
En esta capa se encuentran todas las funciones inherentes al almacenamiento de datos y las técnicas para producir información útil para los usuarios. A continuación se describen las funciones de los diferentes componentes:
2.2.1 Preprocesamiento
Los datos que provienen de los sensores pueden llegar
con algunos problemas, como por ejemplo caracteres
extraños, información incompleta o exceso de espacios
en blanco. Es por esta razón que el modelo debe
contemplar la inclusión de un componente que se
encargue de preparar la información antes de ser
procesada por las técnicas de minería de datos.
Entre las funciones de este componente están el
realizar la limpieza de los datos y llevar la información
a un formato único. Por limpieza se entiende eliminar
caracteres extraños y espacios adicionales. También,
deberá uniformar las escalas y realizar ajustes en el
formato de algunos tipos de datos, como por ejemplo
las fechas, que suelen venir en diferentes formatos.
Finalmente, debe convertir mediciones a rangos de
datos; por ejemplo, si se está midiendo ruido se pueden
definir escalas de decibeles para poderlas segmentar por
grupos (ejemplo: bajo, medio y alto) para su posterior
análisis.
Después de pasar por este módulo, la información
quedará normalizada para ser visualizada desde la capa
superior. Estará disponible para la consulta directa de
valores como el lugar de la medición, las fechas, los
datos clasificados por grupos, etc. y/o puede pasar al
Componente de Extracción donde se aplicarán técnicas
que permitan descubrir patrones en los datos.
2.2.2 Extracción
Dependiendo de las necesidades particulares del
problema que se está resolviendo, en este componente
se pueden implementar técnicas o utilizar sistemas
que apliquen técnicas de minería de datos para extraer
conocimiento útil, como por ejemplo: Weka, RapidMiner,
Orange, y Knime. Todas estas herramientas son de
código libre y abierto.
Tres ejemplos de técnicas de minería de datos
que pudieran ser de utilidad son: a) algoritmos de
segmentación (clustering) para obtener patrones
del comportamiento del agente contaminante, por
ejemplo patrones del comportamiento del ruido
según el tipo de actividad industrial; b) algoritmos de
análisis de secuencias o episodios frecuentes (frequent
patterns), para descubrir hechos comunes dentro de
un determinado conjunto de datos correspondientes
a un periodo determinado de tiempo y, c) técnicas de
clasificación para clasificar el ruido o la temperatura en
distintos niveles.
El uso de estas técnicas permitirá visualizar focos de
contaminación cuando se combinan determinados tipos
de factores, para hacer luego predicciones sobre los
comportamientos detectados. Las técnicas soportadas se
deberían poder aplicar de forma individual o combinada,
según el escenario donde se vayan a usar.
2.2.3 Almacenamiento
Este componente es el encargado de almacenar tanto los datos después de ser pre-procesados, como la información que resulta después de la aplicación de las diferentes técnicas de minería de datos. Una vez que la información se encuentra en este repositorio queda disponible para ser consultada por los módulos de la siguiente capa.
2.2.4 Acceso
Este componente gestiona la autenticación y la seguridad de la información, así como todos los datos relacionados con los usuarios, claves, perfiles y roles dentro del sistema.
2.3 CAPA DE VISUALIZACIÓN/PUBLICACIÓN
En esta capa se encuentran todas las funciones inherentes a la presentación de los datos, sus componentes realizan las siguientes funciones:
2.3.1 Visualización
Este componente se encarga de facilitar la presentación
de la información generada por el sistema, aprovechado
el hecho de que la información puede estar georeferenciada,
ya que al usarse teléfonos inteligentes,
que cuentan con sensores GPS, la información puede
asociarse al lugar donde ocurre la detección, lo que
facilita la ubicación de eventos y elementos en mapas
y diagramas.
Mediante este componente el usuario puede interactuar
con una interfaz web donde podrá solicitar la información
que requiera de forma gráfica, por ejemplo a través de
mapas de calor y diagramas polares (polar plots). Para
apoyar estos procesos se pudieran usar herramientas
como Google Maps y OpenStretView. La información
que manejarán los usuarios a través de las interfaces de
Visualización podrá ser en tiempo real, o por rangos de
tiempo, según sean sus necesidades.
2.3.2 Web Services
El modelo de referencia debe permitir consultas de usuarios o de otros servicios y aplicaciones a través de web services. De esta forma un sistema que implemente el modelo de referencia puede ser empleado como un componente o bloque de construcción que forme parte de sistemas más complejos y elaborados.
2.3.3 Informes para el Estado
Los requerimientos indican que la información sobre impactos ambientales debe presentarse a las empresas según los formatos que exigen los entes gubernamentales.
2.3.4 Redes Sociales
Este componente permitirá conectar al sistema que implemente el modelo de referencia a redes sociales, como Twitter y Facebook, para hacer notificaciones y seguimiento de determinados indicadores en zonas específicas. Así, la información podrá llegar a los usuarios de manera más rápida y eficiente, y éstos podrán consultarla donde quiera que se encuentren.
3. INSTANCIACIÓN DEL MODELO DE REFERENCIA
Para realizar la prueba de concepto se realizó la
implementación de un prototipo y se desarrolló un
conjunto de pruebas de campo en una empresa
perteneciente al sector automotriz. Durante estas
pruebas se realizaron mediciones de la contaminación
auditiva en las instalaciones de los talleres de la empresa
donde se reparan vehículos automotores
Debido a su naturaleza, la reparación de un vehículo es
una actividad que puede generar altos niveles de ruido.
Recientemente, la empresa ha mostrado interés porque
sus procesos industriales tengan un mínimo impacto
en el ambiente y ha hecho inversiones importantes
en esa línea. También ha manifestado querer mejorar
los entornos de trabajo de sus empleados, por lo que
desea saber en qué momentos y en qué sedes se están
presentando niveles altos de ruido que puedan afectar
el bienestar de las personas. Al tener esta información
se podrán tomar las medidas correctivas que se
requieren.
La empresa manifestó los siguientes requerimientos:
- El sistema debería presentar la información de
forma geo-referenciada y usar mapas de sus
diferentes sedes para ubicar con mayor facilidad los
eventos que se detecten.
- Los niveles de ruido se deberían poder clasificar en
una escala con niveles: alto, medio y bajo.
El prototipo se desarrolló utilizando los siguientes
componentes:
- Para el cliente móvil se empleó NoiseTube [36]. El
código fuente de NoiseTube está disponible bajo
licencia GNU LGPL v2.1
- Para el middleware se usó middlewaresn que
soporta el protocolo MQTT. La especificación del
protocolo MQTT se ha publicado abiertamente
con una licencia libre de regalías durante muchos
años. Middlewaresn es un producto de un Trabajo
de Maestría de la Pontificia Universidad Javeriana
(PUJ) [37].
- Para la comunicación del cliente móvil con Android
se usó mqtt-client-0.4.0 [38].
- Para procesar los datos se usó el algoritmo SMO
(sequential minimal optimization) de Weka [39]
(herramienta de código libre y abierto).
- Para los mapas el API de Google Maps [40].
A continuación se describe tanto el proceso de
recolección de datos, como la descripción detallada de
los componentes del modelo que fueron instanciados.
3.1 PROCESO DE RECOLECCIÓN DE DATOS
En algunos Smartphones que son propiedad de la empresa, se instaló un software para la medición de los decibeles de ruidos. El software fue desarrollado por la empresa NoiseTube y tiene versiones tanto para Android, como para iOS. El programa usa el micrófono del teléfono para capturar sonidos y ruidos. Para el prototipo se utilizaron dos Smartphone Samsung -un modelo Galaxy S2 y otro Galaxy S3- y un iPhone 4S. Estos dispositivos eran portados por dos personas que se encontraban en áreas seleccionadas. Se realizaron mediciones por dos semanas. Los datos fueron tomados por lapsos de tiempo de 5 minutos, cada 15 minutos por término de tres horas en cada sede. Los datos recolectados se enviaban al middleware por la red 3G o Wi-Fi.
3.2 COMPONENTES INSTANCIADOS DEL MODELO
3.2.1 Capa de Captura de Datos
En la Figura 4 se resaltan los componentes instanciados en la capa de captura (en gris), los cuales se explican posteriormente.
3.2.1.1 Smarphones y otros sistemas
En el prototipo, la captura de la información se puede realizar
por dos canales diferentes: por medio de Smartphones y
desde una plataforma externa (Otros Sistemas)
Para los Smartphones se usó un cliente de una plataforma
para medir la contaminación auditiva alrededor de
mundo (NoiseTube). El cliente de esta plataforma para
Android, fue modificado para que enviara la información
recolectada al middleware middlewaresn mediante
MQTT.
El otro punto de entrada al sistema lo conforma la información proveniente de plataformas que almacenan información sobre contaminación. La plataforma NoiseTube, ofrece un Web Service que permite, mediante una url extraer información de contaminación auditiva en un rango de tiempo y una ubicación determinada. Una aplicación en cualquier computador o dispositivo puede extraer estos datos de la plataforma y enviarlos al middlewaresn. Para poder enviar la información recolectada por los teléfonos inteligentes a la plataforma NoiseTube se instaló la aplicación cliente en un iPhone 4S. Este software, toma las medidas y luego las envía a la plataforma NoiseTube mediante http. A través de un Web Service se descarga la información de la plataforma.
3.2.1.2 Middleware
Para almacenar o clasificar la información que viene de
los dispositivos se usó el protocolo MQTT. El middleware
utilizado fue middlewaresn que soporta los protocolos
MQTT, UDP, SIP, HTTP. El middleware se modificó para
lograr la captura de los datos y que éstos se almacenaran
en una base de datos no relacional (MongoDB). A la
estructura original del middlewaresn se le agregaron
tres módulos, los cuales se pueden apreciar al estar
encerrados en cuadros como se observa en la Figura 5.
Los nuevos módulos tienen las siguientes funciones:
Cliente Móvil: Permite capturar información desde
dispositivos Smartphones con Android usando el
protocolo MQTT.
Plataformas de Mediciones de Ruido: Permite
la entrada de datos de contaminación desde otras
plataformas y sensores que se dedican a esta tarea.
Servidor de Bases de Datos no estructurados:
Permite el almacenamiento y la persistencia de la
información capturada de una forma más ágil.
3.2.1.3 Almacenamiento sin procesar
El almacenamiento se realiza en la base de datos no relacional, de código abierto, MongoDB. Esta base de datos fue seleccionada porque posee dos características muy importantes para el caso de estudio: primero, su gran velocidad de lectura y escritura de datos; en segundo lugar, su capacidad de hacer un manejo nativo de índices geo-referenciados. En la mayoría de los contextos donde se instancie el modelo de referencia será necesario contar con estas características debido a que la información que se captura son flujos continuos de mediciones, desde diferentes dispositivos al mismo tiempo, lo cual requiere de una importante velocidad de absorción de datos por parte del manejador de base de datos.
Para almacenar los datos en MongoDB se crearon dos Tablas o Collections: a) Una tabla llamada dependencias que almacena las coordenadas de la dependencia de donde se capturan los datos. A esta colección se le creo un índice geo-referenciado con el campo ubicación, así cuando la información es almacenada se hace una búsqueda de las coordenadas y se extrae la ubicación a la que pertenece; este dato se agrega a la información enviada por el Smartphone. En la segunda tabla llamada lecturaRuido se almacenan las mediciones realizadas por los diferentes dispositivos. La información que se recolecta contiene la fecha de la medición, la medición de ruido, la latitud y longitud desde donde se hizo la medición y la ubicación, que es el nombre del lugar desde donde se tomó el registro de medidas.
3.2.2 Capa de Procesamiento
En esta capa se instanciaron 3 de los 4 módulos: preprocesamiento, extracción y almacenamiento, tal como se puede apreciar en la Figura 6.
3.2.2.2 Extracción
Para atender a los requerimientos planteados por la empresa, es decir clasificar los niveles de ruido en alto, medio y bajo, se escogió el algoritmo SMO (Sequential Minimal Optimization), que es un algoritmo de aprendizaje supervisado para máquinas de soporte de vectores. Se estableció una clasificación de ruido con un nivel bajo con valores que van desde 1 a 55 decibeles, un nivel medio o normal con valores que van desde los 56 a los 80 decibeles y un nivel alto con valores comprendidos desde los 81 decibeles en adelante.
Se utilizó la implementación del algoritmo en Weka.
En el prototipo se integró una clase en Java con las
librerías de Weka para configurar este clasificador.
Utilizando el algoritmo se pudieron clasificar las medidas
de decibeles del ruido en tres niveles, a los cuales se
les asignó una paleta de colores. Esta asignación de
colores se hizo con el objetivo visualizar la información
a través de un mapa en la capa siguiente. Para el
nivel bajo se asignó el color verde; para el nivel medio
o normal, se asignó el color amarillo y para el nivel
alto se asignó el color rojo. Dentro de cada color se
manejan tonalidades de claro a oscuro a medida que el
valor de los decibeles aumenta.
Al clasificador de ruido se le envía el valor de los
decibeles de cada emisión y éste le retorna el color
que corresponde a ese valor, el cual es almacenado
posteriormente en la base de datos.
La relación entre los decibeles, los colores y la intensidad
se puede observar en la Tabla 1.
3.2.2.3 Almacenamiento
El módulo de Almacenamiento es el encargado de la persistencia de los resultados del algoritmo (los diferentes colores) en la base de datos de MongoDB para su posterior uso en la capa 3.
3.2.3 Capa de Visualización y Publicación
Para la instanciación del modelo, se decidió que en
esta capa únicamente se implementaría el módulo de
Visualización (Ver Figura 7), dado que con este módulo
ya se podían atender adecuadamente los requerimientos
de la empresa, y con el fin de poder contar rápidamente
con el prototipo para poder cumplir con la fase de
pruebas y evaluación.
La visualización de los niveles de ruido en las distintas
sedes de la empresa se realizó con ayuda de mapas
geográficos, utilizando el API de Google. Se generarán
puntos de colores, de acuerdo a la información presente
en la Tabla 1, desde donde se toman las mediciones. La
información visualizada en el mapa se hace de acuerdo
a los filtros de fecha inicial y final y al rango de horas
en las que desea revisar las mediciones (esto hace
parte de los parámetros del sistema). La información es
tomada de la base de datos de tabla lecturaRuido donde
se encuentran los códigos de colores que se generaron
en la capa 2. Ejemplos de los resultados se pueden
observar en las Figuras 8 y 9.
4. RESULTADOS
En el proceso de construcción de una instancia del
modelo de referencia para la contaminación auditiva, se
logró la rápida integración de componentes ya existentes
y de código abierto como el cliente de recolección de
ruido desarrollado por NoiseTube, el middlewaresn, el
componente de mqtt (agregado al cliente móvil), el
código de clasificación de Weka y el uso de librerías
Google Maps para la visualización de la información en
mapas según la ubicación de cada sede de la empresa.
La definición previa del modelo de referencia permitió
reducir el tiempo y la complejidad del ensamblaje de
todos los componentes, lo cual puede ser un factor que
incentive a las empresas al desarrollo y uso de este tipo
de sistemas para mejorar las condiciones del medio
ambiente y la salud en ambientes laborales.
Es importante que las herramientas sean de código
abierto o de elaboración propia ya que puede ser
necesario introducir modificaciones para el ensamblaje
de los componentes. Para construir el prototipo para la
contaminación por ruido fue necesario introducir algunas
modificaciones: por ejemplo, el cliente de NoiseTube
que funciona en los Smartphones fue modificado para
que ya no enviara los datos al servidor noisetube.net
sino que usara el protocolo de comunicaciones MQTT,
para enviar los datos al servidor middlewaresn. Este
middleware también se modificó para lograr que el
almacenamiento de los datos se realizara en una base
de datos MongoDB. Las Bases de Datos NoSql como
MongoDB son adecuadas para el manejo eficiente de
este tipo de datos recolectados con sensores por su
gran velocidad de lectura y escritura, así como por el
manejo nativo de índices georreferenciados.
De los resultados obtenidos a partir del prototipo implementado, podemos concluir que: con la información recolectada, procesada y visualizada en los mapas sobre los niveles de ruido de las cuatro sedes de la empresa, monitoreadas por dos semanas con un total de 243.000 muestras, se encontró que una de las sedes de la empresa estaba presentando niveles de ruido altos con respecto a las otras sedes. Al realizar una revisión en el sitio se observó que una de las causas era la falta de mantenimiento en unas máquinas del taller de pintura y el funcionamiento no adecuado de los gatos hidráulicos. También se pudo establecer que los tapa oídos usados en las tareas de latonería no tenían el suficiente aislamiento para el ruido generado en esta actividad y se procedió a reemplazarlos por unos más robustos en todas sus sedes.
5. TRABAJOS RELACIONADOS
En el artículo se ha propuesto un modelo de referencia que servirá de guía para la implementación de sistemas para la recolección y almacenamiento de datos de contaminación industrial provenientes de diferentes
tipos de sensores. El modelo sugiere diversas formas
de procesar la información para que, tanto usuarios,
como aplicaciones, puedan extraer conocimiento útil
y producir alertas que permitan a las empresas tomar
medidas tanto preventivas como correctivas.
Se desarrolló una instancia del modelo para la medición
de la contaminación auditiva en una empresa del sector
automotriz.
En esta sección se mencionan un conjunto de trabajos
relacionados. Los diversos trabajos tienen en común
las características presentadas en la primera columna
de la Tabla 2. Para hacer una descripción de estas
propuestas se comenzará con la descripción de aquellos
artículos que tienen menos semejanzas, hasta llegar a
aquellos que presentan mayor relación con el trabajo
aquí propuesto.
Hasenfratz y otros [43] presentan un sistema de detección
móvil de bajo consumo y bajo costo para el monitoreo
participativo de la calidad del aire. Utilizan hardware
“of-the-shelf” para monitorizar la concentración de
ozono. Su sistema, GasMobile, proporciona una alta
precisión de datos aprovechando lecturas de sensores
que se encuentran cerca de estaciones de medición
estáticas. Este trabajo aunque no propone un modelo
de referencia, se selecciona porque el sistema recolecta
datos de calidad del aire usando sensores en teléfonos
inteligentes.
En el trabajo de Godoy y otros [41] se recogen datos
ambientales, tales como temperatura ambiental, presión
relativa y humedad atmosférica, pero desde sensores
tipo motas. El objetivo de este artículo es la construcción
de un middleware que facilite la recolección, persistencia
y publicación de datos en la Internet. El middleware
se propone como una solución a la heterogeneidad
existente en sensores y plataformas de software. En
este sentido pudiera ser un componente del modelo
de referencia propuesto en este artículo, en su capa de
Captura de Datos. Los aspectos comunes se pueden
observar en la tabla: medición de variables ambientales
desde motas y consideración de la heterogeneidad.
Otro trabajo que también presenta estas tres
características en común de recolectar datos ambientales,
usar motas como nodos sensores y presentar
soluciones a la heterogeneidad en diversas plataformas
tecnológicas es el descrito por Navarro y otros [42].
En él los autores presentan el sistema INDAMS para la
integración y gestión de datos recolectados por redes
de sensores heterogéneas, e implementan un prototipo
para el monitoreo de variables ambientales.
En el trabajo de Lane y otros autores [23] también
se recolectan datos de contaminación auditiva desde
teléfonos inteligentes. Aunque no usan un modelo
de referencia, proponen una arquitectura de tres
capas similar a la propuesta en este artículo. Los
niveles definidos son: la capa de sensores, la capa de
aprendizaje (donde se aplican técnicas de minería de
datos) y la capa de visualización (donde se presenta la
información obtenida por medio de gráficas y tablas que
pueden ser compartidas en redes sociales).
Los siguientes dos trabajos proponen también una
arquitectura de tres niveles para la recolección,
procesamiento y visualización de la información. En
el trabajo de Chun-Hsiang Lee y otros [5], se plantea
el problema de gestionar una gran cantidad de datos
provenientes de sensores en dispositivos móviles de
forma colaborativa. Aunque no es particular para
datos de contaminación, si se abordan los problemas
de la heterogeneidad y disparidad de la información
recolectada, la existencia de propiedades de multiresolución
y multi-escala, diferentes niveles de
incertidumbre y confiabilidad de la información, como
por ejemplo, información generada por sensores
defectuosos, mal calibrados o información manipulada
maliciosamente. Otro aspecto común es que la
arquitectura propuesta persigue obtener un valor
adicional de los datos obtenidos usando técnicas de
minería de datos o texto.
Schweizer y otros [44] presentan una iniciativa para
la generación de mapas de calor que muestran la
contaminación causada por el ruido, la humedad, el
calor y el aire en la ciudad de Frankfurt. Esta iniciativa
usa la aplicación NoiseMap en los teléfonos inteligentes
para permite una mayor recolección de muestras
de ruido. Luego, las muestras son transmitidas al
servicio web Da sense [32]. Al igual que el modelo de
referencia propuesto, la arquitectura de este sistema
posee tres niveles: recolección a través de sensores,
procesamiento de la información y visualización. En el
artículo se presentan herramientas muy puntuales para
el procesamiento y visualización de datos (ejemplo
clustering y visualización a través de mapas de calor).
El modelo de referencia propuesto presenta una mayor
variedad de técnicas de minería de datos y otras
posibilidades para la capa de presentación como la
conexión a redes sociales y reportes para el estado.
6. CONCLUSIONES Y TRABAJOS FUTUROS
La contaminación industrial es un aspecto que afecta
en forma importante la sostenibilidad del planeta. Para
detectar la contaminación en forma oportuna y tomar
las medidas correspondientes se necesitan datos. Hoy
en día, se cuenta afortunadamente con la ayuda de
las redes de sensores que permiten recolectar grandes
cantidades datos en el ambiente. No obstante, no
es fácil procesar esta enorme cantidad de datos, más
aún si se toma en cuenta la diversidad de tecnologías
existentes.
Todo lo anterior motivó a diseñar el Modelo de Referencia
presentado en este artículo. El modelo debe
servir de guía para la construcción de sistemas que
utilicen los datos recolectados por redes de sensores y
provean información de utilidad para el diseño de estrategias
de prevención de la contaminación ambiental.
El modelo sirve de referencia para realizar el almacenamiento,
procesamiento y visualización/publicación
de la información de contaminación recolectada por los
sensores utilizando tecnologías existentes.
De la investigación realizada se pueden derivar una
serie de trabajos futuros entre los que se encuentran:
a) El desarrollo de módulos que permitan la entrada
de datos, no solo desde Smartphones, sino también
desde motas o desde sensores más tradicionales. Para
el uso de motas fijas en el área donde se desea medir
el impacto del ruido, es necesario tener en cuenta la
atenuación que sufre la onda de sonido, desde el lugar
donde se genera el ruido hasta el sensor que lo registra,
para poder aplicar el factor de corrección adecuado a
la medición. b) Hacer la verificación del rendimiento y
la disponibilidad del sistema cuando miles o millones
de sensores estén enviando información a un servidor.
c) A nivel de la capa 2 (Capa de Procesamiento)
sería interesante probar otras técnicas de minería de
datos. d) A nivel de capa 3 es importante instanciar
el resto de módulos propuestos para la presentación
de la información, como los Web Services y las redes
sociales. e) Hacer prototipos del modelo para resolver
otro tipo de problemas de contaminación (en el aire,
agua etc.); esto permitirá evaluar nuevos desafíos que
se pueden presentar en esos escenarios.
7. REFERENCIAS BIBLIOGRÁFICAS
[1] Lasso, J. C. (2014). La contaminación del aire,
el mayor problema ambiental de salud pública
en el mundo. Recuperado de: http://www.
radionacional.co/noticia/la-contaminaci-n-delaire-
el-mayor-problema-ambiental-de-salud-pblica-
en-el-mundo.
[2] García, S. (2015). Contaminación Industrial.
Recuperado de: http://www.elfinanciero.com.
mx/opinion/contaminacion-industrial.html
[3] Secretaría Distrital del Ambiente (s.f.).
Red de Monitoreo de Calidad del Aire de
Bogotá – RMCAB. Recuperado de: http://
ambientebogota.gov.co/red-de-calidad-del-aire
[4] Burke, J. A., Estrin, D., Hansen, M., Parker, A.,
Ramanathan, N., Reddy, S., Srivastava, M. B.
(2006). Participatory sensing. World Sensor
Web Workshop.
[5] Lee, C. H., Birch, D., Wu, C., Silva, D., Tsinalis,
O., Li, Y., Yan, S., Ghanem, M., Guo, Y. (2013).
Building a generic platform for big sensor data
application, in Big Data. In Proc. of the IEEE
International Conference on Big Data, 94–102.
[6] Levis, P., Culler, D. (2002). Maté: A tiny virtual
machine for sensor networks. ACM Sigplan
Notices, 37(10), 85-95.
[7] Barr, R., Bicket, J. C., Dantas, D. S., Du, B., Kim,
T. W., Zhou, B., Sirer, E. G. (2002). On the need
for system-level support for ad hoc and sensor
networks. ACM SIGOPS Operating Systems
Review, 36(2), 1-5.
[8] Hall, S. P., Anderson, E. (2009). Operating
systems for mobile computing. Journal of
Computing Sciences in Colleges, 25(2), 64-71.
[9] Srisathapornphat, C., Jaikaeo, C., Shen,
CC. (2000). Sensor information networking
architecture. Proceedings of the International
Workshops on Parallel Processing.
[10] Yu, X., Niyogi, K., Mehrotra, S.,
Venkatasubramanian, N. (2003). Adaptive
middleware for distributed sensor environments.
IEEE distributed systems online 5.
[11] Eclipse Mosquitto (2014). An Open Source
MQTT v3.1/v3.1.1 Broker iot.eclipse.org.
Recuperado de: http://mosquitto.org/
[12] Saffirio, M. (2010). Modelos de Referencia.
Recuperado de: https://msaffirio.
com/2010/11/01/modelos-de-referenciareference-
models/
[13] Akyildiz, I. F., Su, W., Sankarasubramaniam,
Y., & Cayirci, E. (2002). A survey on sensor
networks. Communications magazine, 40(8),
102-114.
[14] Kahn, JM., Katz, RH., Piste, KSJ. (1999). Next
century challenges: mobile networking for
smart dust. Proc. of the 5th annual ACM/IEEE
international conference on Mobile computing
and networking (Mobicom 99), Washington,
USA, 271–278.
[15] Culler, D., Estrin, D., Srivastava, M. (2004).
Guest editors’ introduction: Overview of sensor
networks. Computer, (8), 41-49.
[16] Lazarescu, M. T. (2013). Design of a WSN
platform for long-term environmental
monitoring for IoT applications. IEEE Journal
on Emerging and Selected Topics in Circuits
and Systems, 3(1), 45–54.
[17] Ferdoush, S., Li, X. (2014). Wireless sensor
network system design using Raspberry Pi
and Arduino for environmental monitoring
applications. Procedia Computer Science, vol.
34, 103-110.
[18] Arias, D. MR., Muñoz Rodríguez, F., Cely
Callejas, J. D. (2012). “Design of a sensor
network implemented in a monitored via
web prototype.” Proc. of the IEEE Colombian
Communications Conference (COLCOM 2012).
[19] Pico, P. (2012). Monitoreo del medio ambiente
basado en sensores.
[20] Liu, T., Martonosi, M. (2003). Impala: A
middleware system for managing autonomic,
parallel sensor systems. ACM SIGPLAN Notices
, 38(10), 107-118.
[21] Soini, M. N., Van Greunen, J., Rabaey, J. M.,
Sydanheimo, L. T. (2007). Beyond sensor
networks: Zuma middleware. Proc. of the
Wireless Communications and Networking
Conference (WCNC 2007), 4318-4323.
[22] Gerson, M. (Febrero 22, 2015). Smartphone
Sales Grew Almost 10% Last Quarter. Benziga.
Recuperado de: http://www.benzinga.com/
analyst-ratings/analyst-color/16/02/6493276/
smartphone-sales-grew-almost-10-last-quarter
[23] Lane, N. D., Miluzzo, E., Lu, H., Peebles, D.,
Choudhury, T., & Campbell, A. T. (2010). A survey
of mobile phone sensing. Communications
Magazine, 48(9), 140-150.
[24] De Sanctis, M., Stallo, C., Parracino, S.,
Ruggieri, M., Prasa, R. (2012). Interoperability
solutions between smartphones and wireless
sensor networks. In : Proc. in the IEEE
first AESS European conference on satellite
telecommunications (ESTEL 2012), 1-6.
[25] Zhang, J., Chen, C., Ma, J., He, N., Ren, Y.
(2011). USink: Smartphone-based moible sink
for wireless sensor networks. Proc in Consumer
Communications and Networking Conference
(CCNC2011), 90-95.
[26] Zöller, S., Reinhardt, A., Guckes, H., Schuller,
D., Steinmetz, R. (2011). On the integration of
wireless sensor networks and smartphones in
the logistics domain. Proc. of the 10th GI/ITG
KuVS Fachgespräch Drahtlose Sensornetze, 49-
52.
[27] González, R., Huerta, M. (2013). Análisis del
uso de teléfonos inteligentes como nodos de
una red inalámbrica de sensores. Infociencia 7,
35-41.
[28] Products-Libelium (Octubre 1, 2014). Libellium.
Recuperado de: http://www.libelium.com/es/
products/.
[29] Sensorcon (Octubre 1, 2014). Sensorcon
Catalog Our Single Gas Meters and
Environmental Sensors. Recuperado de: http://
sensorcon.com/products/
[30] Jain, N., Srivastava, V. (2013). Data Mining
techniques: A survey paper. IJRET: International
Journal of Research in Engineering and
Technology, 2(11), 116-119.
[31] Maimon, O., Rokach, L. (2005). Data mining
and knowledge discovery handbook 2. Springer,
New York.
[32] Da Sense (Septiembre 22, 2016) www.dasense.
de. Recuperado de: https://www.
tk.informatik.tu-darmstadt.de/de/research/
smart-urban-networks/da-sense/
[33] MQTT (diciembre 1, 2014) mqtt.org.
Recuperado de: http://mqtt.org/
[34] Shelby, Z., Hartke, K., Bormann, C. (Junio 2014)
The constrained application protocol (CoAP)
No. RFC 7252. Recuperado de: https://www.
rfc-editor.org/rfc/pdfrfc/rfc7252.txt.pdf
[35] Bormann, C., Z., S. (Agosto 2016) Block-
Wise Transfers in the Constrained Application
Protocol (CoAP). RFC 7959, DOI 10.17487/
RFC7959. Recuperado de: http://www.rfceditor.
org/info/rfc7959
[36] Maisonneuve, N., Stevens, M., Niessen, M. E.,
Steels, L. (2009) NoiseTube: Measuring and
mapping noise pollution with mobile phones.
Proc. of the Information Technologies in
Environmental Engineering, 215-228.
[37] Ruíz García, E. E. (2012) Integración de Redes
Inalámbricas de Sensores IEEE 802.15.4 en
Aplicacione USN. Memoria del Trabajo de
Grado de Maestria en Computacion y Sistemas,
Pontificia Universidad Javeriana, Bogota,
Colombia.
[38] MQTT (noviembre 15, 2014) mqtt-client : 0.4.0.
Recuperado de: https://www.versioneye.com/
java/org.eclipse.paho:mqtt-client/0.4.0
[39] Balam, L. A. Clasificación de temperatura con
weka en Java y NetBeans.
[40] Google Circles. Google Maps. Recuperado
de: https://developers.google.com/maps/
documentation/javascript/examples/circle-simple
[41] Godoy, D. A., Sosa, E. O., Neis, R., Díaz Redondo,
R. (2014). Ambientes Inteligentes: middleware
de soporte para la captura, almacenamiento y
publicación de datos de una red de sensores
inalámbricos. Proc. del XX Congreso Argentino
de Ciencias de la Computación, Buenos Aires.
[42] Navarro, M., Bhatnagar, D., Liang, Y. (2011)
An integrated network and data management
system for heterogeneous WSNs. IEEE Eight
International Conference on Mobile Ad-Hoc and
Sensor Systems, 819-824.
[43] Hasenfratz, D., Saukh, O., Sturzenegger, S.,
Thiele, L. (2012) Participatory air pollution
monitoring using smartphones. Proc. of the
2nd International Workshop on Mobile Sensing,
Beijing, China.
[44] Schweizer, I., Bärtl, R., Schulz, A., Probst, F.,
Mühläuser, M. (2011) NoiseMap-real-time
participatory noise maps. Proc. on the 2nd Int’l
Workshop on Sensing Applications on Mobile
Phones (PhoneSense’11).