FACYM: Prototipo de purificador de aire con monitoreo remoto.

161
UNIVERSIDAD ANDRÉS BELLO Facultad de Ingeniería Escuela de Industrias FACYM: Prototipo de purificador de aire con monitoreo remoto. Tesis de pregrado para optar al título de Ingeniero en Automatización y Robótica Autor: Diego Antonio Molina Aravena Profesor Guía: Néstor Palominos González Santiago de Chile, 2017

Transcript of FACYM: Prototipo de purificador de aire con monitoreo remoto.

UNIVERSIDAD ANDRÉS BELLO

Facultad de Ingeniería

Escuela de Industrias

FACYM: Prototipo de purificador de aire con monitoreo remoto.

Tesis de pregrado para optar al título de Ingeniero en Automatización y Robótica

Autor:

Diego Antonio Molina Aravena

Profesor Guía: Néstor Palominos González

Santiago de Chile, 2017

2

UNIVERSIDAD ANDRES BELLO

FACULTAD DE INGENIERÍA

ESCUELA DE INDUSTRIAS

INGENIERÍA EN AUTOMATIZACIÓN Y ROBÓTICA

DECLARACIÓN DE ORIGINALIDAD Y PROPIEDAD

Yo, Diego Molina Aravena, declaro que este documento no incorpora material de otros

autores sin identificar debidamente la fuente.

Santiago, Diciembre2017

_____________________________

Firma del alumno

3

Dedicado a todos los que creyeron

y me apoyaron en este camino,

a mis padres Jaime y a mis madres Patricia y Miriam

a mis hermanos Angela, Paloma y Jaime,

a mis suegros Jorge y Blanca,

a mi novia Carolina que me ha acompañado en este camino,

a todos aquellos que me apoyaron

y ayudaron en esta tarea

y a todos aquellos que creen

en la construcción de un mundo mejor.

Diego Antonio Molina Aravena

4

Agradecimientos

Agradecimientos para quienes confiaron y me apoyaron en este arduo camino, mi

familia, aunque fue complicado, me apoyaron en todas mis decisiones, siempre

motivándome y guiándome por el camino correcto.

Agradezco a mis compañeros y amigos, que siempre estuvieron conmigo,

ayudándome y permitiéndome obtener otro punto de vista en los momentos

difíciles.

Agradezco a mi novia Carolina, quien me acompaño en los momentos difíciles, su

incondicional apoyo, fue un escalón clave para lograr mis objetivos y llevar a cabo

esta dura tarea.

Agradezco a mi profesor guía y amigo, Néstor Palominos, quien me enseño y me

dio las herramientas a lo largo de mi etapa de formación, para lograr

desarrollarme, potenciarme y pulirme como un verdadero ingeniero.

5

Contenido

Agradecimientos ...................................................................................................... 4

Índice de figuras ...................................................................................................... 9

1 Antecedentes generales ..................................................................................... 17

1.1 Introducción ..................................................................................................... 17

1.2 Objetivos ......................................................................................................... 21

1.2.1 Objetivo general: .......................................................................................... 21

1.2.2 Objetivos específicos:................................................................................... 21

1.2.3 Carta Gantt : ................................................................................................. 22

2 Marco teórico ...................................................................................................... 24

2.1 Estado del arte ................................................................................................ 24

2.1.1 Descripción de la problemática .................................................................... 28

2.1.2 Impacto del proyecto .................................................................................... 28

2.2 Herramientas empleadas ................................................................................ 29

2.2.1 Cal sodada ................................................................................................... 29

2.2.1.1 Reacción química ...................................................................................... 29

2.2.1.2 Características de absorción ..................................................................... 30

2.2.2 Sensor de PH ............................................................................................... 31

2.2.2.1 PH ............................................................................................................. 31

2.2.2.2 Sensor de pH ............................................................................................ 32

2.2.3 Sensor de ............................................................................................. 34

2.2.4 Raspberry Pi ................................................................................................. 35

2.2.4.1 Hardware ................................................................................................... 36

2.2.4.2 Software .................................................................................................... 36

6

2.2.4.3 Raspberry Pi Zero W ................................................................................. 37

2.2.4.4 Ventajas .................................................................................................... 39

2.2.5 GPS .............................................................................................................. 40

2.2.5.1 Funcionamiento ......................................................................................... 40

2.2.5.2 Protocolo de comunicación ....................................................................... 41

2.2.6 GSM/GPRS .................................................................................................. 42

2.2.6.1 Concepto de funcionamiento ..................................................................... 42

2.2.6.2 Arquitectura de la red GSM ....................................................................... 43

2.2.6.3 Tarjeta SIM ................................................................................................ 45

2.2.6.5 GPRS ........................................................................................................ 46

2.2.6.6 Banda Ancha Móvil.................................................................................... 47

2.2.7 TCP/IP .......................................................................................................... 47

2.2.7.1 Definición ................................................................................................... 47

2.2.7.2 Modelo TCP/IP .......................................................................................... 49

2.2.7.3 Modelo OSI ............................................................................................... 51

2.2.7.4 Socket ....................................................................................................... 53

2.2.7.5 Encapsulamiento de datos ........................................................................ 54

2.2.7.6 Direcciones IP ........................................................................................... 55

2.2.8 MySQL ......................................................................................................... 56

2.2.9 Comunicación I2C ........................................................................................ 57

2.2.9.1 Protocolo de comunicación bus I2C. ......................................................... 58

2.2.9.2 Direccionamiento ....................................................................................... 60

2.2.10 Ventiladores eléctricos ............................................................................... 60

7

2.2.11 Panel solar fotovoltaico .............................................................................. 61

2.2.11.1 Tipos de paneles ..................................................................................... 62

2.2.11.2 Principio de funcionamiento .................................................................... 63

2.2.11.3 Sistemas fotovoltaicos autónomos .......................................................... 63

2.2.12 GNU/Linux .................................................................................................. 65

2.2.13 Python ........................................................................................................ 65

2.2.14 Conversor ADC .......................................................................................... 66

2.2.15 Labview ...................................................................................................... 67

2.2.15.1 Elementos de Labview ............................................................................ 68

3 Desarrollo del proyecto....................................................................................... 72

3.1 Modelamiento de la solución ........................................................................... 72

3.1 Ventajas y aplicaciones ............................................................................... 75

3.2 Raspberry ........................................................................................................ 76

3.3 Configuración y conexión remota .................................................................... 77

3.4 Conexión a internet mediante BAM ................................................................. 80

3.5 Comunicación serial con el GPS ..................................................................... 82

3.6 Conversor análogo-digital................................................................................ 87

3.7 Sensores del dispositivo .................................................................................. 93

3.7.1 Sensor de MQ-135 ............................................................................... 93

3.7.2 Sensor de PH de líquidos ............................................................................. 95

3.7.3 Medidor de carga de batería. ....................................................................... 98

3.8 Sistema de base de datos ............................................................................. 101

3.8.1 Implementación de MySQL en Raspberry .................................................. 101

8

3.8.2 Implementación del servidor web ............................................................... 105

3.8.3 MySQL en Python. ..................................................................................... 112

3.9 Configuración de la zona horaria ................................................................... 115

3.11 Cal sodada .................................................................................................. 116

3.12 Interfaz visual de monitoreo del dispositivo ................................................. 117

3.12.1 Toolkit GDatabase for MySQL™ .............................................................. 118

3.13 Programación en Labview ........................................................................... 121

3.14 Diseño de la placa PCB............................................................................... 127

3.15 Alimentación del sistema ............................................................................. 130

3.16 Diseño del sistema de tuberías internas...................................................... 132

4 Construcción del prototipo ............................................................................ 134

4.1 Confección del circuito PCB ...................................................................... 134

4.2 Sistema de tuberías ................................................................................... 138

4.3 Paneles solares ......................................................................................... 140

5 Resultados .................................................................................................... 141

5.1 Alcances y limitaciones ............................................................................. 141

5.2 Pruebas de funcionamiento ....................................................................... 142

5.2.1 Prueba del prototipo ............................................................................... 142

5.2.2 Prueba del monitoreo del dispositivo en Labview. ................................. 144

5.2.3 Prueba de funciones anexas de Labview. .............................................. 145

5.3 Análisis de resultado. ................................................................................ 148

6 Conclusiones ................................................................................................ 150

Bibliografía .......................................................................................................... 152

9

Anexos ................................................................................................................ 158

Codigo de Python ................................................................................................ 158

Programación en Labview ................................................................................... 161

Índice de figuras

FIGURA 1.1 GRAFICA DE LA EMISIÓN HISTÓRICA DE CO2 EN CHILE. .................................... 17

FIGURA 1.2 GRAFICA DEL PROMEDIO ANUAL DE CONTAMINACIÓN EMITIDA EN AMÉRICA

LATINA SEGÚN LA OMS ......................................................................................................... 18

FIGURA 2. 1PURIFICADOR DE AIRE SAMSUNG .......................................................................... 25

FIGURA 2. 2 PURIFICADOR DE AIRE TOYOTOMI SODIMAC ..................................................... 25

FIGURA 2. 3 SMOG FREE TOWER ................................................................................................. 26

FIGURA 2. 4CALGARY’S CARBON ENGINEERING....................................................................... 27

FIGURA 3.1 GRAFICA DE EFICIENCIA EN COMPARACIÓN CON OTROS ABSORBENTES ..... 30

FIGURA 3.2.1 ELECTRODO PH BNC ............................................................................................. 33

FIGURA 3.2.2 SENSOR DE PH DE LÍQUIDOS ............................................................................... 33

FIGURA 3.3.1 SENSOR MQ-135...................................................................................................... 35

FIGURA 3.4.1 GPIO’S RASPBERRY PI ........................................................................................... 36

FIGURA 3.4.2 RASPBERRY PI ZERO DIMENSIONADO. ............................................................... 37

FIGURA 3.4.3 RASPBERRY PI ZERO W. ........................................................................................ 38

FIGURA 3.5.1 SISTEMA DE SATÉLITES GPS ................................................................................ 41

FIGURA 3.5.2 TABLA DE DESGLOSE TRAMA GPRMC. ............................................................... 42

FIGURA 3.6.1 CELDAS DE UNA RED GSM. ................................................................................... 43

FIGURA 3.6.2 TARJETA SIM. .......................................................................................................... 46

FIGURA 3.7.1 DIAGRAMA PROTOCOLO TCP. .............................................................................. 48

FIGURA 3.7.2 DIAGRAMA PROTOCOLO IP. .................................................................................. 49

FIGURA 3.7.3 PROTOCOLOS RELACIONADO CON EL MODELO TCP/IP. ................................. 50

FIGURA 3.7.4 DIAGRAMA MODELO OSI. ....................................................................................... 53

FIGURA 3.7.5 DIAGRAMA FUNCIONAMIENTO SOCKETS. .......................................................... 54

FIGURA 3.7.6 EJEMPLO DE ENCAPSULAMIENTO DE DATOS.¡ERROR! MARCADOR NO

DEFINIDO.

FIGURA 3.8.1CONFIGURACION ELECTRÓNICA COMUNICACIÓN I2C. ..................................... 58

FIGURA 3.9.1 VENTILADOR ELÉCTRICO. ..................................................................................... 61

10

FIGURA 3.10.1 PANEL SOLAR FOTOVOLTAICO. ......................................................................... 62

FIGURA 3.10.2 CONFIGURACIÓN CLÁSICA DE UN SISTEMA FOTOVOLTAICO AUTÓNOMO. 64

FIGURA 3.11 CONVERSOR ANÁLOGO-DIGITAL ADS1115. ......................................................... 67

FIGURA 3.12.1 PANEL FRONTAL LABVIEW. ................................................................................. 69

FIGURA 3.12.2 VARIABLES SEGÚN COLOR Y DIMENSIÓN LABVIEW. ...................................... 69

FIGURA 3.12.3 INDICADORES Y CONTROLADORES DE VARIABLES EN LABVIEW. ............... 70

FIGURA 3.12.4 BUCLES DE PROGRAMACIÓN EN LABVIEW EN EL ORDEN DE FOR, WHILE Y

SWITCH -CASE. ....................................................................................................................... 70

FIGURA 3.12.5 WAVEFORM CHART LABVIEW. ............................................................................ 71

FIGURA 3.13 DIAGRAMA DE BLOQUES DEL PROYECTO ........................................................... 72

FIGURA 3.14 DIAGRAMA DE FLUJO DE RECOPILACIÓN DE DATOS DEL DISPOSITIVO ........ 73

FIGURA 3.15 DIAGRAMA DE FLUJO DEL PROGRAMA EN LABVIEW ......................................... 74

FIGURA 3.16.1 “RASPBIAN”. ........................................................................................................... 76

FIGURA 3.16.1 PROGRAMA “ETCHER”. ........................................................................................ 77

FIGURA 3.17.1 CONSOLA CON EL COMANDO IFCONFIG. ......................................................... 78

FIGURA 3.17.2 CONEXIÓN A ESCRITORIO REMOTO MEDIANTE WINDOWS. .......................... 79

FIGURA 3.17.3 VENTANA USUARIO Y CONTRASEÑA CONEXIÓN REMOTA. ........................... 79

FIGURA 3.17.4 VISUALIZACIÓN DE ESCRITORIO MEDIANTE CONEXIÓN REMOTA. .............. 80

FIGURA 3.18 VENTANA DE CONFIGURACIÓN CON INTERFAZ VISUAL DE SAKIS3G ............. 82

FIGURA 3.19.1 CONEXIÓN RASPBERRY CON MODULO GPS .................................................... 84

FIGURA 3.19.2 MINICOM COMUNICACIÓN GPS. ......................................................................... 85

FIGURA 3.19.3 DIAGRAMA DE FLUJO PROGRAMACIÓN DEL GPS. .......................................... 87

FIGURA 3.20.1 CONEXIÓN ADS1115 CON RASPBERRY. ............................................................ 89

FIGURA 3.20.2 CONFIGURACIÓN PIN “ADDRESS” ADS1115 ...................................................... 89

FIGURA 3.20.3 CONEXIÓN ADS1115 CON RASPBERRY. ............................................................ 90

FIGURA 3.20.4 LECTURA DEL PUERTO I2C COMUNICANDO RASPBERRY CON EL ADS1115.

................................................................................................................................................... 92

FIGURA 3.21.1 PIN-OUT SENSOR MQ-135. ................................................................................... 95

FIGURA 3.21.2 RESULTADO DE PRUEBAS CON PAPEL TORNASOL ........................................ 96

FIGURA 3.21.3 TABLA DE COLORES PAPEL TORNASOL ........................................................... 97

FIGURA 3.21.4 CONEXIÓN SENSOR DE PH CON RASPBERRY PI ............................................ 98

FIGURA 3.21.5CONFIGURACIÓN DIVISOR DE TENSIÓN. ........................................................... 99

FIGURA 3.22.1 CONSOLA DE RASPBERRY EJECUTANDO EL COMANDO IFCONFIG ........... 102

FIGURA 3.22.2 SERVIDOR APACHE2 DESDE LA RASPBERRY ................................................ 102

FIGURA 3.22.3 CONEXIÓN SERVIDOR MYSQL MEDIANTE RASPBERRY. .............................. 103

11

FIGURA 3.22.4 CONEXIÓN A PHPMYADMIN DESDE EQUIPO REMOTO ................................. 105

FIGURA 3.22.5 CREACIÓN DE MÁQUINA VIRTUAL EN DIGITALOCEAN.................................. 106

FIGURA 3.22.6 LANZAMIENTO DE CONSOLA EN DIGITALOCEAN. ......................................... 107

FIGURA 3.22.7 CONSOLA MÁQUINA VIRTUAL DE DIGITALOCEAN CON SISTEMA OPERATIVO

DEBIAN. .................................................................................................................................. 107

FIGURA 3.22.8 EJECUCIÓN COMANDO IFCONFIG EN CONSOLA DE DEBIAN. ..................... 110

FIGURA 3.22.9 PAGINA DE INICIO DE NUESTRO SERVIDOR APACHE2 MONTADO EN

SERVIDOR WEB. .................................................................................................................... 110

FIGURA 3.22.10 INICIO SERVIDOR PHPMYADMIN DE NUESTRO SERVIDOR WEB. ............. 112

FIGURA 3.23.1VISUALIZACION DE LA HORA EN NUESTRA RASPBERRY SIN CONFIGURAR.

................................................................................................................................................. 115

FIGURA 3.23.2 VISUALIZACIÓN DE LA HORA EN NUESTRA RASPBERRY CONFIGURADA. 116

FIGURA 3.24.1 PANEL FRONTAL DE LA INTERFAZ DE MONITOREO EN LABVIEW. ............. 118

FIGURA 3.24.2 VI PACKAGE MANAGER. ..................................................................................... 119

FIGURA 3.24.3 VENTANA DE INSTALACIÓN DE GDATABASE FOR MYSQL™ EN VI PACKAGE

MANAGER. ............................................................................................................................. 119

FIGURA 3.24.4 BLOQUE OPEN CONNECTION DEL TOOLKIT GDATABASE FOR MYSQL™.. 120

FIGURA 3.24.5 BLOQUE USE DATABASE DEL TOOLKIT GDATABASE FOR MYSQL™. ........ 120

FIGURA 3.24.6 BLOQUE SELECT QUERRY DEL TOOLKIT GDATABASE FOR MYSQL™....... 121

FIGURA 3.24.7 BLOQUE CLOSE DEL TOOLKIT GDATABASE FOR MYSQL™. ........................ 121

FIGURA 3.25.1 PROGRAMACIÓN DE BLOQUES PARA OBTENCIÓN DE INFORMACIÓN EN

TIEMPO REAL. ....................................................................................................................... 122

FIGURA 3.25.2 PROGRAMACIÓN DE BLOQUES PARA LA VISUALIZACIÓN DE LA UBICACIÓN

DEL DISPOSITIVO.................................................................................................................. 122

FIGURA 3.25.3 PROGRAMACIÓN DE BLOQUES PARA LA VISUALIZACIÓN DE LA TASA DE

PURIFICACIÓN DEL DISPOSITIVO. ...................................................................................... 123

FIGURA 3.25.4 PROGRAMACIÓN DE BLOQUES PARA LA OBTENCIÓN DEL PH DEL QUÍMICO

DEL DISPOSITIVO.................................................................................................................. 124

FIGURA 3.25.5 PROGRAMACIÓN DE BLOQUES PARA LA ALERTA POR CORREO

ELECTRÓNICO. ...................................................................................................................... 126

FIGURA 3.25.6 PROGRAMACIÓN DE BLOQUES PARA LA EXPORTACIÓN DE LA BASE DE

DATOS A EXCEL. ................................................................................................................... 126

FIGURA 3.26.2 DISEÑO PLACA PCB EN PROTEUS. .................................................................. 128

FIGURA 3.26.3 MODELADO 3D EN PROTEUS. ........................................................................... 129

12

FIGURA 3.26.4 CONFIGURACIÓN ELÉCTRICA DE REGULADORES DE VOLTAJE DE LA

FAMILIA LM78XX. ................................................................................................................... 129

FIGURA 3.27.1 SISTEMA DE ALIMENTACIÓN EN BASE A PANELES SOLARES. .................... 131

FIGURA 3.27.2 PANELES SOLARES CONECTADOS EN PARALELO. ...................................... 131

13

Resumen

El problema de la contaminación ambiental provocada por la emisión de CO2 en

las grandes ciudades específicamente en Santiago de Chile, se ha ido tornando

cada vez más grave y difícil que controlar.

Santiago se encuentra dentro de las 15 ciudades más contaminadas de Latino

América (World Health Organization, 2014). Hoy en día las autoridades proponen

diversas soluciones para mantenerlo controlado, pero no existe ninguna solución

definitiva ya que los actuales sistemas de purificación del aire implican altos costos

y gran mantenimiento, provocando que se opte por otras formas de controlar la

emisión de estos gases de invernadero.

La solución propuesta para esta problemática consiste en la instalación de un

dispositivo que limpie el aire del CO2 presente en él, que posea un sistema de

alimentación autónomo basado en energías limpias, con baja mantención y con un

sistema de monitoreo para esta, en donde nos permita acceder a su ubicación,

tasa de purificación del aire, estado del filtro y de su batería.

En este entorno, FACYM encaja perfectamente a la hora de ser una solución

concreta para la disminución del CO2 presente en el aire. Se cuenta con módulos

GPS para obtener su ubicación exacta en el mapa y GSM/GPRS obteniendo

conexión a internet mediante la red 3G permitirá monitorear el estado de las

variables contempladas por el dispositivo permitiendo un monitoreo detallado del

dispositivo en terreno.

En este proyecto, una placaRaspberry Pi Zero W será el encargado de adquirir los

datos desde los sensores instalados en el dispositivo para obtener la tasa de

purificación del aire, el estado del filtro, la carga de las baterías y mediante un

módulo GPS, se obtendrá su localización exacta. Luego mediante un módulo

GSM/GPRS tendrá comunicación con una base de datos en MySQL de la cual se

14

consultarán los datos y podrán ser visualizados en un HMI directo desde un

equipo remoto mediante Labview. Sin mencionar que tendrá un sistema de

alimentación completamente autónomo basado en la utilización de paneles solares

y cogeneración eólica mediante turbinas.

Una vez desarrollado el dispositivo se evaluó su desempeño en la comuna de

Quilicura, obtenido una purificación un volumen de 20 litros de CO2. Logrando

reducir en 480 litros de contaminación ambiental diario y se provee que con un

año de funcionamiento se purificaraaproximadamente 180000 litros de CO2

anuales.

FACYM es un dispositivo completamente innovador al momento de brindar una

solución factible, de bajo costo de implementación y de mantención a la hora de

disminuir la contaminación del aire provocada por la emisión de CO2.

Palabras clave: purificador de aire, Raspberry Pi Zero W, CO2

15

Abstract

The problem of environmental pollution caused by the emission of CO2 in large

cities, specifically in Santiago of Chile, has become increasingly serious and

difficult to control.

Santiago is among the 15 most polluted cities in Latin America (World Health

Organization, 2014). Today the authorities propose various solutions to keep it

under control, but there is no definitive solution since the current air purification

systems involve high costs and high maintenance, causing other ways to control

the emission of these greenhouse gases.

The solution proposed for this problem consists in the installation of a device that

cleans the air of CO2 present in it, that has an autonomous power system based

on clean energies, with low maintenance and with a monitoring system for it, where

Allow access to your location, air purification rate, filter status and your battery.

In this environment, FACYM fits perfectly when it comes to being a concrete

solution for the reduction of CO2 present in the air. There are GPS modules to

obtain their exact location on the map and GSM / GPRS obtaining an internet

connection through the 3G network will allow to monitor the status of the variables

contemplated by the device allowing a detailed monitoring of the device in the field.

In this project, a Raspberry Pi Zero W board will be responsible for acquiring the

data from the sensors installed in the device to obtain the air purification rate, the

filter status, the charge of the batteries and by means of a GPS module. You will

get your exact location. Then through a GSM / GPRS module you will have

communication with a database in MySQL from which the data will be consulted

and can be viewed in a direct HMI from a remote computer through Labview. Not

16

to mention that it will have a completely autonomous power system based on the

use of solar panels and wind cogeneration using turbines.

Once the device was developed, its performance in the commune of Quilicura was

evaluated, obtaining a purification volume of 20 liters of CO2. Achieving a

reduction of 480 liters of daily environmental pollution and providing a year of

operation to purify approximately 180000 liters of CO2 per year.

FACYM is a completely innovative device at the moment of providing a feasible

solution, low cost of implementation and maintenance at the time of reducing air

pollution caused by the emission of CO2.

17

1 Antecedentes generales

1.1 Introducción

Hoy en día la contaminación ambiental provocada por las emisiones de CO2 es

cada vez más alarmante. World Health Organization (2014) Chile se encuentra en

partida doble en las ciudades con peor calidad del aire en latino américa,

ubicándose Rancagua y Coyhaique en el séptimo lugar y Santiago en el décimo.

Pese a que Chile es el país con mayor cantidad de estudios sobre la calidad del

aire, este no ha mejorado con el paso de los años, ya que la cantidad de CO2

emitido al ambiente ha ido en alza año a año, alcanzando niveles críticos, los

cuales se pueden ver reflejados en la cantidad de smog presente en Santiago, los

múltiples planes de contingencia como lo son las restricciones vehiculares durante

el año y la cantidad de enfermedades respiratorias presentes en los meses de

invierno. Actualmente se ha logrado ir controlando la emisión de este

contaminante, pero no se ha llegado a ninguna solución que permita la

disminución de este.

Figura 1.1 Grafica de la emisión histórica de CO2 en Chile.

18

Refiriéndose a la anterior problemática es que se plantea una solución capaz de

disminuir la concentración de CO2 emitida a nuestra atmosfera, mejorando así la

calidad del aire para la biodiversidad, disminuyendo la temperatura urbana y

mejorando la calidad de vida de la población, sin conllevar un alto costo de

inversión ni de mantenimiento. Es por este motivo que FACYM es desarrollado,

con el fin de dar una solución factible para este problema, usando a favor las

tecnologías actuales y la sustentabilidad de las energías limpias, otorgando

múltiples beneficios no solo a la sociedad, sino también al medio ambiente en

donde vivimos.

Figura 1.2Grafica del promedio anual de contaminación emitida en América latina según la OMS

19

El dispositivo FACYM, está basado en el uso de un microcontrolador Raspberry Pi,

el cual cuenta con un módulo de conexión GSM/GPRS y otro de geo

posicionamiento GPS. El microcontrolador obtendrá los datos provenientes de sus

sensores, obteniendo así: el estado de la batería, la tasa de purificación del aire, el

estado del filtro y mediante su módulo GPS se obtendrá su ubicación. Estos se

obtendrán mediante la utilización de sensores de calidad del aire y un sensor de

PH de líquidos, los cuales serán utilizados en conjunto con un módulo ADC de 16-

bits.

Los datos anteriormente nombrados serán enviados mediante comunicación por

la red 3G directamente a un servidor de MySQL, con el fin de almacenar sus

datos. De esta manera la base de datos podrá ser consultada por una aplicación

desarrollada en el entorno de programación de Labview. Finalmente, el usuario

podrá visualizar los datos desde el computador, pudiendo observar su ubicación

en el mapa y el estado del dispositivo. Como ultima herramienta el dispositivo

constara con una alarma, la cual avisara al usuario mediante un correo electrónico

(definido por el usuario) cuando el dispositivo necesite de mantención.

Cabe destacar que el dispositivo constara con una alimentación eléctrica basada

en la utilización de energías limpias con el fin de no contribuir a la emisión de

CO2. Con la utilización de paneles solare y cogeneración eólica mediante sus

turbinas, el dispositivo dispondrá de una autonomía total para su funcionamiento.

Finalmente, el filtro de purificación del aire será constituido por Cal sodada.

En cuanto a la directriz de esta tesis, esta se encuentra destinada al desarrollo del

dispositivo en su totalidad, abarcando así las fases de investigación de la

problemática, desarrollo de protocolos y tramas de comunicación de la información

20

de este, modelamiento y confección del dispositivo, estudio técnico y finalizando

con su evaluación e implementación en terreno.

FACYM está enfocado directamente a la disminución del CO2 en el aire,

específicamente este será evaluado en Santiago de Chile, pero no se descarta ni

se limita su implementación en otras ciudades y lugares con el fin de disminuir la

huella de carbono y sus consecuencias como lo es el calentamiento global, sin

mencionar una mejora en la calidad del aire en las grandes ciudades.

21

1.2 Objetivos

1.2.1 Objetivo general:

Desarrollar un dispositivo de filtrado de aire que permita limpiar el aire de

contaminantes (CO2) presente en él, apuntando fundamentalmente a la

autonomía energética del dispositivo y un sistema de supervisión de estado

mediante una interfaz gráfica.

1.2.2 Objetivos específicos:

Implementar un sistema de alimentación basado en la generación de

energía mediante paneles solares, capaz de alimentar al dispositivo

brindándole autonomía energética.

Implementar un sistema de envió de datos de cuatro sensores analógicos

con el fin de censar la saturación del filtro, porcentaje de batería y la tasa de

purificación desde el dispositivo hacia una base de datos MySQL.

Desarrollar un sistema de purificación de aire mediante el uso de dos

turbinas, un filtro hecho de Sodasorb, siendo controlado por un

microcontrolador Raspberry Pi Zero W.

22

1.2.3 Carta Gantt :

Proyecto

Diseñador

Fecha de inicio

Fecha de termino

Carta Gantt

FACYM

Diego Molina

13 de Marzo del 2017

20 de Noviembre del 2017

tarea duracion (semanas)

1 Recopilacion de informacion 5

2 Redaccion del marco teorico 6

3 Diseño de la solucion 1

4 Desarrollo de lectura de sensores 1

5 Puebas de sensores con SODASORB 2

6 Desarrollo de la comunicación GSM GPRS 1

7 Desarrollo de la localizacion GPS 1

8 Desarrollo del servidor MySQL 1

9 Desarrollo de la comunicación del dispositivo con la base de datos 2

10 Desarrollo de la aplicación en JAVA 2

11 Desarrollo del diseño del dispositivo 2

12 Pruebas del dispositivo 3

13 Evaluacion del dispositivo 2

14 Redaccion de resultados 4

15 Diseño de la presentacion 4

23

24

2 Marco teórico

2.1 Estado del arte

En la actualidad, los sistemas de purificación de aire son considerados una

herramienta necesaria para los espacios confinados en donde no existe una

ventilación adecuada como es el caso de las mineras y excavaciones.

Mientras que en oficinas y espacios abiertos es considerado un gasto innecesario.

Sin embargo, el aumento de CO2 en la atmosfera provoca que ya sea una variable

por considerar, tanto en la salud de las personas, como en su rendimiento día a

día, provocando sensación de cansancio, perdida de concentración y dolor de

cabeza.

Actualmente los purificadores de aire a pesar de producir una efectiva limpieza de

este, su costo está bordeando los $100.000 y $200.000 siendo considerado un

gasto sobredimensionado para la inversión de privados. Sin considerar el gran

consumo energético que estos tienen, el cual bordea los 20 a 35 Watts,

provocando una contribución a la huella de carbono en la generación eléctrica y

manteniendo una mantención anual, la cual consiste en el cambio del filtro por

parte del usuario.

25

Figura 2. 1Purificador de aire Samsung

Figura 2. 2 Purificador de aire Toyotomi Sodimac

A nivel de limpieza ambiental actualmente existen proyectos enfocados a la

limpieza del aire de las grandes ciudades como lo es el “Smog Free Tower”, un

26

purificador de aire de 7 metros de alto que limpia 30000 de aire por hora, el

cual utiliza generación eólica y alimentación eléctrica externa. Como atractivo

principal, tiene la creación de joyería con las partículas de smog extraídas del

ambiente.

Figura 2. 3 Smog Free Tower

Actualmente existe un proyecto en Vancouver el cual extrae el CO2 del aire

mediante ventiladores gigantes, utilizando una seria de procesos químicos para

filtrar el CO2.

La fabricación de la planta costo 9 millones de dólares y tras 3 meses de

funcionamiento logro limpiar 10 toneladas de CO2, el cual planea tratarse para

poder producir combustibles ecológicos.

27

Figura 2. 4Calgary’s Carbon Engineering

A diferencia de los productos anteriormente mencionados, FACYM posee un costo

de producción inferior a los 90 mil pesos, cuenta con una mantención cada 5

meses por parte del productor, sin mencionar que, al poseer una alimentación

totalmente autosustentable, este no contribuye al aumento en la huella de carbono

por parte de la generación eléctrica, además de su fácil instalación en cualquier

lugar debido a su compacto tamaño y peso. Sin mencionar su fácil monitoreo

desde cualquier lugar del mundo, mediante acceso a internet.

28

2.1.1 Descripción de la problemática

El principal problema radica en la calidad del aire presente en las grandes

ciudades del mundo debido a la emisión de .

La falta de una medida para reducir y eliminar este contaminanteno ha permitido

encontrar una solución definitiva y óptima para esta problemática. Si bien,

actualmente existen dispositivos que permiten purificar el aire de manera continua,

estos poseen un elevado costo de implementación y mantenimiento, además de

funcionar con un consumo considerable de energía eléctrica, contribuyendo a la

huella de carbono, siendo soluciones poco eficientes y eficaces a la hora de

encontrar una solución.

2.1.2 Impacto del proyecto

Al observar los críticos niveles de que actualmente está alcanzando el aire en

las grandes ciudades. Es aquí en donde es imperativo encontrar una manera de

disminuir eficazmente la cantidad de , contemplando las ventajas y facilidades

de la comunicación inalámbrica como lo es el TCP/IP entre una Raspberry Pi,

Labview y MySQL, en conjunto a una red de sensores, geolocalización GPS y un

sistema de alimentación autónomo. Nos permitirá realizar una limpieza efectiva y

continua del presente en el aire, bajando los niveles de este y logrando una

mejor calidad del aire, de vida y de salud para la población.

29

2.2 Herramientas empleadas

2.2.1 Cal sodada

2.2.1.1 Reacción química

La reacción química global de la cal sodada es:

La reacción puede considerarse como catalizada por una base fuerte, mientras

que el agua la facilita.

Reacción química paso a paso:

30

2.2.1.2 Características de absorción

En un recipiente adecuadamente embalado y bien diseñado de aproximadamente

100 gramos de Sodasorb, absorberán 15 litros de dióxido de carbono. La

eficiencia de absorción puede verse alterada con el uso de altos flujos de gas,

disminución de humectación del absorbente y si el tiempo de contacto entre el

y el absorbente es menor a un segundo. (W.R.Grace & CO.-Conn, Manual of CO2

absorption, 1993)

Figura 3.1 Grafica de eficiencia en comparación con otros absorbentes

Para señalar el agotamiento progresivo del absorbente, se añade un colorante

durante su fabricación, el cual cambia de blanco a purpura a medida que se satura

el Sodasorb, la saturación total del Sodasorb se ve indicada con un color purpura

intenso. Cabe señalar que, dado que la reacción no es uniforme en todo el

recipiente, el cambio de color tampoco lo es, la zona de mayor reactividad (la

entrada del filtro) será mayor.

31

El color violeta es solo un indicador visual, pero también cuenta con Etil violeta, un

particular indicador cuyo PH critico es 10.3. Como el hidróxido de sodio (NaOH) se

consume y se sustituye por el hidróxido de calcio, el cambio de color es paralelo a

la caída de PH en el recipiente.

2.2.2 Sensor de PH

2.2.2.1 PH

Puesto que las concentraciones de los iones en disoluciones acuosas

con frecuencia son números muy pequeños y, por tanto, es difícil trabajar con

ellos, Soren Sorensen propuso, en 1909, una medida más practica denominada

pH. El pH de una disolución se define como el logaritmo negativo de la

concentración del ion hidrogeno (en mol/L)

[ ] [ ]

Hay que recordar que la ecuación es solo una definición establecida para tener

números convenientes con los cuales trabajar. El logaritmo negativo proporciona

un numero positivo para el pH, el cual, de otra manera, sería negativo debido al

pequeño valor de [ ]. Así, el termino [ ] en la ecuación solo corresponde a la

parte numérica de la expresión para la concentración del ion hidrogeno, ya que no

32

se puede tomar el logaritmo de las unidades. Entonces, al igual que la constante

de equilibrio, el pH de una disolución es una cantidad adimensional.

Debido a que el pH solo es una manera de expresar la concentración del ion

hidrogeno, las disoluciones acidas y básicas a 25°C se identifican por sus valores

del pH(Chang, 2010), como sigue:

[ ]

[ ]

[ ]

2.2.2.2 Sensor de pH

El sensor de pH con BNC para Raspberry Pi consta de dos partes que trabajando

en conjunto, logran completar el sensor de pH. La primera parte consta de la

sonda BNC de lectura, la cual tiene contacto directo con el líquido a censar y va

directamente conectado al sensor de pH con BNC, el cual va directamente

conectado alADC de 16-bits, pudiendo determinar el pH de una disolución entre 0-

14.

Sus características principales de funcionamiento son:

Voltaje de funcionamiento: 5V

Tamaño del sensor: 43x32 mm

Rango de medición: 0-14 pH

33

Precisión: ±0.1 pH (25°C)

Tiempo de respuesta: ≤ 1 min

Rango de temperatura: 0 – 60 °C

Figura 3.2.1 Electrodo pH BNC

Figura 3.2.2 Sensor de pH de líquidos

34

2.2.3 Sensor de

El sensor MQ-135 es un sensor análogo, fácil de implementar en cualquier

microcontrolador. Es un sensor electroquímico, que varía su resistencia eléctrica

cuando se expone a determinados gases.

Internamente posee un calentador encargado de aumentar la temperatura interna

y con esto provocar una reacción con los gases provocando un cambio de valor en

su resistencia.

El sensor MQ-135 está diseñado para la lectura de alcohol, benceno, humo,

Además de poseer una salida análoga, también posee una salida

digital con el fin de poder determinar si algunos de estos gases se encuentran

presentes en el aire.

Características principales de funcionamiento:

Voltaje de operación: 5V

Corriente de operación: 150mA

Potencia de consumo: 800mW

Tiempo de precalentamiento: 20 segundos.

Humedad de operación: <95%

Temperatura de operación: -20 – 70°C

35

Figura 3.3.1 Sensor MQ-135

2.2.4 Raspberry Pi

Raspberry Pi es un mini computador de tamaño compacto, económico y de gran

rendimiento. Sus características técnicas son variables según el modelo y cuenta

con un sistema operativo basado en Linux ARM.

Algunos modelos de Raspberry Pi traen integrada la conexión a internet mediante

WIFI y conexión Bluetooth, además de poseer GPIO’s de salida y de entrada, los

cuales pueden ser configurados para su uso. Esto le permite a la Raspberry Pi

establecer una comunicación serial mediante los puertos TX y RX y comunicación

I2C mediante los puertos SDA y SCL.

Raspberry Pi no posee un conversor análogo-digital integrado, pero mediante la

comunicación I2C se puede conectar a uno y obtener la lectura de sensores de

manera precisa.

36

Figura 3.4.1 GPIO’s Raspberry Pi

2.2.4.1 Hardware

El hardware de Raspberry Pi es básicamente un computador, el cual va variando

sus características según su modelo, pero todos tienen en común su memoria de

almacenamiento, la cual consta de una ranura para insertar memorias micro SD a

elección. Todos los modelos de Raspberry Pi cuentan con su procesador, su

memoria DDR2, tarjeta de video y distintos módulos de comunicación, entre los

cuales está la conexión Wifi, Bluetooth y cable de red.

Raspberry Pi cuenta con GPIO’s, los cuales se pueden configurar como entradas

o salidas digitales, o bien como puertos de comunicación. Esto permite que la

Raspberry Pi sea compatible con diversos módulos de comunicación como lo son

el puerto serial, I2C y SPI. Sumado a lo anterior cuenta con entradas USB, HDMI y

otra entrada de alimentación, esto permite montarla con teclado, mouse y pantalla,

similar a un computador de escritorio.

2.2.4.2 Software

Raspberry Pi funciona en base a sistemas GNU/Linux, pero el fabricante

recomienda la utilización de Raspbian, un sistema operativo derivado del Debian,

el cual esta optimizado para el hardware de la Raspberry Pi. Pero también

37

funciona con diferentes sistemas Linux, mientras este pueda funcionar bajo las

características del modelo de Raspberry Pi a utilizar.

Para poder efectuar programaciones utilizando nuestros GPIO’s se recomienda

utilizar Python, el cual viene por defecto instalado en Raspbian y se puede

desarrollar y ejecutar códigos mediante Python IDE o directamente desde la

consola de nuestro sistema operativo.

2.2.4.3Raspberry Pi Zero W

La Raspberry Pi Zero W es uno de los modelos de Raspberry Pi más pequeños,

ya que cuenta con dimensiones 65 mm de largo y 30 mm de ancho. Pero pese a

su pequeño tamaño cuenta con módulo Wifi y Bluetooth incorporados.(Raspberry

Pi, 2017)

Figura 3.4.2 Raspberry Pi Zero dimensionado.

38

Sus especificaciones técnicas son:

Procesador Broadcom BCM2835 de 1 GHz de un núcleo.

512 MB de memoria RAM

Posee un puerto mini-HDMI con salida 1080p/60p

Ranura para tarjetas MicroSD

Posee dos entradas de Micro-USB, una de alimentación y otra de

datos

Conector de cámara CSI

Wifi 802.11n

Bluetooth 4.0

Cabezal de 40 pines (GPIO’s)

Reloj tiempo real interno

Consumo de 160 mAh

(Casa Editorial El Tiempo, 2017)

Figura 3.4.3 Raspberry Pi Zero W.

39

2.2.4.4 Ventajas

Entre las ventajas de la utilización de Raspberry Pi en el proyecto son:

La compatibilidad con diferentes módulos de comunicación como lo son el

puerto UART y I2C.

Bajo costo en comparación con otras plataformas.

Su software es compatible con Python, facilitando su programación e

implementación en proyectos de comunicación mediante red.

Posee un lenguaje de programación flexible, simple y gracias a sus librerías

permite una fácil implementación de componentes y módulos.

Fácil acceso en el mercado de la placa y de componentes compatibles.

Gran velocidad y robustez en comparación con otros sistemas de Micro

control.

40

2.2.5 GPS

2.2.5.1 Funcionamiento

El sistema de posicionamiento global (GPS) está compuesto por una red de 24

satélites operacionales y 3 de respaldo, los cuales giran alrededor de la tierra,

dando dos vueltas al día dentro de una órbita muy precisa, transmitiendo señales

de radio a la tierra donde indican su ubicación y la hora que les entrega un reloj

atómico en su interior. Todos los satélites están sincronizados, así todos los

satélites emiten su información en el mismo instante. Los receptores reciben la

información y la utilizan para triangular y calcular su localización exacta en el

globo.

Las señales se mueven a la velocidad de la luz, pero llegan a los receptores a

distinto tiempo debido a que estos se encuentran a distintas distancias. Es por eso

que el receptor GPS compara el tiempo que toma una señal en llegar desde el

satélite al receptor, la diferencia en los tiempos de recepción con respecto a

diferentes satélites, le permiten al receptor determinar con gran exactitud su

posición y desplegarla en un mapa electrónico para el usuario del sistema.

Cuando el receptor considera la distancia de al menos 4 satélites, puede

determinar su posición en las tres dimensiones (Longitud, Latitud y Altitud).

Los receptores de GPS, calculan con velocidad y precisión los tres valores que

requieren para posicionarse en el mapa. El valor de Longitud, referente al

meridiano de Greenwich o Prime Meridian hacia el este (E) o hacia el Oeste (W),

41

el valor de Latitud con respecto a la línea del Ecuador, hacia el norte (N) o hacia al

Sur (S) y el valor de Altitud que es la referencia con respecto al nivel del mar.

Figura 3.5.1 Sistema de satélites GPS

2.2.5.2 Protocolo de comunicación

Actualmente los dispositivos GPS se comunican siguiendo un protocolo de

comunicación desarrollado por la NMEA (National Marine Electronics Association),

la cual propone diversos formatos de comunicación, uno de los más utilizados es

el formato GPRMC, la que contiene una trama de comunicación, la cual contiene

información de la hora, fecha, posición, dirección y velocidad. Siguiendo una

estructura definida y permitiendo obtener la información de manera simple y

eficiente.

A continuación, se muestra un ejemplo de la trama GPRMC real y su significado:

$GPRMC,064951.000,A,2307.1256,N,12016.4438,E,0.03,165.48,260406,3.05,W,A*2C

42

Figura 3.5.2 Tabla de desglose trama GPRMC.

2.2.6 GSM/GPRS

2.2.6.1 Concepto de funcionamiento

Las redes de telefonía móvil se basan en el concepto de celdas, es decir, zonas

circulares que se superponen para cubrir una zona específica. La cual, en

43

conjunto de un receptor transmisor central en cada celda, denominado “estación

base” o “Estación base transceptora” (BTS).

Cuanto menor sea el espacio abarcado por una celda, mayor será el anche de

banda disponible. Por lo que, en zonas urbanas, hay celdas con radio de unos

cientos de metros, mientras que en zonas rurales hay celdas de hasta 30 Km de

cobertura.

Figura 3.6.1 Celdas de una red GSM.

2.2.6.2 Arquitectura de la red GSM

En una red GSM, el terminal de usuario se llama estación móvil. Esta consiste en

una tarjeta SIM (módulo de identificación de abonado), la cual permite identificar al

usuario y su dispositivo de manera única.

Los terminales se identifican mediante una numeración única de 15 dígitos

conocido como IMEI (identificación internacional de equipos móviles). Cada tarjeta

Sim posee un número de identificación único denominado IMSI (identificador

internacional de abonados móviles). Este código se protege mediante una clave

de 4 dígitos denominada código PIN.

44

La tarjeta SIM permite identificar a cada usuario independiente de la terminal

utilizada durante la comunicación con la estación base. La comunicación entre una

estación móvil y una estación base se produce mediante un vínculo de radio,

denominado interfaz de aire.

Todas las estaciones bases de una red GSM están conectadas a un Controlador

de estaciones base (BSC), la cual, administra la distribución de los recursos. El

sistema compuesto por un conjunto de estaciones bases y su controlador de

estaciones base se denomina Subsistema de estaciones base (BSS).

Los controladores de estaciones bases están físicamente conectados al centro de

conmutación móvil (MSC) que los conecta a la red de telefonía pública y con la red

de internet. El centro de conmutación móvil pertenece a un Subsistema de

conmutación de red (NSS), el cual gestiona las identidades de los usuarios y

ubicación, además de establecer la comunicación con otros usuarios.

El MSC se conecta a diversas bases de datos que proporcionan diferentes

funciones adicionales:

Registro de ubicación de origen (HLR): Contiene información sobre la

posición geográfica y administrativa de los abonados registrados

dentro de la zona del conmutador MSC.

Registro de ubicación de visitante (VLR): Contiene información de

usuarios que no son abonados locales. El VLR recupera los datos de

un usuario nuevo en la HLR dela zona, estos datos se conservan

mientras el usuario este dentro de la zona y se eliminan en cuanto

45

abandona la zona o después de un periodo de inactividad

prolongado.

Registro de identificación del equipo (EIR): Contiene la lista de

terminales móviles existentes en la zona.

Centro de autentificación (AUC): verifica las identidades de los

usuarios.

a red celular está diseñada de esta manera para permitir movilidad a través de la

gestión de traspasos entre una celda y otra.

2.2.6.3 Tarjeta SIM

La tarjeta SIM (subscriber identy module) es una tarjeta inteligente usada en

dispositivos móviles con el fin de almacenar de forma segura la clave de servicio

del abonado o suscriptor para poder ser identificado en una red GSM.

Contiene la siguiente información:

Número telefónico del abonado (MSISDN).

Número internacional del abonado (IMSI).

Estado de la tarjeta SIM.

Código de servicio del operador.

Clave de autentificación.

El PIN (código de identificación personal).

46

El PUK (código personal de desbloqueo).

Figura 3.6.2 tarjeta SIM.

2.2.6.5 GPRS

El servicio general de paquetes vía radio GPRS (General Packet Radio Service),

fue desarrollado en la década de 1980. Corresponde a una extensión de sistema

GSM para la transmisión de datos mediante conmutación de paquetes.

Una conexión GPRS ofrece servicios como el Wireless Application Protocol

(WAP), servicio de mensajes cortos (SMS), Multimedia Messaging System (MMS),

internet, correo electrónico y la World Wide Web (WWW).

Los servicios de paquetes GPRS están orientados al tráfico de paquetes de datos

y conmutación de paquetes mediante radio enlaces, lo cual permite enviar tramas

de datos o paquetes de manera segura y eficiente.

47

2.2.6.6 Banda Ancha Móvil

La banda ancha móvil (BAM) es un servicio de internet otorgado por algunos

proveedores de telefonía, que cuenta con un modem USB, el cualpermite

conectarse a internet mediante la red GSM/GPRS en cualquier zona que posea

cobertura.

Para poder conectarse a internet mediante BAM se debe constar con un modem

USB otorgado por el proveedor del servicio. Ademas se debe contar con una

configuración APN (Access Point Name) para poder acceder a la red, un usuario y

una contraseña determinada.

El modem a utilizar es un USB ZTE MF669, el cual es compatible con las

frecuencias 3G de 1920-2170 MHz a una velocidad de transmisión de 21.6 Mb/s y

con un almacenamiento de hasta 32 Gb. Incorpora las funciones de servicios

SMS, manejo de aplicaciones y soporte de tarjetas microSD.

2.2.7 TCP/IP

2.2.7.1 Definición

El protocolo de control de transmisión (TCP) y el protocolo de internet (IP), en

conjunto TCP/IP es un sistema de protocolos que permiten llevar a cabo servicios

como Telnet, FTP, E-mail, etc. Entre ordenadores que no pertenecen a una misma

red física.

48

El protocolo de control de transmisión (TCP) permite a dos anfitriones establecer

una conexión e intercambiar datos, garantizando la entrega de datos durante la

transmisión sin modificar su orden al ser enviados.

El protocolo de internet (IP) utiliza series de cuatro números octetos (Byte) con

formato de punto decimal como direcciones para el enrutamiento en élenvió de

paquetes de datos.

El modelo TCP/IP está dividido en diversos módulos, cada uno realiza una tarea

específica y estas se realizan de manera secuencial, logrando un sistema

estratificado. De esta manera un mensaje enviado por la red atraviesa distintos

niveles de protocolos, siendo procesado por cada nivel, luego les agrega un

elemento de información (encabezado) y los envía a la capa siguiente.

Figura 3.7.1 Diagrama protocolo TCP.

49

Figura 3.7.2 Diagrama protocolo IP.

2.2.7.2 Modelo TCP/IP

El modelo TCP/IP utiliza un enfoque modular, ya que tiene 4 módulos con tareas

muy diversas.

Las capas del modelo TCP/IP son las siguientes:

1) Capa física: Describe las características físicas de la comunicación,

como las convenciones sobre el medio usado para la comunicación

(cable, fibra óptica o radio), y todos los detalles como los conectores,

códigos de canales y modulación de señales, etc.

2) Capa de enlace de datos: Esta capa especifica como son

transportados los paquetes sobre el nivel físico, incluyendo los

delimitadores (patrones de bits que marcan el inicio y el fin de cada

trama).

50

3) Capa de internet: El nivel de red soluciona el problema de transporte

de paquetes por una red.

4) Capa de transporte: Esta capa resuelve los problemas de fiabilidad

(confirmación en la recepción de información), la seguridad en el

orden de los datos y determina el destino de los datos.

5) Capa de aplicación: En este nivel aplicaciones especificas pasan

datos a nivel de aplicación, los cuales son codificados de acuerdo a

protocolos estándares.

Figura 3.7.3 Protocolos relacionado con el modelo TCP/IP.

51

2.2.7.3 Modelo OSI

Similar al modelo TCP/IP el modelo OSI (interconexión de sistemas abiertos) es

un modelo de 7 capas desarrollado por la organización internacional para la

estandarización (ISO) para estandarizar las comunicaciones entre equipos de una

red.

Cada capa del modelo OSI incorpora protocolos de comunicación diferentes, los

cuales van desde la parte más orientada al hardware (parte física) hasta la parte

más lógica y cercana al usuario.

Las capas del modelo OSI son las siguientes:

1) Capa física: Define la forma en la que los datos se transforman

físicamente en señales digitales en los medios de comunicación.

Maneja elementos relacionados al hardware como conectores,

cables y componentes de interfaz mediante pulsos eléctricos,

definiendo las especificaciones eléctricas y físicas de los dispositivos.

2) Capa de enlace de datos: Provee los medios funcionales y de

procedimiento para el envió de información entre equipos

pertenecientes a una red y detectar e intentar corregir errores

provenientes de la capa física.

3) Capa de red: Provee los medios funcionales y de procedimiento para

enviar secuencia de datos de diversa longitud de un equipo

conectado a la red (Host de origen) a un equipo de destino

conectado a una red diferente (Host de destino), mientras mantiene

el mensaje después de atravesar la capa de enlace. La capa de red

52

realiza el ruteo del mensaje mediante el uso de Routers, los cuales

trabajan en conjunto formando una red extendida.

4) Capa de transporte: Provee una transferencia de datos transparente

para el usuario final, mediante un servicio de transferencia confiable

para las capas superiores. Esta capa controla la confiabilidad de un

enlace dado mediante el control de flujo, segmentación y control de

errores. La capa de transporte puede mantener un seguimiento de

los segmentos y retransmitir los que fallan, también emite una

confirmación de que la transmisión fue exitosa.

5) Capa de sesión: Esta capa controla las conexiones entre

computadoras. Establece, administra y finaliza las conexiones entre

aplicaciones locales y remotas. Esta capa es la responsable del

cierre correcto de sesiones, el checkpoint de sesiones y

recuperación.

6) Capa de presentación: Esta capa establece contexto entre entidades

en la capa de aplicación, en los cuales las entidades pueden ocupar

sintaxis y semánticas diferentes, realizando un mapeo entre ambas.

Esta capa provee independencia de representación de datos

mediante la traducción entre los formatos de aplicación y red,

dándole formato y cifrando los datos que serán enviados a través de

la red.

7) Capa de aplicación: Es la capa más cercana al usuario final ya que

interactúan directamente con la aplicación de software

53

Figura 3.7.4 Diagrama modelo OSI.

2.2.7.4 Socket

Un socket es un método para la comunicación entre un programa del cliente y un

programa del servidor de una red, para enviar un elevado número de datos de

manera eficiente y segura.

Un socket está definido por:

Un par de direcciones IP local y remota, las que definen el equipo de

salida y el equipo de llegada del socket.

Un protocolo de transporte define el protocolo a utilizar.

54

Un par de número de puerto local y remoto, para determinar el puerto

de conexión entre los dos equipos.

Figura 3.7.5 Diagrama funcionamiento sockets.

2.2.7.5 Encapsulamiento de datos

Durante la comunicación entre dos hosts, los paquetes de datos deben ser

empaquetados para su envió en un proceso que se llama encapsulamiento.

El encapsulamiento agrega información de protocolo necesaria antes de iniciar el

tránsito por la red. Por ende, a medida que los datos se mueven a través de las

capas del modelo OSI recibe encabezados, los cuales recopilan la información

para garantizar la transmisión de datos. Después de atravesar cada capa, el

encabezado se lee y después se elimina, volviendo el mensaje a su estado

original.

55

En cada nivel se le agrega un encabezado cambiando su aspecto. Por lo tanto, las

designaciones cambian según las capas. El paquete de datos se denomina

mensaje en la capa de aplicación, luego al pasar a la capa de transporte se

encapsula en forma de segmento. Una vez en la capa de internet se encapsula y

pasa a llamarse datagrama. Para luego hablar de un datagrama a nivel de capa de

acceso de red.

2.2.7.6 Direcciones IP

Las direcciones IP sirven para la identificación de equipos conectados a una red.

Dependiendo del tipo de red en la que se desarrolle la comunicación podremos

determinar distintos tipos de direcciones IP.

56

1) IP Local: Esta dirección IP es la que se ocupan en redes privadas o

locales (LAN).

2) IP Publica: Esta dirección IP se ocupa para identificar el equipo dentro

de una red global de internet y esta puede clasificarse en dos tipos.

a) IP Publica Dinámica: Este tipo se le asigna al equipo por el

proveedor de servicios de internet (ISP) cada vez que el equipo

establece conexión con la red.

b) IP Publica Estática: Este tipo se refiere a una dirección IP definida

que tiene el equipo, independiente de cuantas veces realice

conexión.

2.2.8 MySQL

MySQL es un sistema de administración de base de datos de código abierto,

basado en lenguaje de consultas estructurado (SQL).

Una base de datos es un conjunto de información o datos agrupados y

estructurados en forma de tablas, los cuales puede ser explorado y consultados

por sistemas de administración de base de datos. Una base de datos permite

consultar los datos mediante el uso de reglas lógicas (comandos), acceso a los

datos mediante múltiples usuarios, seguridad de acceso, respaldo de datos e

independencia lógica y física de los datos guardados.

57

Entre las ventajas de ocupar MySQL como sistema de administración de base de

datos se encuentra:

Su velocidad y rendimiento en el procedimiento de consulta.

Bajos requerimientos de hardware para su funcionamiento.

Fácil implementación de servidores y es soportado por múltiples

sistemas operativos.

Baja probabilidad de sufrir daños en los datos de la base.

Su conectividad, velocidad y seguridad, permiten mantener un

servidor de base de datos de manera segura y eficiente.

2.2.9 Comunicación I2C

El protocolo de comunicación bus I2C es un sistema de intercambio de

información en serie mediante la utilización de dos líneas de señal. Una de ellas,

marca el tiempo (pulsos) y la otra se utiliza para el intercambio de datos. La señal

SCL (System Clock) marca los pulsos de sincronización y la señal SDA (System

Data) es la encargada del movimiento de datos entre dispositivos. Estas líneas

permiten la conexión en paralelo de varios dispositivos a la vez, mediante una

configuración electrónica determinada, conectando múltiples entradas y salidas

dentro del mismo bus de información.

58

Figura 3.8.1Configuracion electrónica comunicación I2C.

2.2.9.1 Protocolo de comunicación bus I2C.

Debido a que existen diversos dispositivos conectados al bus, se crea una relación

maestro-esclavo, siendo el maestro el encargado de iniciar la comunicación.

El bus se encuentra libre cuando ambas señales se encuentran en estado lógico

alto. Entonces el maestro inicia la comunicación mediante la condición “start”, la

cual invierte el estado de la línea SDA.

FIGURA 3.8.2 CONDICIÓN “START” COMUNICACIÓN I2C.

59

Luego de iniciar la comunicación se envía la dirección del dispositivo que se desea

seleccionar y un bit que define la operación a realizar (lectura/escritura). Si la

dirección se encuentra en el bus, este envía un bit de reconocimiento (ACK),

reconociendo la solicitud y se establece la comunicación, condicionada por el bit

R/W (lectura/escritura), si se escribe la comunicación continua hasta que se hayan

transmitido la totalidad de los datos y si se reciben datos, se envían bytes de

reconocimiento y se mantiene la comunicación mediante condiciones de

sentencias de inicio reiteradas, hasta que se ejecuta la sentencia “stop” y la

comunicación se detiene.

FIGURA 3.8.3BITS PARA ESTABLECER LA COMUNICACIÓN I2C.

FIGURA 3.8.4 CONDICIÓN “STOP” COMUNICACIÓN I2C.

(Robots Argentina, 2017)

60

2.2.9.2 Direccionamiento

Comúnmente los dispositivos que se comunican mediante bus I2C utilizan

direcciones de 7 bits, aunque existen dispositivos con direcciones de 10 bits. Una

dirección de 7 bits implica que se pueden tener hasta 128 dispositivos conectados

al bus.

Cuando se envían las direcciones, se componen por cadenas de 8 bits, las 7

primeras son la dirección y el octavo bits define si es lectura o escritura. Los

primeros 7 bits manejan la dirección mediante la utilización de un numero

hexadecimal

2.2.10 Ventiladores eléctricos

Un ventilador es una máquina de fluido, la cual genera la presión necesaria para

mantener un flujo continuo de aire. Su funcionamiento se basa en el uso de

energía eléctrica en forma de corriente continua.

El ventilador a utilizar será un Brushless DC Fan modelo 4010s, un pequeño

ventilador de anta potencia y bajo consumo. Sus especificaciones técnicas son las

siguientes:

61

Voltaje de operación: 7 ~ 13.8 v

Corriente de operación: 150mA

Potencia de consumo: 1800mW

Revoluciones por minuto: 7000

Caudal máximo:

Presión estática máxima: 36.87 Pa

Dimensiones: 40x40x10 mm

Figura 3.9.1Ventilador eléctrico.

2.2.11 Panel solar fotovoltaico

Los paneles o módulos fotovoltaicos están formados por un conjunto de células

fotovoltaicas que producen electricidad a partir de la luz que incide sobre ellos

mediante efecto fotoeléctrico.

Los paneles a utilizar en el proyecto poseen las siguientes características:

Potencia de generación: 2.5W

Voltaje de operación: 12V

62

Tipo de panel: Policristalino

Dimensiones: 19,4x12x0,3 cm

Peso: 70g

Figura 3.10.1 Panel solar fotovoltaico.

2.2.11.1 Tipos de paneles

Los paneles fotovoltaicos se clasifican según el tipo de célula que los conforman.

Los tipos de paneles según su cristalinidad son:

Monocristalinas: El panel se compone por secciones de un único cristal de

silicio.

Policristalinas: El panel está formado por pequeñas partículas cristalizadas.

Amorfas: Se le denomina amorfos cuando el silicio al interior del panel no

se utiliza en forma de cristales.

63

2.2.11.2 Principio de funcionamiento

Los paneles solares fotovoltaicos se rigen por determinados principios para su

funcionamiento:

Los fotones provenientes de los rayos solares que impactan sobre la

primera superficie son absorbidos por múltiples semiconductores como el

silicio.

Los electrones que se encuentran en la periferia son golpeados por los

fotones, siendo liberado de su órbita separándose del núcleo.

Un conjunto de paneles transforma la energía solar en energía eléctrica, en forma

de corriente continua (DC).

2.2.11.3 Sistemas fotovoltaicos autónomos

Un sistema fotovoltaico autónomo (SFA), es aquel sistema alimentado por paneles

solares fotovoltaico capaz de satisfacer el consumo de cargas eléctricas no

conectadas a la red, con la implementación de un sistema de acumulación

energética para mantener su funcionamiento en periodos que el consumo

energético es mayor a la generación eléctrica.

64

Figura 3.10.2 Configuración clásica de un Sistema fotovoltaico autónomo.

Los componentes que conforman un sistema fotovoltaico autónomo son:

Acumulador electroquímico: Es una batería recargable capaz de almacenar

energía eléctrica mediante procesos electroquímicos. Debe ser de mayor

capacidad que la necesaria por el circuito, incluyendo los momentos que el

sistema no esté generando, brindándole autonomía al sistema.

Regulador de carga: Un regulador de carga es un equipo electrónico capaz

de evitar la sobrecarga y la descarga excesiva de un acumulador, mediante

la desconexión de la batería al generador o al consumo cuando se alcanzan

determinados estados determinados por la tensión del sistema.

Carga: Todo dispositivo que necesite ser alimentado por el sistema

fotovoltaico.

65

2.2.12 GNU/Linux

GNU/Linux es un sistema operativo open-source que puede funcionar con una

interfaz gráfica de por medio o directamente desde líneas de comandos. Es un

sistema multitareas, multiusuario y compatible con UNIX.

Sus orígenes radican en los años noventa cuando Linus Torvalds, un estudiante

finlandés que creo un sistema operativo nuevo, cambiando el núcleo o kernel de

un sistema operativo en desarrollo denominado GNU y desarrollado por Richard

Stallman. A este nuevo sistema lo denomino Linux y al poseer herramientas de

GNU paso a ser GNU/Linux.

Dentro de sus versiones mas populares, se encuentra Debian, una distribución

actualmente mantenida por una red de desarrolladores voluntarios, los que han

mantenido los principios del software libre. En base a este sistema nace Raspbian,

un sistema operativo desarrollado por Raspberry Pi, el cual esta optimizado para

el funcionamiento con el hardware de la Raspberry Pi.(Ciberaula, 2017)

2.2.13Python

Python es un lenguaje de programación de scripting, de propósito general y

orientado a objetos. Puede utilizarse tanto como en aplicaciones de Windows,

servidores web, GNU/Linux y páginas web.

66

Python es un lenguaje interpretado, esto significa que no es necesario compilar el

código para ser ejecutado, lo que permite una mayor rapidez de desarrollo y

simplicidad en su ejecución.

Entre las ventajas de Python se encuentra su gran cantidad de librerías y

funciones incorporadas, sencillez en la creación de programas, la cantidad de

plataformas en la que se puede implementar y además es de código abierto, lo

que significa que es gratuito.

(DesarrolloWeb.com, 2017)

2.2.14 Conversor ADC

Un conversor análogo-digital, es un dispositivo electrónico que convierte una señal

análoga (Voltaje) a una señal digital mediante la utilización de un escalamiento. En

el rendimiento de la transformación análoga digital juega un papel muy importante

la resolución de la transformación, es decir cuanto voltaje se necesita para

cambiar la señal analógica en el bit menos significativo. La calidad o resolución de

la transformación va arraigada a numero de bits que posee el conversor. Pudiendo

ser determinado mediante la siguiente formula:

67

Siendo el valor de referencia superior y n el número de bits.

El conversor a utilizar para la lectura de sensores será un ADS 1115 de 16 bits, el

cual cuenta con cuatro entradas análogas y comunicación mediante bus I2C. Sus

especificaciones técnicas son las siguientes:

Rango de VDD a GND: -0,3 a +5,5V

Corriente máxima de entrada análoga: 100mA

Voltaje máximo entrada análoga: VDD+0,3

SDA, SCL, ADDR, ALERT/RDY voltaje de funcionamiento: 5,5v

Temperatura de operación: -40 a 140 °C

Figura 3.11 Conversor análogo-digital ADS1115.

2.2.15 Labview

Labview es un lenguaje de programación desarrollado por National Instrument, el

cual esta diseñado para la elaboración de pruebas, controles y monitoreos. Es un

programa de programación grafica mediante la unión de bloques de programación

68

o VI’s (virtual instrument), los cuales cumplen diversas funciones dentro de la

programación.

Dentro de las ventajas que posee Labview esta su simplicidad para la generación

de programaciones, su gran cantidad de librerías (VI’s) disponibles, la vasta

cantidad de información por parte de su fabricante National Instrument y la

facilidad en la creación de una interfaz visual para el desarrollo de aplicaciones.

(National Instruments, 2017)

La programación de Labview permite la utilización de los típicos bucles de

programación, definición de variables de diferentes tipos (int, booleana, doublé,

string array, etc). Pero a diferencia de otros lenguajes de programación Labview

divide su programación en dos partes, la primera se denomina panel frontal, el

cual tiene contacto directo con el usuario final y permite la visualización y control

de variables y procesos. La segunda parte corresponde al diagrama de bloques,

aquí es donde se desarrolla la programación.

2.2.15.1 Elementos de Labview

Panel frontal: El panel frontal es la que esta en contacto directo con el

usuario final, aquí podemos encontrar indicadores y controladores. Los

controladores nos permiten insertar variables a nuestra programación y los

indicadores nos muestran información de nuestra programación o proceso.

69

Figura 3.12.1 Panel frontal Labview.

Diagrama de bloques: La ventana del diagrama de bloques es en donde se

escribe y desarrolla la promoción visual de Labview, en esta ventana se van

enlazando los bloques mediante hilos o hebras.

Variables de programación: El color y forma del hilo que conecta dos

terminales de diferentes bloques de programación, identifica el tipo de

variable.

Figura 3.12.2 Variables según color y dimensión Labview.

Indicadores y controladores: Los indicadores son los encargados de

transportar nuestras variables desde nuestra ventana de diagrama de

bloques a nuestro panel frontal en forma de visualizadores, es decir que no

se pueden alterar en e panel frontal. Los controladores hacen la función

70

inversa son las partes modificables por el usuario y transportan las

variables definidas por el usuario al diagrama de bloques.

Figura 3.12.3 Indicadores y controladores de variables en Labview.

Estructuras: Su objetivo es realizar una tarea reiteradamente mientras se

cumplan ciertas condiciones, al igual que en otros lenguajes de

programación poseemos los bucles For, While y Switch-Case.

Figura 3.12.4 bucles de programación en Labview en el orden de For, While y Switch -Case.

Graficas: Labview provee una variedad de gráficas similares a la hora de

ser visualizadas, pero se diferencia en como grafican los datos. Para el

proyecto se utilizará la “Waveform Chart” la que permite representar

variables e ir actualizándose en tiempo real.

71

Figura 3.12.5 Waveform Chart Labview.

72

3 Desarrollo del proyecto

3.1 Modelamiento de la solución

La estructura del proyecto comienza con un mecanismo de adquisición de datos,

el cual consta con 3 sensores y un divisor de tensión que proporcionan la tasa de

purificación de , el estado de la batería en porcentaje y el estado de saturación

de la cal sodada. Además, cuenta con un sistema de geo posicionamiento GPS y

un modem de conexión BAM, los cuales permiten determinar la localización de

dispositivo y su respectiva comunicación mediante internet 3G.

Figura 3.13 Diagrama de bloques del proyecto

La Raspberry Pi Zero W recibe los datos entregados por los sensores, el divisor

mediante el conversor análogo-digital y el módulo GPS. Luego, mediante USB y el

modem de BAM establece la conexión a internet y envía los datos directamente a

una base de datos establecía en un servidor de base de datos MySQL, el cual

73

será consultado por una aplicación desarrollada en Labview, la que permitirá la

monitorización del dispositivo por el usuario.

El dispositivo cuenta con una lectura en tiempo real de los datos y continua

actualización del servidor MySQL,esto permitirá un exhaustivo monitoreo por parte

de la aplicación, permitiendo detectar cuando existan problemas con el dispositivo

Figura 3.14 Diagrama de flujo de recopilación de datos del dispositivo

74

La aplicación en JAVA mostrara el porcentaje de la batería, la tasa de purificación

de , el estado de saturación de la cal sodada y la localización del dispositivo.

También se emitirá una alarma cuando la cal sodada alcance un estado de

saturación determinado, indicando que el dispositivo necesita mantención.

Figura 3.15 Diagrama de flujo del programa en Labview

75

3.1 Ventajas y aplicaciones

Las principales ventajas que posee FACYM es su autonomía energética, la cual

permite su fácil instalación en cualquier lugar que cuente con luz solar, además de

contar con un sistema de monitoreo cómodo para el usuario, el cual emite alarmas

de emergencia con el fin de facilitar el monitoreo de múltiples dispositivos a la vez,

permitiendo elaborar mantenciones oportunas y de manera eficiente.

FACYM también permite una versatilidad en su diseño ya que el mecanismo de

funcionamiento permite implementar mejoras en el sistema de filtros, con el fin de

purificar otras sustancias contaminantes presentes en el aire, además de aceptar

modificaciones en su sistema de alimentación, pudiendo ser implementado en

cavernas o lugares privados de luz solar.

76

3.2 Raspberry

Para comenzar con el desarrollo del dispositivo primero debemos preparar nuestro

controlador. Para ello debemos instalar el sistema operativo de este denominado

“RASPBIAN STRETCH WITH DESKTOP” versión de kernel 4.9, por lo cual

debemos descargarlo directamente de la página

“https://www.raspberrypi.org/downloads/” (Raspberry Pi Foundation, 2017), para

este caso seleccionaremos la opción con escritorio agregado para poder hacer

más amigable su manejo y posterior programación.

Figura 3.16.1 “Raspbian”.

Una vez descargado el “Raspbian”, debemos grabar la imagen del disco en

nuestra memoria SD y para ello ocuparemos el programa que nos recomienda

Raspberry Pi Foundation, denominado “Etcher”. Seleccionamos la imagen de

disco a guardar, seleccionamos la memoria y grabamos. Ya está lista para su uso.

77

Figura 3.16.1 Programa “Etcher”.

3.3 Configuración y conexión remota

Una vez boteado el Raspbian en nuestra SD, encendemos nuestra Raspberry Pi

Zero W, debemos configurar nuestra conexión a internet para comenzar a

actualizar nuestras librerías e instalar otras. Este modelo de Raspberry Pi cuenta

con Wi-Fi y Bluetooth incorporados, por ende, solo debemos conectarnos a

nuestra red doméstica.

Ya conectados a internet, actualizaremos nuestro repositorio, con el cual

descargamos e instalamos nuestros programas, mediante la ejecución del

siguiente código en consola:

$ sudo apt-get -y update

Esperamos a que finalice y actualizamos nuestros programas con el siguiente

comando:

$ sudo apt-get -y upgrade

78

Como ultima configuración, actualizamos nuestro kernel para obtener mejoras y

soporte actualizado:

$ sudo rpi-update

(geekytheory, 2017)

Ya que tenemos actualizada nuestra Raspberry Pi, ahora instalaremos nuestro

servidor RDP para su control de manera remota desde nuestro PC personal. Para

ello ejecutamos el siguiente comando en consola:

$ sudo apt-get install xrdp

Una vez finalizada la instalación, consultamos nuestra IP en la red local para

poder establecer la comunicación, para ello ejecutamos el comando:

$ ifconfig

Figura 3.17.1 Consola con el comando ifconfig.

79

Extraemos nuestra IP de la red wlan0, en nuestro caso 192.168.1.20 y nos

dirigimos a nuestro PC con Windows y buscamos la aplicación de conexión a

escritorio remoto, escribimos la IP de la Raspberry Pi y conectamos.

Figura 3.17.2 Conexión a escritorio remoto mediante Windows.

Se nos abrirá una ventana, pidiendo el usuario y la contraseña. Por defecto en

nuestra Raspberry Pi el usuario es “pi” y nuestra contraseña es “raspberry”.

Figura 3.17.3 Ventana usuario y contraseña conexión remota.

80

Y ya estamos conectados remotamente con nuestra Raspberry Pi.

Figura 3.17.4 Visualización de escritorio mediante conexión remota.

(redeszone, 2017)

3.4 Conexión a internet mediante BAM

Para permitir la comunicación mediante internet con el servidor de base de dato,

configuraremos nuestro sistema “Raspbian” para que pueda establecer

comunicación mediante un dispositivo de Banda Ancha Móvil, proporcionado por

nuestro proveedor GSM/GPRS. Para ello necesitamos conexión a internet

mediante wifi o cable de red, luego abrimos el terminal y ejecutamos los siguientes

comandos:

Para instalar el protocolo de comunicación punto a punto (point-point protocol

(ppp)).

$Sudo apt-get install ppp

81

Ahora creamos un nuevo directorio llamado “3g”

$Mkdir ~/3g

$Cd ~/3g

Ahora debemos descargar la última versión del sakis3g de este link:

https://sourceforge.net/projects/vim-n4n0/files/sakis3g.tar.gz/download

$ gunzip -d sakis3g.tar.gz

$ tar xvf sakis3g.tar

$ chmod +x sakis3gz

$sudo ./sakis3g—interactive

Una vez ejecutado los comando anterior, seleccionamos:

1. conexión mediante 3g.

2. USB device.

3. ZTE WCDMA Technologies MSM.

4. Custom APN.

5. Ingresamos el APN de nuestro operador.

6. Ingresamos el usuario de nuestro proveedor.

7. Ingresamos la contraseña de nuestro proveedor.

82

Figura 3.18 Ventana de configuración con interfaz visual de sakis3g

Y ya estamos conectados, para desconectarnos debemos ingresar el siguiente

comando:

$sudo ./sakis3g –interactive

Y seleccionamos desconectarnos.

(Vazquez, 2017)

3.5 Comunicación serial con el GPS

Para poder determinar la localización GPS del dispositivo debemos recurrir al

módulo GPS y para ello debemos comunicarnos con el mediante comunicación

serial por los puertos GPIO14 (TX) y GPIO15 (RX) a una velocidad de 9600

Baudios. Para realizar la comunicación con el módulo, primero debemos

configurar nuestra Raspberry para permitir la lectura de datos desde estos pines,

para ello debemos seguir los siguientes pasos:

83

1. Debemos editar el archivo cmdline.txt, para ello ingresamos el siguiente

código en el terminal:

$sudo nano /boot/cmdline.txt

ahora borramos eltexto que dice “console=ttyAMA0,115200” y

“plymouth.ignore-serial-consoles”, guardamos y cerramos.

2. Ahora debemos detener y deshabilitar los servicios tty para realizar la

lectura del ttyAMA0 (UART), por lo que ejecutaremos los siguientes dos

comandos:

$sudo systemctl stop [email protected]

$sudo systemctl disable [email protected]

3. Como la Raspberry Pi Zero W posee Bluetooth incorporado, debemos

desactivarlo para permite la liberación de los GPIOs 14 y 15. Para ello

debemos ejecutar el siguiente comando en consola:

$ sudo systemctl disable hciuart

4. Debemos reiniciar la raspberry para que los datos sean guardados en la

memoria, ejecutando el siguiente comando:

$Sudo reboot

(Adafruit, 2017)

84

Figura 3.19.1Conexión Raspberry con modulo GPS

5. Ahora debemos realizar la prueba de comunicación, la cual realizaremos

con un monitor de comunicación serial llamado “minicom”, para ello

debemos instalarlo ejecutando el siguiente comando en consola:

$sudo apt-get install minicom

6. Ahora realizamos la prueba mediante el siguiente comando:

$sudo minicom -D /dev/ttyAMA0 -b9600

(on the Brian Dorey.com , 2017)

85

Figura 3.19.2 Minicom comunicación GPS.

Una vez terminado de configurar nuestro puerto UART, debemos ejecutar una

programación en Python la cual nos extraiga los datos de latitud y longitud

entregadas por nuestro geo localizador GPS. Para ello implementaremos a una

comparación para determinar la sentencia de información que utilizaremos para

extraer la información, también aremos un Split con el fin de aislar los datos

necesarios según el protocolo de comunicación establecido por la NMA.

Se desarrollo el siguiente código en Python para la extracción de datos del módulo

GPS:

#Se importa librería serial

Import serial

#Se crea la comunicación con el GPS mediante el puerto

ttyAMA0 (pines UART), a una velocidad de 9600 baudios

86

Gps = serial.Serial(―/dev/ttyAMA0‖, baudrate = 9600)

While True:

#Se lee la sentencia entregada por el GPS y se guarda en

una variable

Line = gps.readLine()

#Se realiza un Split con el fin de separar la trama por

cada ―,‖

Data = line.split(―,‖)

#Se compara el encabezado de la línea para diferenciar

las sentencias y buscar los datos necesarios

If data[0] = ―$GPRMC‖:

#Se extraen y se muestran en consola los datos de

latitud y longitud

Print (―Latitud: ―+ data[3])

Print (―Longitud: ―+data[5])

87

Figura 3.19.3 Diagrama de flujo programación del GPS.

3.6 Conversor análogo-digital

Para poder realizar una lectura de sensores emplearemos un ADC de 16-bits y

cuatro canales modelos ADS1115, el cual se comunicará mediante comunicación

I2C con la Raspberry mediante los puertos GPIO2 (SDA) y el puerto GPIO3 (SCL).

88

Para poder establecer esta comunicación, primero debemos configurar nuestra

Raspberry para poder liberar los puertos (GPIO2 y GPIO3), para ello debemos

seguir los siguientes pasos:

1. Agregamos los puertos en el archivo módulos y para eso, ejecutamos el

siguiente código en consola y agregamos las líneas al texto:

$sudo nano / etc / modules

i2c-bcm2708

i2c-dev

Para guardar el archivo presione Control-XY

2. También debemos modificar el archivo /boot/config.txt, ejecutando el

siguiente comando:

$ sudo nano /boot/config.txt

Y agregando al final del texto:

dtparam = i2c1 = en

dtparam = i2c_arm = on

Guardamos y cerramos presionando Ctrl+x Y

3. Reiniciamos la raspberry para guardar las configuraciones ejecutando el

comando:

$sudo reboot

4. Ahora que ya teneos instalado el puerto, mapeamos las conexiones

disponibles, ejecutando el siguiente comando:

$ sudo i2cdetect -y 1

(Adafruit, 2017)

89

Figura 3.20.1 Conexión ADS1115 con Raspberry.

Como se puede observar en el mapeo nuestra dirección corresponde a 0x48 por

ende debemos aplicar la siguiente configuración a nuestro pin “Address”.

Figura 3.20.2 Configuración pin “Address” Ads1115

90

Figura 3.20.3 Conexión ADS1115 con Raspberry.

Ahora que ya tenemos configurado el puerto, debemos agregar los paquetes y

librerías para el puerto, seguiremos las siguientes instrucciones:

1. Ejecutar los siguientes comandos en consola:

$ sudo apt-get update

$ sudo apt-get install build-essential python-dev

python-smbus git

$ cd ~

$ git clone

https://github.com/adafruit/Adafruit_Python_ADS1x15.git

$ cd Adafruit_Python_ADS1x15

$ instalación de sudo python setup.py

2. Una vez terminada la instalación debemos instalar los paquetes de Python

y para ello ejecutamos los siguientes comandos en consola:

$ sudo apt-get update

$ sudo apt-get install build-essential python-dev

python-smbus python-pip

$ sudo pip install adafruit-ads1x15

91

3. Para poder utilizar la librería, modificaremos y ejecutaremos un ejemplo de

programación en Python, para lo que debemos ejecutar los siguientes

comandos en algún terminal:

$ cd ~ / Adafruit_Python_ADS1x15 / ejemplos

$ nano simpletest.py

4. Inspeccionamos el código y lo modificamos según convenga:

# Crear una instancia ADS1115 ADC (16 bits).

adc = Adafruit_ADS1x15.ADS1115 ()

# Tenga en cuenta que puede cambiar la dirección

I2C de su valor predeterminado (0x48) y / o el I2C, Como

nuestra dirección es 0x48 como nos mostró el mapeo, no

modificamos este codigo

GANANCIA = 1

print (‗Lectura de valores ADS1x15, presione Ctrl-C para

salir ...‘)

# Imprimir buenos encabezados de columna de canal.

print (‗| 0:> 6 | 1:> 6 | 2:> 6 | 3:> 6 |‘

formato (* rango (4)))

imprimir (‗-‗ * 37)

# Lea todos los valores del canal ADC en una lista.

valores = [0] * 4

# Lea el canal ADC especificado utilizando el valor

de ganancia establecido previamente.

valores [i] = adc.read_adc (i, ganancia =

GANANCIA, da)

92

# Tenga en cuenta que también puede pasar un

parámetro de data_rate opcional que controla

# el tiempo de conversión de ADC (en muestras /

segundo).

# conjunto de valores de velocidad de datos

permitidos, ver hoja de datos Tabla 9 registro de

configuración

# Valores de bit DR.

#values [i] = adc.read_adc (i, gain = GAIN,

data_rate = 128)

# Imprimir los valores de ADC.

print (‗| 0:> 6 | 1:> 6 | 2:> 6 | 3:> 6 |‘

formato (* valores))

# Pausa por medio segundo.

time.sleep (0.5)

5. Guardamos, cerramos y ejecutamos, presionando Ctrl+X, Y. Después

ejecutamos el siguiente comando en consola:

Figura 3.20.4 Lectura del puerto I2C comunicando Raspberry con el ADS1115.

(Adafuits, 2017)

93

3.7 Sensores del dispositivo

El prototipo del proyecto dispone de tres sensores análogos dos sensores de

MQ-135 y un sensor de PH de líquidos, ambos son compatibles con la plataforma

de Arduino y entregan señales de salida que fluctúan entre los 0 – 5 V.

3.7.1 Sensor de MQ-135

El sensor MQ-135 mide la calidad del aire variando su resistencia en presencia de

determinados gases. Mediante un mini calentador, el cual reacciona con la

presencia de alcohol, benceno, humo, , emitiendo una salida

análoga proporcional a la concentración de estos, además de poseer una salida

digital, la cual se activa cuando alguno de estos gases se encuentra presente.

Para logar determinar con exactitud cuanto en censado, se ocupará un

dispositivo diseñado para medir el en ppm (partes por millón), con el cual

queremos determinar dos puntos de lectura y poder formular una función que nos

describa la lectura mediante una ecuación de la recta.

Mediante la experimentación se pudo determinar 4 puntos referenciales,

resumidos en la siguiente tabla:

94

Concentración de (ppm) Medida ADC Raspberry

0.52 4097

12.42 11560

103.88 23500

485.52 32767

Ahora que tenemos los datos podemos modelar una función con el

comportamiento del sensor. Seleccionaremos los dos puntos más alejados para

poseer un rango de lectura sin la necesidad de extrapolar.

x y

Punto 1 4097 0.52

Punto 2 32767 485.52

Con estos puntos modelaremos nuestra función de la forma:

95

Mediante esta función podremos obtener nuestra concentración de a partir de

la lectura entregada por nuestro sensor.

Figura 3.21.1 Pin-out sensor MQ-135.

3.7.2 Sensor de PH de líquidos

El sensor de PH de líquidos consiste es una sonda BNC, la cual está en contacto

directo con el líquido a censar y un integrado encargado de la traducción en la

lectura para ser compatible con Raspberry Pi, entregando una lectura del PH entre

0-14 mediante una lectura análoga entre 0 y 32767.

Para determinar con exactitud el PH del líquido se determinará una ecuación de la

recta tomando dos puntos como referencia, midiendo la señal entregada por el

sensor, PH teórico (conevyt, 2010) y midiendo PH con papel tornasol para una

mayor exactitud. Se evaluarán tres líquidos de distinto PH, la muestra uno

96

constara de jugo de limón, la muestra dos de agua con bicarbonato y la tercera

muestra solo agua.

Muestra PH teórico Papel tornasol

Señal del sensor

1 Jugo de limón 2 2 30717

2 Agua con bicarbonato

9 9 22600

3 Agua purificada 7 7-8 24972

Figura 3.21.2 Resultado de pruebas con papel tornasol

97

Figura 3.21.3 Tabla de colores papel tornasol

Teniendo en consideración la información obtenida, utilizaremos la muestra del

jugo de limón y la del agua con bicarbonato para determinar nuestra ecuación de

la resta y así poder determinar una función que nos determine el PH mediante la

señal de entrada de nuestro sensor.

PH Señal del sensor

Jugo de limón 2 30717

Agua con Bicarbonato 9 22600

98

Mediante esta ecuación podemos determinar el PH exacto de una sustancia

mediante la señal que emite el sensor a la Raspberry Pi.

Figura 3.21.4 Conexión sensor de PH con Raspberry Pi

3.7.3 Medidor de carga de batería.

Para lograr determinar un aproximado del porcentaje de carga de la batería

ocuparemos la medida de tensión entre sus terminales, determinando 5 niveles de

carga.

Voltaje batería (V) Medida de carga

V =< 10v Batería descargada

10v < V =< 12v Batería al 25%

12v < V =<12,5v Batería al 50%

99

12,5v < V =< 13v Batería al 75%

13v < V Batería al 100%

(NeoTeo, 2017)

Una vez determinado los niveles de carga, debemos censar este voltaje, pero

como nuestro ADC soporta solo tensiones entre 0 – 5 volts debemos implementar

un divisor de tensión para no dañar nuestro equipo. El divisor de tensión poseerá

la siguiente configuración:

Figura 3.21.5Configuración divisor de tensión.

Siguiendo la configuración, determinamos los voltajes de salida y de entrada y el

valor de las resistencias. El voltaje de entrada se fijará en 15 volts para tener un

margen de error y proteger el equipo de posibles peak de voltaje en el sistema, el

voltaje de salida se fijará en 5 volts ya que es el máximo permitido por el ADC. Si

definimos la resistencia de abajo con un valor de 100KΩ, la ecuación resultante

será:

100

Una vez obtenido los resultados de nuestras resistencias ahora debemos

determinar la lectura que obtendrá nuestra Raspberry Pi para determinar nuestro

% de batería, para ello realizaremos una simulación mediante un potenciómetro,

emulando el voltaje que el divisor de tensión le entregará a la Raspberry Pi,

calculándolo según la formula anteriormente planteada. Obteniendo los siguientes

resultados:

Porcentaje de batería

Voltaje de la batería

Voltaje entregado a la Raspberry Pi

Señal entregada por el ADC

0% V =< 10v V =< 3.33v S =< 26130

25% 10v < V =< 12v 3.33v < V =< 4v 26130 < S =< 28863

50% 12v < V =<12,5v 4v<V =< 4.17v 28863 < S =<30195

75% 12,5v < V =< 13v 4.17v < V =< 4.33v 30195< S =< 31890

100% 13v < V 4.33v < V 31890< S

101

3.8 Sistema de base de datos

El sistema de bases de datos es parte fundamental del proyecto, debido a que

este servirá de enlace entre el dispositivo y la aplicación de monitoreo remoto en

Labview. El sistema constara con un servidor web, el que servirá de servidor de

base de datos, el dispositivo que enviara la información a la base de datos y el

programa en Labview que consultara estos datos a medida que se van

actualizando.

3.8.1 Implementaciónde MySQL en Raspberry

Para implementar un cliente-servidor de MySQL en Raspberry debemos iniciar un

servidor Apache. Para esto se instalará apache2 ejecutando el siguiente comando

en consola:

$ sudo apt-get install apache2

Ahora para verificar si nuestro servidor apache2 este operativo, ejecutaremos el

siguiente comando en consola para conocer nuestra IP dentro de la red local, con

el fin de visualizar nuestro servidor desde un ordenador remoto conectado a la

misma red local.

$ ifconfig

102

Figura 3.22.1 Consola de Raspberry ejecutando el comando ifconfig

Una vez obtenida nuestra IP en la red local podemos acceder a ella desde

cualquier operador en la red local y visualizaremos nuestro servidor apache2.

Figura 3.22.2 Servidor apache2 desde la Raspberry

Ahora instalaremos y ejecutaremos nuestro servidor-cliente en la Raspberry, para

ello instalamos MySQL ejecutando el siguiente comando en consola:

$ sudo apt-get install mysql-server mysql-client php5-mysql

103

Ahora iniciamos nuestro servidor MySQL, ejecutando el siguiente comando en

consola:

$ sudo service mysql start

Una vez iniciado nuestro servido, nos conectamos a el desde nuestra Raspberry

para comprobar que este está funcionando, para ello nos conectaremos como

usuario root a nuestro servidor, ejecutando el siguiente comando en consola:

$ sudo mysql -u root -p

Figura 3.22.3 Conexión servidor MySQL mediante Raspberry.

Una vez conectado a nuestro servidor, salimos de el presionando las teclas “Ctrl” y

“C”. Ahora para administrar nuestro servidor instalaremos PhpMyAdmin, para eso

primero debemos instalarlo, lo cual aremos ejecutando el siguiente comando en

consola:

$ sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

104

Durante el proceso de instalación, el sistema nos consultara que tipo de servidor

es el que tenemos, seleccionamos “apache2” y luego nos preguntara si

configuramos nuestro servidor de bases de datos, seleccionamos que si y

rellenamos los campos requeridos para su configuración.

Una vez configurado nuestro servidor, definiendo el host, usuario y password, se

editará el fichero php.ini para iniciar nuestro servidor una vez encendida la

Raspberry, para ello ejecutamos el siguiente comando en consola:

$ sudo nano /etc/php5/apache2/php.ini

Una vez abierto el fichero se agrega la siguiente línea al documento:

extension=mysql.so

Guardamos los cambios en el fichero y cerramos, ahora modificaremos el

arranque de nuestro servidor apache ejecutando el siguiente comando en consola:

$ sudo ln -s /etc/phpmyadmin/apache.conf

/etc/apache2/conf.d/phpmyadmin.conf

Ahora se reinicia nuestro servidor apache2 mediante el siguiente comando:

$ sudo /etc/init.d/apache2 reload

105

Una vez terminada nuestras configuraciones, nos dirigimos al navegador de

nuestro operador remoto y accedemos a nuestro servidor PhpMyAdmin indicando

nuestra IP de la siguiente manera:

http://(IP local)/phpmyadmin/

Figura 3.22.4 Conexión a phpMyAdmin desde equipo remoto

(Coyan.es, 2017)

3.8.2 Implementación del servidor web

Para lograr que nuestro dispositivo se encuentre en línea desde cualquier lugar

donde sea instalado, montaremos un servidor web que sea visible desde cualquier

dispositivo conectado a internet.

Se montará un servidor web mediante la utilización de una página de servidores

online, en el cual, mediante una suscripción y el pago de una cuota mensual de 5

dólares, se puede montar un servidor con una máquina virtual con una IP fija y un

106

sistema operativo Debian, con 512 MB de memoria RAM y 2 GB de disco duro. Es

este servidor instalaremos e iniciaremos nuestro servidor web de MySQL.

Primero debemos iniciar nuestra máquina virtual. Para ello, nos registramos en la

página http://digitalocean.com/, registramos una tarjeta de crédito y seleccionamos

las características y el sistema operativo de nuestra máquina virtual, cada

máquina cuenta con un precio distinto.

Figura 3.22.5 Creación de máquina virtual en Digitalocean

Para este caso se escogió la máquina virtual con las características anteriormente

mencionadas. Nos dirigimos a nuestra cuenta y arrancamos nuestro servidor,

dando clic en “Launch Console” en la pestaña de acceso de nuestro servidor.

107

Figura 3.22.6 Lanzamiento de consola en Digitalocean.

Para nuestro primer uso se nos enviara nuestro usuario y contraseña al correo,

luego de ingresar por primera vez, podremos cambiar nuestra contraseña e

ingresar a la consola de comandos.

Figura 3.22.7 Consola máquina virtual de Digitalocean con sistema operativo Debian.

108

Ya en nuestra máquina virtual, procederemos a actualizar nuestro sistema y

nuestras aplicaciones instaladas. Para ello ejecutamos los siguientes comandos

en la consola de nuestra máquina virtual.

$ sudo apt-get update

$ sudo apt-get upgrade

Una vez terminando de actualizar nuestra máquina virtual, instalaremos MySQL en

nuestro servidor, ejecutando los siguientes comandos:

$ sudo apt-get install mysql-server mysql-client

Ya instalado nuestro servidor MySQL, ingresamos a el como usuario root

mediante el siguiente comando:

$ sudo mysql -u root

Primero eliminaremos el acceso público a los usuarios locales de la red, con el fin

de asegurarnos que solo puedan ingresar nuestros usuarios registrados. Para ello

ejecutamos el siguiente comando en consola:

DROP USER ―@‘localhost‘;

DROP USER ―@‘localhost.localdomain‘;

Ahora crearemos nuestro usuario “disp1” el cual corresponderá al dispositivo y

permitiremos su conexión desde cualquier host, mediante el siguiente comando:

CREATE USER ‗disp‘@‘%‘ IDENTIFIED BY ‗contraseña‘;

109

Una vez creado nuestro usuario, crearemos nuestra base de datos denominada

“facym”, ejecutando el siguiente comando en consola:

CREATE DATABASE IF NOT EXISTS ‗facym‗;

Ya creada la base de datos, le otorgaremos privilegios de administrador a nuestro

usuario “disp1”, utilizando el siguiente comando:

GRANT ALL PRIVILEGES ON ‗facym‗. * TO ‗disp‘@‘localhost‘;

Ahora salimos de nuestra base de datos utilizando el comando.

QUIT;

(Medina, 2017)

Ahora que, ya que se tiene instalada nuestra base de datos en nuestro servidor

web, se instalara un servidor PhpMyAdmin con la finalidad de administrar y

visualizar la base de datos desde un equipo remoto. Para ello se debe instalar un

servidor apache2, similar a lo hecho anteriormente con nuestra Raspberry. Se

instala ejecutando la siguiente sentencia en consola:

$ sudo apt-get install apache2

Ya instalado nuestro servidor apache, se averigua la IP para ver si el servidor

apache se encuentra operativo, mediante el siguiente comando:

$ ifconfig

110

Figura 3.22.8 Ejecución comando ifconfig en consola de Debian.

Una vez determinada nuestra IP, se ingresa a un navegador y se direcciona hacia

la IP anteriormente consultada. Se debe observar la página de inicio de nuestro

servidor apache2.

Figura 3.22.9 Pagina de inicio de nuestro servidor apache2 montado en servidor web.

111

Comprobando que el servidor apache2 se encuentra operativo, se procede a

instalar PhpMyAdmin, ejecutando el siguiente comando en la consola de nuestro

servidor web.

$ sudo apt-get install phpmyadmin php-mbstring php-gettext

Ya ejecutado el comando anterior, nos pedirá configurar nuestro servidor de la

misma forma que lo hicimos anteriormente con nuestra Raspberry, debemos

definir el servidor como apache2, seleccionamos nuestra base de datos, el host y

se establece conexión como usuario con su respectiva contraseña.

Ya configurado nuestro servidor PhpMyAdmin, se modificará la configuración de

nuestro servidor MySQL para que acepte conexiones remotas. Para permitir

conexiones al servidor MySQL fuera de la red local, se edita el archivo “my.cnf”,

ejecutando el siguiente comando en consola:

$ sudo nano /etc/mysql/my.cnf

Ya abierto nuestro documento, agregamos la siguiente línea al final del

documento:

bind-address=0.0.0.0

Cerramos y guardamos presionando “Ctrl”+”x” y después “y”. Ahora reiniciamos

nuestro servidor MySQL ejecutando la siguiente sentencia:

$ /etc/init.d/mysql restart

112

Finalizando estos pasos se ingresará a nuestro servidor PhpMyAdmin ingresando

al siguiente enlace en cualquier navegador, http://ip_servicio/phpmyadmin/. En

nuestro caso ocupamos la IP de nuestro servidor web, en este caso 45.55.161.80.

Figura 3.22.10 Inicio servidor PhpMyAdmin de nuestro servidor web.

3.8.3 MySQL en Python.

Para establecer la comunicación entre la Raspberry Pi Zero W y el servidor web

de base de datos, con el fin de permitir él envió reiterado de datos desde la

Raspberry Pi Zero W hacia el servidor. Para ello se utilizara el repositorio Python-

mysqldb, el cual conecta Python con MySQL. Su instalación se efectua mediante

la ejecucion del siguiente comando en consola:

$sudo apt-get install python-mysqldb

113

Se desarrollo un código en Python que lee y envía datos desde la Raspberry Pi

hacia el servidor web:

#Primero se importa el repositorio MySQLdb

import MySQLdb

#Se establece la comunicación con la base de datos,

definiendo host, usuario, contraseña y la base de datos a

utilizar

db = MySQLdb.connect(host=‖45.55.161.80‖,

user=‖disp1‖,passwd=‖pi‖, db=‖facym‖)

#Se crea un cursor con la coneccion anterior, este cursor

ejecutara nuestras sentencias de consulta e inserción de

datos

cur = db.cursor()

#Se ejecuta la consulta en MySQL

cur.execute(―SELECT MAX(ID) FROM FACYMv1‖)

#Se almacena dentro de una variable la respuesta del servidor

id=cur.fetchone()

#Se ejecuta una sentencia de inserción de datos en una tabla

determinada, definiendo sus columnas y valores variables

cur.execute(―INSERT INTO FACYMv1 (ID, Fecha, Hora, Latitud,

Longitud, Tco2, PH, Bateria) VALUES (‗%s‘,‘%s‘, ‗%s‘, ‗%s‘,

‗%s‘, ‗%s‘, ‗%s‘, ‗%s‘)‖ % (ID, fecha, hora,lat, long, cot,

ph, $

db.commit()

114

Inicio

¿Se establece conexión con el

servidor MySQL?

Se establece conexión con el servidor

Se selecciona una base de datos

¿Existe la tabla a

utilizar?

Se selecciona una tabla

¿Existe la base de datos a utilizar?

Se envían datos a la tabla

si

si

si

no

no

no

115

3.9 Configuración de la zona horaria

Con el objetivo de tener un monitoreo más exacto y confiable, se utilizará la hora y

fecha del envió de información a nuestra base de datos. Se realizará una

configuración de la zona horaria para dejarlo con la zona horaria correspondiente

a Santiago de Chile.

Para realizar la configuración primeros consultaremos nuestra fecha y hora

ejecutando el siguiente comando en consola:

$ timedatectl

Figura 3.23.1Visualizacion de la hora en nuestra Raspberry sin configurar.

Como se puede observar en la imagen anterior la hora se encuentra desfasada en

tres horas debido a que no está configurada la zona horaria. Para configurarla,

primero debemos instalar la zona horaria y configurarla para que el sistema la

ocupe, ejecutando las siguientes sentencias en consola: ¿Existe la base de datos a utilizar?

¿Existe la tabla a

utilizar?

Fin

116

$ timedatectl list-timezones | grep Santiago

$ timedatectl set-timezone America/Santiago

Ahora se vuelve a consultar la fecha y la hora del sistema para comprobar los

cambios, utilizando el mismo código anterior.

Figura 3.23.2 Visualización de la hora en nuestra Raspberry configurada.

(Sanchez, 2017)

3.11Cal sodada

El químico Ventisorb, es cal sodada del fabricante Flexicare. La cal sodada es un

elemento crucial en la investigación, ya que es el encargado de realizar la

purificación del aire, absorbiendo el . Por este motivo es que su estudio es

esencial para el desarrollo de una interfaz de usuario (HMI) y la generación de

alarmas.

117

Para determinar cuándo debe ser renovada la cal sodada, monitorearemos su PH

mediante la lectura de nuestro sensor. Se utilizará el PH de cambio de color de su

colorante violeta de etilo, el cual oscila entre 14 y 10,3. Siendo más acido cuando

este comienza a saturarse. Determinando la alarma aproximada de saturación

preventiva a los 10,5 PH obtenido por el sensor.

Para lograr determinar el rendimiento de nuestro filtro, se debe determinar la

cantidad de es absorbida por una determinada cantidad de químico. Es por

eso que se analizara el rendimiento de la cal sodada, el cual es aproximadamente

26 Litros de por cada 100 gramos de cal sodada.

(Ramirez, 2013)

3.12 Interfaz visual de monitoreo del dispositivo

La implementación de una interfaz visual es primordial para mantener una relación

amigable entre el dispositivo y el usuario. Para esto se utilizará el software

Labview de National Instrument, el cual permite crear una interfaz visual dinámica

e intuitiva, permitiendo que el usuario que se encuentre monitoreando el

dispositivo desde una ubicación remota, pueda conocer el estado de todas sus

variables en tiempo real.

Además de contar con botones específicos, los cuales permiten visualizar la

localización en la página de Google maps y exportar la base de datos del

dispositivo a un Excel para su posterior estudio. También cuenta con una alarma

118

de recambio de químico mediante un correo electrónico, el cual será enviado a un

correo especificado por el usuario. El dispositivo cuenta con la opción de ejecutar

la lectura del estado de saturación del filtro, mediante la utilización de una ventana

móvil, la cual permite determinar el promedio de un número determinado de datos

establecidos por el usuario, con el fin de disminuir su error de lectura.

Figura 3.24.1 Panel frontal de la interfaz de monitoreo en Labview.

3.12.1 Toolkit GDatabase for MySQL™

La programación de Labview permite utilizar paquetes de bloques de

programación denominados Toolkit. Para el desarrollo de la programación se

utilizará el Toolkit GDatabase for MySQL™ para la conexión con el servidor base

de datos MySQL de manera simple y efectiva.

119

Figura 3.24.2 VI Package Manager.

Este Toolkit se instala mediante el VI Package Manager, el cual viene incorporado

en Labview, solo hay que buscarlo e instalarlo.

Figura 3.24.3 Ventana de instalación de GDatabase for MySQL™ en VI Package Manager.

Ya instalado el Toolkit, se puede empezar a desarrollar la programación. Debido a

que es un sistema de solo de monitoreo, solo consultaremos los datos de nuestra

base de datos, para lo que ocuparemos solo cuatro bloques dentro de la amplia

gama que nos ofrece este Toolkit.

120

1) Open connection: Este bloque nos permite establecer la conexión con

nuestra base de datos, definiendo el usuario y la contraseña mediante un

array, el host del servidor (IP de servidor) y el puerto de este.

Figura 3.24.4 Bloque Open connection del Toolkit GDatabase for MySQL™.

2) Use database: Este bloque de programación permite seleccionar la base de

datos a utilizar en nuestro servidor, definiendo el nombre de esta.

Figura 3.24.5 Bloque use database del Toolkit GDatabase for MySQL™.

3) Select Querry: Este bloque de programación permite realizar un querry del

tipo Select. Se debe definir el nombre de la tabla, las columnas que se

quieren extraer mediante la utilización de un array de n dimensiones con el

nombre de las columnas a consultar y la sentencia “Where” permite

determinar que filas específicas se extraerán de la tabla.

121

Figura 3.24.6 Bloque Select querry del Toolkit GDatabase for MySQL™.

4) Close: Este bloque permite cerrar la conexión con el servidor de base de

datos.

Figura 3.24.7Bloque Close del Toolkit GDatabase for MySQL™.

3.13 Programación en Labview

Para realizar todas las funcionalidades de nuestro HMI se debe desglosar la

programación en bloques de Labview, para que esta funcione en paralelo según

las distintas funcionalidades, a continuación, se describirá la función y la

programación de cada función.

122

1) Obtención de datos en tiempo real:

Para obtener los datos en tiempo real se utilizará una consulta al nuestro

servidor MySQL utilizando como referencia el ID máximo de nuestra tabla,

lo que consultará el último dato subido a nuestro servidor.

Figura 3.25.1 Programación de bloques para obtención de información en tiempo real.

2) Ubicación y confección del URL de Google Maps:

Para visualizar la ubicación del dispositivo se ocuparán dos métodos, el

primero es mostrar su latitud y longitud directamente en pantalla y la otra

será concadenando un Sting, para formar una URL de Google Maps para

que el navegador direccione al mapa de ubicación del dispositivo.

Figura 3.25.2 Programación de bloques para la visualización de la ubicación del dispositivo.

123

3) Visualización en tiempo real de la tasa de purificación de :

Para visualizar los datos de manera más eficiente, se implementó un gráfico

en tiempo real el cual muestra la tasa de purificación del aire en PPM

versus la hora de visualización del equipo de monitoreo remoto y dos

indicadores numéricos, el primero nos indica directamente la taza de

purificación en PPM de y el segundo indica la tasa el litros por hora de

, el cual se calcula mediante los parámetros de caudal de aire del

ventilador, lo que permite determinar el volumen total de purificado.

Figura 3.25.3 Programación de bloques para la visualización de la tasa de purificación del dispositivo.

4) Estado del filtro y selección de numero de variables a considerar:

Con el propósito de disminuir el error en la lectura del sensor, se

implementó una ventana móvil, la cual le permite al usuario definir el

número de registros que serán considerado para determinar el PH del

124

químico, realizándose un promedio entre estos elementos, disminuyendo el

error en la lectura instantánea del sensor.

Figura 3.25.4 Programación de bloques para la obtención del PH del químico del dispositivo.

125

Figura 3.25.5Diagrama de flujo de la lectura del estado del filtro.

5) Alerta de cambio de filtro mediante correo electrónico:

Para hacer más amigable la interacción con el usuario se implementó una

alerta mediante correo electrónico, se envía un correo al usuario (definido

por el), desde un correo establecido, alertándole sobre el cambio de filtro e

informándole donde se encuentra este ubicado.

126

Figura 3.25.6Programación de bloques para la alerta por correo electrónico.

6) Exportación de base de datos a Excel:

Para poder obtener un registro del historial de actualizaciones del

dispositivo se implementó una exportación de nuestra base de datos en

forma de tabla al programa Excel.

Figura 3.25.7Programación de bloques para la exportación de la base de datos a Excel.

127

3.14 Diseño de la placa PCB

Una vez determinado todos los componentes de nuestro circuito ahora

diseñaremos una placa PCB para fijar estos componentes y no tener problemas

con el cableado y poseer una plataforma firme y presentable.

Figura 3.26.1Diagrama de conexión dispositivo FACYM.

La placa del prototipo se diseñará utilizando el programa de simulación y diseño

Proteus, el cual nos permite diseñar el circuito para luego crear nuestra placa.

128

Figura 3.26.2Diseño placa PCB en Proteus.

Mediante su diseño, podemos definir los componentes del circuito y determinar su

consumo:

Componente Cantidad Consumo mAh

Raspberry Pi Zero W 1 160

Sensor de PH 1 10

Sensor de CO2 (MQ-135) 2 160

Modulo GPS (NEO-6M GY-NEO6MV2)

1 60

Modulo ADC(ADS1115) 1 10

Ventilador grande turbina 2 150

Como podemos observar en la tabla anterior, el consumo del dispositivo es

aproximadamente 860 mAh y necesita una alimentación mínima de 12 volts,

entregando un consumo de 10,32 Wh.

129

Figura 3.26.3 Modelado 3D en Proteus.

Para regular el voltaje dentro del circuito ocuparemos dos reguladores de voltaje

con su respectiva configuración. El primero es un LM7812 y nos regulara el voltaje

en 12v para poder conectar nuestros ventiladores y el segundo en un LM7805, el

cual nos regula el voltaje para poder alimentar a nuestra Raspberry Pi Zero W,

laque se encargara de alimentar a nuestros sensores y módulos de comunicación.

Figura 3.26.4 Configuración eléctrica de reguladores de voltaje de la familia LM78xx.

130

3.15 Alimentación del sistema

El sistema de alimentación del dispositivo debe ser totalmente autónomo, para

facilitar su instalación fuera de cualquier fuente de alimentación externa y

erradicando la huella de carbono producida por la corriente utilizada.

Para poder alimentar el dispositivo se ocuparán paneles solares fotovoltaicos de

12 volt y 2.5 watts, luego se debe calcular cuánto será el consumo diario

aproximado que este tendrá. Anteriormente determinamos que el consumo

promedio del dispositivo bordea los 10.32Wh aproximadamente. Considerando un

consumo de 24 horas tenemos un consumo total de 247,68Wd.

Ahora debemos determinar la corriente generada por los paneles solares. Para

ello ocuparemos la siguiente formula:

[ ]

HSP: Horas sol pico (Electricistas de chile, 2017).

0,9 [Whd]: Coeficiente de rendimiento

[ ] [ ] [ ]

[ ]

(sfe-solar.com, 2017)

131

Para el diseño de la red de alimentación ocuparemos 32 paneles solares de 12V,

un regulador de paneles solares de 12V 10ª y una batería recargable GP 1272de

7,2ª.

Figura 3.27.1 Sistema de alimentación en base a paneles solares.

El sistema funcionara en base a 12 volts por ende tanto los paneles solares y la

batería deben actuar en base a este voltaje. Por este motivo, los paneles solares

serán conectadas en paralelos para mantener el voltaje e ir aumentando la

corriente que generan.

Figura 3.27.2 Paneles solares conectados en paralelo.

132

3.16 Diseño del sistema de tuberías internas

Para poder aislar la Cal Sodada del aire externo con el fin de evitar su saturación

prematura y llevar un censado concreto de su purificación, se ha diseñado un

sistema de tuberías en el software Inventor de AutoCAD que constara con un

sensor de en la entrada y otro en la salida, de esta forma obtendremos

nuestra taza de purificación. Para la lectura del PH del químico se utilizará un

collarín de derivación en el almacenador del químico para así permitir introducir un

sensor sin romper el aislamiento del químico.

Para realizar el movimiento del aire adentro de las tuberías se instalarán dos

ventiladores, uno en cada extremo de la tubería, el primero funcionará como

intractor de aire y el segundo como extractor, pudiendo asegurar así que el flujo de

aire será constante dentro de la tubería.

Figura 3.28.1 Diseño de la tubería armada en Software Inventor.

133

Figura 3.28.2 Despiece de la tubería.

Figura 3.28.3 Plano dimensionado del sistema de tuberías.

134

4 Construcción del prototipo

4.1 Confección del circuito PCB

El circuito PCB se llevará a cabo mediante el método de planchado, el cual se ara

para imprimir y fabricar el circuito anteriormente diseñado en Proteus. Una vez

diseñado el circuito se debe imprimir en una impresora láser y con papel

fotográfico, para ello nos dirigimos a la pestaña Output >Export Graphics> Export

Adobe PDF File y exportamos nuestro diseño como PDF

Figura 4.1.1 Exportación a PDF de nuestro circuito diseñado en Proteus.

Ahora debeos seleccionar que capas o componentes se exportaran al PDF, en

este caso seleccionaremos solo “Bottom Copper”, exportamos y se imprime.

135

Figura 4.1.2 Ventana de exportación a PDF de Proteus.

Figura 4.1.3 Circuito impreso en papel fotográfico con impresora láser.

Ya impreso nuestro circuito este debe ser planchado durante aproximadamente 10

minutos sobre nuestra placa PCB anteriormente pulida y limpia. Este proceso se

realiza para imprimir nuestro circuito sobre la placa de cobre.

136

Figura 4.1.4 Circuito impreso en placa de cobre mediante el método de planchado.

Ya impreso nuestro circuito en nuestra placa de cobre, esta se sumerge en cloruro

férrico, para deshacer el cobre de nuestra capa y dejando intacto el cobre con el

circuito impreso. Dejando nuestro circuito formado.

137

Figura 4.1.5 Circuito en placa PCD mediante el método de planchado.

Ahora se debe perforar la placa y soldar los componentes que esta tendrá y

nuestro sistema estará listo.

138

Figura 4.1.6 Sistema electrónico ya terminado.

4.2 Sistema de tuberías

El sistema de tuberías anteriormente diseñado se llevará a cabo con un conjunto

de tubos de PVC. En los extremos se dispondrán de tubos de 40 mm de diámetro

para que los ventiladores calcen a la perfección, estos también tienen orificios en

donde se calzaran los sensores de , también dispondrá de uniones americanas

y un conjunto de adaptadores hasta llegar a un tubo central de diámetro 110 mm,

este tubo central será el compartimiento de almacenamiento de la Cal Sodada

dando abasto para almacenar 1,5 kilos de químico aproximadamente.Este tendrá

un collarín de derivación al cual ira una pieza de adaptación que tendrá el sensor

de PH insertado en él.

139

Figura 4.2.1 Sistema de tuberías.

Para lograr una estructura más estable se le ara un soporte de madera para lograr

una estructura en donde pueda ser montado nuestro sistema electrónico.

Figura 4.2.2 Sistema de tubos con soporte y circuito electrónico.

140

4.3 Paneles solares

Para los paneles solares se hará una estructura de madera en cual los dispondrá

en un ángulo de 45° para la prueba del sistema de alimentación y de lectura de

batería. El cual se realizará con la conexión de 6 paneles en paralelo.

Figura 4.3 Estructura de paneles solares en paralelo.

141

5 Resultados

5.1 Alcances y limitaciones

Las limitaciones para la etapa de prototipaje radican en la implementación de la

alimentación autónoma, debido a que no se dispone del numero requerido de

paneles solares para poder implementar el sistema de alimentación autónomo,

pero la prueba funcionamiento del sistema solar fotovoltaico se llevara a cabo

mediante la conexión de seis paneles solares en paralelo, determinando el estado

de la batería y si esta es cargada mediante el sistema solar fotovoltaico.

La segunda limitación consiste en la optimización en la programación del

dispositivo, tanto como su aplicación en Labview, como su programación en

Python. Como el dispositivo se encuentra en una etapa de prueba y evaluación,

cuenta con un resultado satisfactorio, pero se deben implementar mejoras en la

optimización del código y corrección de posibles errores en su funcionamiento.

Como se conoce la alimentación requerida por el dispositivo, este se alimentara

con un transformador de 5 volts y para la Raspberry Pi y otro de 12 volts para los

ventiladores, ambos de 1 Ampere de corriente, esto sustituirá la alimentación en

base a paneles solares diseñada para el prototipo.

142

5.2 Pruebas de funcionamiento

Para evaluar el funcionamiento y desempeño de Facym, se realizaráncinco

pruebas de funcionamiento, relacionadas con su envió de información y

actualización de la base de datos, el sistema de monitoreo en Labview y las

pruebas de funcionamiento de las funciones de nuestra aplicación en Labview.

Primero se realizará una prueba de funcionamiento del prototipo y su inserción de

información en la base de datos. Después se evaluará la visualización de

información en tiempo real del sistema de monitoreo en Labview y posteriormente

se analizará el desempeño y funcionamiento de las funciones anexas en Labview.

5.2.1 Prueba del prototipo

La prueba inicia con la puesta en marcha de la Raspberry Pi Zero W y la ejecución

de la programación en Python anteriormente desarrollada. Ya iniciado el programa

en la Raspberry Pi, se logran visualizar de manera local la información obtenida

por nuestro sistema electrónico.

143

Figura 5.1 Visualización de información obtenida por la Raspberry de manera local.

Ya visualizados los datos entregados por nuestra Raspberry Pi de manera local,

se procede a visualizar la actualización de la base de datos de manera remota

mediante PhpMyAdmin desde un equipo fuera de la red local.

Figura 5.2 Visualización de la información insertada a la base de datos.

Ya evaluado su actualización de estado del dispositivo en un delta de tiempo no

superior a los cuatro segundos se determina como una lectura eficaz y

144

satisfactoria del estado del dispositivo en tiempo real y su visualización de

información de manera remota.

5.2.2 Prueba del monitoreo del dispositivo en Labview.

La evaluación del monitoreo del estado del dispositivo en Labview se realizará

mediante la puesta en marcha simultanea de nuestro prototipo y nuestra

aplicación en Labview fuera de la red local. Para ello iniciamos la aplicación en

Labview observamos su comportamiento y comparamos el tiempo de visualización

de datos en Labview con la actualización de estado en la base de datos en

MySQL.

Figura 5.3 Visualización de estado del dispositivo mediante aplicación en Labview.

145

Con la realización de la prueba anterior se pudo determinar que la aplicación en

Labview presenta un pequeño desface de aproximadamente tres segundos con

relación a la actualización en estado en la base de datos, pero pese a este

desface entrega información detallada y de manera visualmente amigable al

usuario, la gráfica de purificación de aire presenta una buena resolución debido a

que su tiempo de muestreo no supera los cuatro segundos.

5.2.3 Prueba de funciones anexas de Labview.

Ya probado y analizado su funcionamiento en tiempo real, se dará inicio a las

pruebas de las funciones anexas incluidas en nuestra aplicación en Labview, las

cuales consisten en la visualización de la ubicación del dispositivo en el navegador

web, la exportación de la base de datos a Excel y la alerta por correo electrónico.

La visualización de la posición del dispositivo se realiza de dos maneras, mediante

la visualización directa de la latitud y longitud del dispositivo en la aplicación y

también puede efectuarse con la utilización del botón “Abrir mapa en navegador

web”, el cual despliega una ventana de el navegador web definido por defecto en

el equipo, la cual dirige a la página de Google Maps y muestra la ubicación de

nuestro dispositivo en el mapa.

146

Figura 5.4 Visualización de la ubicación del dispositivo en el navegador.

La exportación de la base de datos a Excel se realiza mediante el botón “Exportar

base de datos a Excel”, el cual abre una pagina en Excel en la cual se muestra

una tabla con encabezados predefinidos y mostrando toda la base de datos

extraída de del servidor MySQL.

Figura 5.5 Exportación de la base de datos a Excel.

147

Como ultima prueba se corroborará el funcionamiento de nuestra alarma por

correo electrónico, para la cual definiremos un correo personal, activaremos la

alarma y desconectaremos el sensor de PH para simular que nuestro químico se

encuentra saturado.

Figura 5.6 Visualización del filtro agotado en Labview.

A continuación, se muestra el correo recibido por la alerta de cambio de filtro.

Figura 5.7 Correo de alerta recibido.

148

Ya realizada las pruebas anteriores se puede determinar que las funciones anexas

implementadas en nuestra aplicación de Labview funcionan de manera

satisfactoria para el desarrollo del prototipo del dispositivo.

5.3 Análisis de resultado.

Para lograr determinar el desempeño y cuantificar los resultados obtenidos en el

desarrollo y construcción del dispositivo se comparará las características del

prototipo confeccionado con otros purificadores de aire actualmente encontrados

en el mercado. Dando énfasis a la purificación neta generada y la vida útil del filtro.

Dispositivo Facym Medisana 60300

Homedics AR-10

Toyotomi AC-20

Precio de venta o construcción

$ 110000 $ 79990 $ 99990 $ 99990

Vida útil del filtro 5 meses 5 meses 18 meses 12 meses

Consumo eléctrico (Wh)

0 1,5 48 30

Purificación de

(Litros por hora)

20 2.1 37.8 34.2

Huella de carbono generada (Litros por hora)

0 0.934 29.89 18.68

Purificación neta

de (Litros por hora)

20 1.166 7.91 15.52

Los cálculos de purificación de se hicieron en base al caudal máximo de aire

del dispositivo y contemplando una concentración de promedio del 0,03% del

149

aire (Uriarte, 2015). La huella de carbono se determinó según su consumo de la

red eléctrica y utilizando una calculadora de huella de carbono disponible en

línea(arboliza, 2017).

Para determinar su rendimiento de purificación se compara la purificación neta

generada por nuestro purificador en un día versus la purificación neta de una

planta. Para ello se ocupará como eje de comparación un pino maduro, el cual

purifica aproximadamente 500000 kilos de en un año, lo que equivale a

aproximadamente 475000 litros de , para hacer mas minucioso se ara un

estudio por día, arrojando una tasa final de 1300.14 litros diarios de versus los

480 litros aproximados que purifica el dispositivo.

(Conciencia Eco, 2017)

Por último, se evaluará su desempeño en espacios confinados para su uso en la

industria, para ello compara la purificación de versus la generada por una

persona. Un adulto normal genera aproximadamente 18 litros de por hora, por

lo que se puede determinar que el dispositivo FACYM da abasto para mantener a

una persona de manera segura en un espacio confinado totalmente aislado.

150

6 Conclusiones

El desarrollo del dispositivo FACYM para la anterior investigación dejo demostrado

el grabe momento en el que se encuentra el medio ambiente debido a las

emisiones de de manera desmesurada. Pudiendo provocar grandes daños,

tanto en el ambiente y clima del ecosistema, como en la salud de las personas. El

tratamiento y limpieza del aire de contaminantes es un tema cada vezmás

alarmante, lo que ha llamado la atención tanto de instituciones gubernamentales

como privadas.

La calidad del aire, específicamente el presente, puede ser monitoreado y

controlado de manera efectiva, tanto en lugares aislados como es espacios

abiertos. Brindando la posibilidad de mantener un ambiente de trabajo limpio y

seguro, ofreciendo mejoras en el rendimiento cognitivo de las personas y mayor

seguridad en espacios donde hay poca ventilación.

El dispositivo FACYM puede implementarse a nivel de oficinas, espacios

confinados o instalarlo a la intemperie. Ya que su sistema de alimentación y

monitoreo remoto permiten su instalación en cualquier espacio que tenga acceso

la luz solar y señal GSM/GPRS.

La estructura de manejo de información del proyecto permite volver independiente

el sistema de monitoreo mediante un equipo remoto, al dispositivo en sí.Lo que

permite una mayor flexibilidad a la hora de implementar mejoras o modificaciones

al dispositivo, tanto en su alimentación como en su conexión a la red de internet.

151

Pese a que el prototipo alcanzo un desempeño satisfactorio en sus pruebas de

funcionamiento, se proponen mejoras en la optimización de códigos de

programación, en la alimentación del dispositivo, implementando algún modo de

ahorro de batería y el desempeño del filtro, con el fin lograr purificar otros

contaminantes presentes en el ambiente, además de a hacer hincapié a la posible

utilización de materiales amigables con el medio ambiente para su construcción.

152

Bibliografía

A.Sanchez, O.Reinoso, L.Paya, D.Ubeda, M.Julia, & A.Gil. (2012). Implementacion

de un laboratorio remoto para la realizacion de practicas de robotica movil.

Abella, M. (2010). Sistemas fotovoltaicos.

Adafruit. (22 de 10 de 2017). Configuring I2C | Adafruit's Raspberry Pi Lesson .

Obtenido de Configuring I2C | Adafruit's Raspberry Pi Lesson :

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-

setup/configuring-i2c

Adafruit. (19 de 10 de 2017). Introduction | Adafruit Ultimate GPS on the Raspberry

Pi | Adafruit Learning System. Obtenido de Introduction | Adafruit Ultimate

GPS on the Raspberry Pi | Adafruit Learning System:

https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi?view=all

Adafuits. (22 de 10 de 2017). ADS1015 / ADS1115 | Raspberry Pi Analog to Digital

Converters . Obtenido de ADS1015 / ADS1115 | Raspberry Pi Analog to

Digital Converters : https://learn.adafruit.com/raspberry-pi-analog-to-digital-

converters/ads1015-slash-ads1115

Bello, C. (2010). Equipamiento de adquisicion de datos para sistemas fotovoltaicos

autonomos instalaos en escuelas de corrientes. Corrientes.

Capraro, F., Tosetti, S., & Serman, F. V. (2010). Laboratorio virtual y remoto para

simular, monitorizar y controlar un sistema de riego por goteo en olivos. San

Juan.

Casa Editorial El Tiempo. (28 de 11 de 2017). Características del Raspberry Pi

Zero W - Novedades Tecnología - Tecnología - ELTIEMPO.COM. Obtenido

de Características del Raspberry Pi Zero W - Novedades Tecnología -

153

Tecnología - ELTIEMPO.COM:

http://www.eltiempo.com/tecnosfera/novedades-tecnologia/caracteristicas-

del-raspberry-pi-zero-w-63022

Chang, R. (2010). quimica 10 edicion.

Ciberaula. (28 de 11 de 2017). Qué es Linux ? - Sistema Operativo Linux -

Ciberaula. Obtenido de Qué es Linux ? - Sistema Operativo Linux -

Ciberaula: http://linux.ciberaula.com/articulo/que_es_linux/

conevyt. (07 de 04 de 2010). conevyt. Obtenido de conevyt:

http://www.conevyt.org.mx/actividades/acidos/EscalapH.htm

Coyan.es. (18 de 10 de 2017). Servidor web casero y económico con el Raspberry

Pi | CoyaN.es. Obtenido de Servidor web casero y económico con el

Raspberry Pi | CoyaN.es: http://www.coyan.es/Blog/2012-06/servidor-web-

raspberry-pi/

DesarrolloWeb.com. (28 de 11 de 2017). Qué es Python. Obtenido de Qué es

Python: https://desarrolloweb.com/articulos/1325.php

Diaz, P. (2003). Confiabilidad de los sistemas fotovoltaicos autonomos: Aplicacion

a la electrificacion rural.

El periodico. (02 de Noviembre de 2009). Elperiodico. Obtenido de Elperiodico:

http://www.elperiodico.com/es/opinion/20091102/los-balances-del-co2-

222993

Electricistas de chile. (31 de 10 de 2017). Electricistas de Chile ::::Electricista -

Electricidad. Obtenido de Electricistas de Chile ::::Electricista - Electricidad:

http://www.electricistas.cl/Articulo16.html

154

Espinosa, O. L., Perez, G. A., & Luna, S. A. (2014). Paquete tecnologico para el

monitoreo ambiental en invernaderos con el uso de hardware y software

libre.

F.J.Munñoz, Torres, M., J.V.Muñoz, C.Rus, J.D.Aguilar, & J.Aguilera. (2010).

Laboratorio remoto para el aprendizaje de los sistemas fotovoltaicos

autonomos.

Fernandez, R., Ordieres, J., Martinez, F., Gonzales, A., Alba, F., Lostado, R., &

Pernia, A. (2009). Redes inalambricas de sensores.

Fexicare. (22 de 11 de 2017). Anaesthetic Face Masks, Soda Lime, Catheter

Mounts & Components - PDF. Obtenido de Anaesthetic Face Masks, Soda

Lime, Catheter Mounts & Components - PDF:

http://docplayer.net/38677457-Anaesthetic-face-masks-soda-lime-catheter-

mounts-components.html#download_tab_content

Gamez, A., Cabrera, J., Castañeda, E., Lopez, F., & Morera, M. (2009). Control de

un sistema eolico-fotovoltaico utilizando un controlador fuzzy. La Habana.

geekytheory. (1 de 11 de 2017). Actualizar nuestra Raspberry Pi con Raspbian.

Obtenido de Actualizar nuestra Raspberry Pi con Raspbian:

https://geekytheory.com/actualizar-nuestra-raspberry-pi-con-raspbian

Gimeno, F., Sanchez, C., Ibañes, F., Segui, S., Alcañiz, M., & Capilla, R. (s.f.). La

formacion en energia solar fotovoltaica en la universidad politecnica de

Valencia.

Grupo copesa. (5 de Agosto de 2017). Icarito. Obtenido de Icarito:

http://www.icarito.cl/2009/12/60-1899-9-la-respiracion-oxigeno-y-

supervivencia.shtml/

Ledesma, P. (2011). Analisis dinamico de sistemas electricos con generacion

eolica. Madrid.

155

Lozano, M., & Ramos, J. (2007). Analisis energetico y economico de sistemas

simples de cogeneracion. Zaragoza.

Medina, L. A. (14 de 11 de 2017). Como Instalar MySQL en Debian. Obtenido de

Como Instalar MySQL en Debian: https://www.comoinstalarlinux.com/como-

instalar-mysql-en-debian/

Menendez, A. d. (2015). Desarrollo de un sistema de sensores para la deteccion

de sustancias peligrosas. Madrid.

Ministerio del medio ambiente. (2010). Cambio climatico.

Ministerio del medio ambiente. (2010). Informe del estado del medio ambiente.

Morero, B., Gropelli, E., & Campanella, E. (2010). Revision de las principales

tecnologias de purificacion de biogas.

Murillo, D. G. (2003). Modelado y analisis de sistemas fotovoltaicos. Barcelona.

National Instruments. (28 de 11 de 2017). ¿Por qué usar LabVIEW? - National

Instruments. Obtenido de ¿Por qué usar LabVIEW? - National Instruments:

https://www.ni.com/academic/why_labview/esa/

NeoTeo. (30 de 10 de 2017). Analizador de voltaje para baterías - NeoTeo.

Obtenido de Analizador de voltaje para baterías - NeoTeo:

http://www.neoteo.com/analizador-de-voltaje-para-baterias

on the Brian Dorey.com . (19 de 10 de 2017). Raspberry Pi 3 UART Boot Overlay

Part Two | on the Brian Dorey.com blog. Obtenido de Raspberry Pi 3 UART

Boot Overlay Part Two | on the Brian Dorey.com blog.

ORACLE. (13 de 07 de 2017). JAVA. Obtenido de JAVA:

https://www.java.com/es/download/help/linux_x64_install.xml

Ramirez, J. (20 de 04 de 2013). Maquina de anestesia y quirofano. Obtenido de

Maquina de anestesia y quirofano:

156

https://es.slideshare.net/JenniferCarolinaRamirezM/maquina-de-anestesia-

y-quirfano

Raspberry Pi. (28 de 11 de 2017). Introducing the Raspberry Pi Zero. Obtenido de

Introducing the Raspberry Pi Zero: https://www.raspberrypi-

spy.co.uk/2015/11/introducing-the-raspberry-pi-zero/

Raspberry Pi Foundation. (17 de 10 de 2017). Raspberry Pi. Obtenido de

Raspberry Pi: https://www.raspberrypi.org/

redeszone. (1 de 11 de 2017). Controla tu Raspberry Pi de forma remota a través

del protocolo RDP. Obtenido de Controla tu Raspberry Pi de forma remota a

través del protocolo RDP: https://www.redeszone.net/raspberry-pi/controla-

tu-raspberry-pi-de-forma-remota-traves-del-protocolo-rdp/

Robots Argentina. (28 de 11 de 2017). Comunicación - Bus I2C - Robots

Argentina. Obtenido de Comunicación - Bus I2C - Robots Argentina:

http://robots-argentina.com.ar/Comunicacion_busI2C.htm

Rocabert, J., Busquets, S., & Bordonau, J. (2010). Sistema autonomo de

generacion de energia renovable. catalunya.

Sanchez, C. T. (15 de 11 de 2017). Ubuntu 14.04 LTS : Cambiar la zona horaria.

Obtenido de Ubuntu 14.04 LTS : Cambiar la zona horaria:

https://www.cristiantala.cl/ubuntu-14-04-lts-cambiar-la-zona-horaria/

sfe-solar.com. (31 de 10 de 2017). Cómo dimensionar y calcular paneles solares

fotovoltaicos necesarios. Obtenido de Cómo dimensionar y calcular paneles

solares fotovoltaicos necesarios: https://www.sfe-

solar.com/noticias/articulos/modulo-fotovoltaico-calculo-paneles-solares-

fotovoltaicos/

Vazquez, S. (14 de 10 de 2017). Raspberry Pi con Banda Ancha con modem ZTE

MF180 - Saúl Vázquez. Obtenido de Raspberry Pi con Banda Ancha con

157

modem ZTE MF180 - Saúl Vázquez:

http://blogvazquezsaul.blogspot.cl/2013/09/raspberry-pi-con-banda-

ancha.html

W.R.Grace. (2012). Sodasorb HP carbon doixide absorbent.

W.R.Grace, & CO.-Conn. (1993). Manual of CO2 absorption. Cambridge.

World Health Organization. (07 de MAYO de 2014). World Health Organization.

Obtenido de World Health Organization:

http://www.who.int/mediacentre/news/releases/2014/air-quality/en/

158

Anexos

Codigo de Python

import time

import serial

import Adafruit_ADS1x15

import MySQLdb

adc = Adafruit_ADS1x15.ADS1115(address=0x48, busnum=1)

gps = serial.Serial('/dev/ttyAMA0', baudrate = 9600)

db = MySQLdb.connect(host="45.55.161.80", user="disp1", passwd="pi", db="facym")

cur = db.cursor()

GAIN = 1

dt = 0

cur.execute("SELECT MAX(ID) FROM FACYMv1")

id=cur.fetchone()

ID= int(id[0])

print ID

while True:

values = [0]*4

for i in range(4):

values[i] = adc.read_adc(i, GAIN, data_rate=128)

while(dt==0):

line = gps.readline()

data = line.split(',')

159

if data[0] == '$GPRMC':

if data[2] == 'A':

dt = 1

lat =float(data[3])/-100

long = float(data[5])/-100

sb = int(values[0])

dt = 0

senal = int(values[1]) * - 0.000862387 + 28.48995934

co2 = int(values[2]) * 0.0169766376 - 68.7874642472

co1 = int(values[3]) * 0.0169766376 - 68.7874642472

if sb <= 26130:

bat = 0

elif 26130 < sb and sb <= 28863:

bat = 25

elif 28863 < sb and sb <= 30195:

bat = 50

elif 30195 < sb and sb <= 31890:

bat = 75

elif 31890 < sb:

bat = 100

if co1 <= 0:

coI = 0

else:

coI = co1

if co2 <= 0:

coO = 0

else:

coO = co2

if senal > 14:

ph = 14

160

elif senal < 0:

ph = 0

else :

ph = senal

cot = coI - coO

hora = time.strftime("%H:%M:%S")

fecha = time.strftime("%Y-%m-%d")

print('tasa de co2; %s'%(cot))

print('ph: %s'%(ph))

print('latitud: %s '%(lat))

print('longitud: %s '%(long))

print('bateria: %s '%(bat))

print('fecha: %s'%(fecha))

print('hora: %s' %(hora))

ID = ID+1

cur.execute("INSERT INTO FACYMv1 (ID, Fecha, Hora, Latitud, Longitud, Tco2, PH, Bateria) VALUES ('%s','%s', '%s', '%s', '%s', '%s', '%s', '%s')" % (ID, fecha, hora,lat, long, cot, ph, $

# cur.execute("UPDATE FACYMV SET latitud='%s', longitud='%s', ph='%s', co2='%s', bateria='%s'" % (lat, long, ph, cot, bat))

db.commit()

time.sleep(2)

161

Programación en Labview