• No se han encontrado resultados

Diseño e implementación de un sistema inteligente para un edificio mediante IOT utilizando el protocolo de comunicación LORAWAN

N/A
N/A
Protected

Academic year: 2020

Share "Diseño e implementación de un sistema inteligente para un edificio mediante IOT utilizando el protocolo de comunicación LORAWAN"

Copied!
65
0
0

Texto completo

(1)

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA INTELIGENTE PARA UN EDIFICIO MEDIANTE IOT UTILIZANDO EL PROTOCOLO DE COMUNICACIÓN LORAWAN

PRESENTADO POR:

Edward Stiven Rodríguez Moreno Código: 20101005047 Víctor Felipe López Ordoñez Código: 20101005066

Universidad Distrital Francisco José de Caldas Facultad de Ingeniería

Proyecto Curricular Ingeniería Electrónica Bogotá D.C., Colombia

(2)

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA INTELIGENTE PARA UN EDIFICIO MEDIANTE IOT UTILIZANDO EL PROTOCOLO DE COMUNICACIÓN LORAWAN

PRESENTADO POR:

Edward Stiven Rodríguez Moreno Código: 20101005047 Víctor Felipe López Ordoñez Código: 20101005066

Proyecto para optar por el título de:

Ingeniero Electrónico

DIRECTOR:

Ing. Julián Rolando Camargo López

Universidad Distrital Francisco José de Caldas Facultad de Ingeniería

Proyecto Curricular Ingeniería Electrónica Bogotá D.C., Colombia

(3)

NOTA DE ACEPTACIÓN

_________________________________________________ _________________________________________________ _________________________________________________

_________________________________________________

FIRMA DEL DIRECTOR DEL PROYECTO

_________________________________________________

FIRMA DEL REVISOR

(4)

Acuerdo 19 de 1988 del Consejo Superior Universitario Artículo 177: “La Universidad Distrital Francisco José de Caldas no será responsable por las ideas expuestas en esta

(5)

Dedico este proyecto a mi familia especialmente a mis padres, a mi hermana y a mis abuelos por haberme apoyado en todo momento, por todo el amor que me brindaron y por estar conmigo en los momentos más difíciles de este camino.

Edward Rodríguez.

(6)

Resumen

El presente proyecto de grado pretende desarrollar una aplicación para Smartphone que permita monitorear los parámetros eléctricos (voltaje, corriente y potencia) dentro de un edificio, además otros parámetros como la iluminación y el reconocimiento de personas mediante la identificación por radiofrecuencia RFID, todo ello utilizando los conceptos de internet de las cosas y computación en la nube. Para alcanzar dicho objetivo se propuso trabajar en varias etapas. Inicialmente, fue necesario identificar el problema y a partir de este buscar una solución práctica, económica y accesible. Se establecieron los objetivos y el cronograma de trabajo general. Se realizó la selección de los sensores que más se acoplaran a dicho problema, se realizaron pruebas de funcionamiento y conexión con los sistemas embebidos RASPBERRY PI B+ a través de PYTHON y PSoC 4 mediante C++. Luego se implementó el algoritmo para la conexión inalámbrica entre ambos sistemas embebidos usando los módulos LORAWAN, dicho algoritmo se construyó tanto en PYTHON como en C++. Una vez se validó el correcto funcionamiento de lo anteriormente descrito, se diseñó e implemento la aplicación móvil para la interacción con el usuario, a través de ANDROID STUDIO que es el entorno de desarrollo integrado para la plataforma Android. Finalmente, se integraron los sensores y los módulos LORAWAN con los sistemas embebidos y con la aplicación para el completo funcionamiento del sistema de automatización del edificio. Se hicieron pruebas del sistema ubicando los nodos con bastante distancia entre ellos, comprobando así el funcionamiento de cada uno de los sensores además del largo alcance de la conexión inalámbrica que proveen los módulos LORAWAN, se realizó también la conexión entre el sistema embebido encargado de subir los datos a la nube, con el servidor escogido para almacenar los datos en este caso UBIDOTS, finalmente se verificó el correcto funcionamiento de la aplicación que me permite visualizar los datos almacenados en la nube. Se realizó la documentación de cada una de las etapas y procesos que se desarrollaron. Los resultados mostraron que el sistema presenta una muy buena respuesta y un largo alcance de conexión, además que la interfaz de la aplicación permite que su interacción con el usuario sea muy intuitiva.

(7)

Abstract

The present project intends to develop a Smartphone application that allows to monitoring the electrical parameters (voltage, current and power) inside a smart building, besides other parameters like the illumination and the recognition of people by RFID identification, all this Using the concepts of internet of things IoT and cloud computing. To achieve this goal, it was proposed to work in several stages. Initially, it was necessary to identify the problem and from this one to look for a practical, economic and accessible solution. The objectives and the overall work schedule were established. The selection of the sensors that most closely coupled to this problem was performed, and the RASPBERRY PI B + embedded systems were tested for performance and connection via PYTHON and PSoC 4 using C ++. Then the algorithm was implemented for the wireless connection between both embedded systems using the LORAWAN modules, which algorithm was built in both languages PYTHON and C ++. Once the correct operation of the above was validated, the mobile application for the interaction with the user was designed and implemented, through ANDROID STUDIO, which is the integrated development environment for the Android platform. Finally, the sensors and LORAWAN modules were integrated with the embedded systems and with the application for the complete operation of the building automation system. The system was tested by locating the nodes with enough distance between them, checking the operation of each of the sensors in addition to the long range of the wireless connection provided by the LORAWAN modules, also made the connection between the embedded system in charge of climbing The data to the cloud, with the server chosen to store the data in this case UBIDOTS, finally verified the correct operation of the application that allows me to view the data stored in the cloud. Documentation was made of each of the stages and processes that were developed. The results showed that the system has a very good response and a long range of connection, besides that the interface of the application allows its interaction with the user to be very intuitive.

(8)

TABLA DE CONTENIDO

Pag.

1. INTRODUCCION ... 11

2. FUNDAMENTOS PRELIMINARES ... 12

2.1. PLANTEAMIENTODELPROBLEMA ... 12

2.2. OBJETIVOS ... 13

3.1.1.1. Internet de las cosas (IoT) ... 17

3.1.1.2. LORAWAN ... 17

3.1.1.3. RFID ... 18

3.1.1.3.1. Cómo funciona el RFID... 18

3.1.1.4. Sistema embebido ... 19

3.1.1.4.1. Características de un sistema embebido ... 20

3.1.1.5. Computación en la nube ... 20

3.2. ESTADO DEL ARTE... 20

3.3.5. Intercambio de datos Protocolo LORAWAN ... 23

3.3.6. SBC... 24

3.3.7. Servidor en la nube ... 24

3.3.8. Aplicación para Smartphone ... 24

4. DISEÑO ... 25

4.1. ALCANCESYLIMITACIONES ... 25

(9)

5.2. RASPBERRYPI,PSOC4YUBIDOTS ... 29

5.2.1. Raspberry PI ... 29

5.2.2. PSoC 4 ... 30

5.2.3. UBIDOTS ... 31

5.2.3.1. Instalación de UBIDOTS en la RASPBERRY ... 33

5.2.4. Instalación del WIFI en la RASPBERRY ... 34

5.3. RFID,LORAWAN Y RASPBERRY ... 34

5.5.1. Herramientas y Tecnologías utilizadas para la Aplicación ... 40

5.5.1.1. Android ... 40

5.5.1.2. MySQL... 41

5.5.2. FASES DE IMPLEMENTACIÓN ... 42

5.5.2.1. Interfaz de Ingreso ... 42

5.5.2.1.1. Creación de una base de datos de conexión remota en un servidor público 000webhost.com[29] 42

6.7. APLICACIÓNPARAANDROID ... 49

6.8. LORAWAN ... 49

7. CONCLUSIONES ... 51

8. TRABAJOS FUTUROS ... 52

9. REFERENCIAS... 53

(10)

INDICE DE FIGURAS

Pag.

FIGURA 1.CONFIGURACIÓN GENERAL DE UNA RED USANDO LORAWAN[13]. ... 18

FIGURA 2.DIAGRAMA DE BLOQUES DE UN SISTEMA EMBEBIDO TÍPICO. ... 19

FIGURA 24.DATOS PORCENTUALES SOBRE LA DISTRIBUCIÓN DE VERSIONES DE ANDROID, OCTUBRE 2017. ... 41

FIGURA 25.CREACIÓN DE CUENTA 000WEBHOST. ... 42

TABLA 2.TIEMPO DE RESPUESTA DE LOS SENSORES A LAS NOTIFICACIONES. ... 49

(11)

1. INTRODUCCION

La inclusión de los sistemas de automatización de casas y edificios inteligentes se está popularizando con el avance de las aplicaciones de Tecnología de la información y la comunicación. Los sistemas inteligentes ofrecen comodidad tanto en edificios privados como comerciales a través del control remoto de calefacción, ventilación, aire acondicionado, iluminación, etc., y permiten al usuario controlar todo tipo de electrodomésticos remotamente. Una red inteligente de automatización de viviendas y edificios consiste en dispositivos que supervisan y controlan automáticamente los sistemas técnicos en un edificio residencial. Los sistemas de automatización de edificios tienen como objetivo mejorar el control, la supervisión y la administración de estos sistemas mediante la comunicación bidireccional ya sea a través de tecnologías inalámbricas o por cable. Además, a través de la red inteligente, un sistema permite a un usuario controlar el consumo de energía de acuerdo con el precio y la demanda. Al hacerlo, estos sistemas contribuyen al ahorro de energía[1].

Esto sumado al Internet de las Cosas (IoT) que es un paradigma de comunicación reciente que prevé un futuro cercano, en el que los objetos de la vida cotidiana estarán equipados con microcontroladores, transceptores para comunicación digital y pilas de protocolos adecuados que los harán capaces de comunicarse entre ellos y con los usuarios, convirtiéndose en una parte integral de Internet[2]. El concepto de IoT, por lo tanto, apunta a hacer que Internet sea aún más inmersivo y penetrante. Además, al permitir un fácil acceso e interacción con una amplia variedad de dispositivos como, por ejemplo, electrodomésticos, cámaras de vigilancia, sensores de monitoreo, actuadores, pantallas, vehículos, etc., IoT fomentará el desarrollo de varias aplicaciones que hacen uso de la enorme cantidad y variedad de datos generados por dichos objetos para brindar nuevos servicios a ciudadanos, empresas y administraciones públicas. Este paradigma de hecho encuentra aplicación en muchos dominios diferentes, como la automatización del hogar, la automatización industrial, las ayudas médicas, la atención médica móvil, la asistencia a los ancianos, la gestión inteligente de la energía y las redes inteligentes, la automoción, la gestión del tráfico y muchos otros[2].

(12)

2. FUNDAMENTOS PRELIMINARES

2.1. PLANTEAMIENTO DEL PROBLEMA

En la actualidad las ciudades enfrentan grandes desafíos debido a la presión económica, ambiental y la urbanización, esto debido en gran medida al incremento desmesurado de la población, el agotamiento de fuentes de energía convencionales y el gran auge e implementación de las fuentes de energía renovables. Las ciudades actuales buscan lograr auto sustentabilidad, con el fin de responder adecuadamente a las necesidades básicas de instituciones, empresas, y de los propios habitantes, tanto en el plano económico, como en los aspectos operativos, sociales y ambientales. Para alcanzar dicho objetivo usan el poder de redes integradas, sensores inalámbricos y sistemas inteligentes de administración para resolver los desafíos del presente y el futuro[4].

Los sistemas inteligentes ofrecen conveniencia, tanto en residencia privada como en edificios comerciales. Estos sistemas aumentan la comodidad a través del control remoto de la calefacción, ventilación, aire acondicionado, iluminación, y permiten al usuario gestionar los dispositivos sin necesidad de presencia física. El sistema de automatización de viviendas y edificios inteligentes tiene por objeto mejorar el control, la supervisión y administración de estos sistemas que utilizan comunicación de dos vías, ya sea a través de tecnologías inalámbricas o por cable.

Además, a través de una red inteligente se le da la posibilidad al usuario para controlar el uso de energía. De este modo, estos sistemas contribuyen a ahorro de energía[1][5], esto juega un papel clave en el esfuerzo por disminuir los efectos ambientales causados por las fuentes de energía convencionales, promoviendo la inclusión de energías renovables al sistema de energía convencional y presidiendo a la aparición de esquemas de generación distribuida[5][6].

Debido a la gran importancia que toman la confiabilidad y la calidad de los servicios en la implementación de un Smart Building (Edificio inteligente), deben ser implementadas técnicas de monitoreo que se ajusten al comportamiento dinámico y a los grandes volúmenes de datos manejados.

Por estas razones, el presente proyecto de grado propone el diseño de un sistema de automatización, monitoreo y control de los diferentes parámetros y dispositivos que intervienen dentro de un edificio inteligente, todo esto basado en el concepto del internet de las cosas (IoT)[7]. Este sistema aprovechará los datos proporcionados por sensores colocados en las instalaciones del edificio, estos datos serán enviados a un módulo central haciendo uso del sistema inalámbrico de comunicaciones LoRa[8], después de esto serán procesados y guardados en la nube[3] a través de un sistema embebido conectado a internet mediante un módulo WI-FI.

(13)

2.2. OBJETIVOS

2.2.1. Objetivo General

• Diseñar e implementar un sistema de automatización, control y monitoreo de los parámetros eléctricos (Voltaje, Corriente y Potencia), de la iluminación y del control de usuarios utilizando identificación por radiofrecuencia dentro de un edificio mediante una aplicación para smartphone utilizando los conceptos de internet de las cosas y computación en la nube.

2.2.2. Objetivos Específicos

• Definir las especificaciones técnicas de cada una de las etapas que componen el sistema de acuerdo a las características planteadas.

• Seleccionar los dispositivos de sensado, adquisición, procesamiento de datos e interfaz de usuario que mejor se adapten a los requerimientos técnicos del sistema. • Implementar y validar el correcto funcionamiento del prototipo del sistema a partir

(14)

2.3. JUSTIFICACIÓN

Las telecomunicaciones inalámbricas abrieron un camino hacia la optimización y manejo de procesos de manera remota gracias a la eliminación del cableado como medio de transmisión, esto sumado a la implementación de nuevas tecnologías como la computación en la nube[3] y el concepto de Internet de las cosas (IoT)[7] hacen que cada día sea más fácil obtener, manipular y guardar remotamente los datos de los dispositivos que estén conectados a la red, para de esta manera poderlos controlar desde cualquier sitio que posea una conexión de internet, facilitando así la resolución u optimización de los problemas para los cuales se implementan estas tecnologías.

El desarrollo de las nuevas tecnologías ha influido directamente en la vida de las personas y de la sociedad, por lo cual se hace indispensable la participación de la ingeniería en el mejoramiento e implementación de soluciones de los diferentes problemas cotidianos a los cuales se enfrentan las personas. Con la implementación de un sistema como el propuesto se pretende innovar y dar solución a un problema de seguridad, conectividad y ahorro de energía. Por tal motivo este proyecto debe encadenar múltiples áreas de conocimiento de la ingeniería, enfocándolas a un objetivo común que es desarrollar un sistema de control y monitoreo de los parámetros dentro de un Smart building.

(15)

2.4. METODOLOGIA

Para alcanzar los objetivos propuestos en este proyecto que busca desarrollar una aplicación para Smartphone para monitorear los parámetros eléctricos dentro de un edificio inteligente (Potencia, Voltaje, Corriente), además de permitir controlar la iluminación y el ingreso y salida de los habitantes, se propuso trabajar en tres fases. (I). Fase de diseño, (II). Fase de Implementación y, (III). Fase de Evaluación.

2.4.1. FASE DE DISEÑO

Para poder plantear la idea fue necesario identificar el problema descrito anteriormente y por medio de éste buscar una solución práctica, económica y accesible. En esta etapa se describió el problema, los objetivos y la guía de trabajo en general, así como se hizo necesaria la redacción del anteproyecto presentado anteriormente.

2.4.2. FASE DE IMPLEMENTACIÓN

Se presenta el aspecto práctico del proyecto desarrollado para alcanzar el objetivo general. Para desarrollar el sistema se crearon varias etapas:

• Realizar la selección de los sensores adecuados para el sistema, haciendo un estudio de del entorno y teniendo en cuenta que éstos contaran con un tiempo de respuesta elevado para poder visualizar los datos en tiempo real. En esta etapa se realizó la selección y pruebas de diferentes sensores que fueron utilizados en el sistema. De la misma forma se realizaron estudios de sus tiempos de respuesta y al medio al cual se verían expuestos, ya que al estar al aire libre el funcionamiento podría verse afectado.

• Conexión entre la red de sensores y los sistemas embebidos. Durante esta etapa se realizó la conexión entre la red de sensores y los sistemas embebidos, para este caso tanto a la RASPBERRY PI como al PSoc 4.

• Comunicación inalámbrica mediante el protocolo LORAWAN entre las 2 tarjetas de desarrollo. Se calibraron y probaron los módulos LORAWAN para que transmitieran información entre ellos de manera inalámbrica, además se probó el rango de trasmisión entre ambos módulos para verificar su largo alcance.

• Procesamiento y almacenamiento de la información que se extrajo. Luego de realizar la conexión entre los sensores y de haber conectado inalámbricamente las tarjetas de desarrollo, se prosiguió a procesar la información que se extrajo de los sensores para posteriormente poder subirla a la nube por medio de una conexión a internet, además de esto se probó la comunicación con el módulo de identificación por radiofrecuencia RFID para probar su funcionamiento el cual será necesario para la implementación del sistema de apertura de la puerta.

(16)

remotamente, que además me muestre quien fue la última persona que ingreso o salió del edificio y que advierta al usuario por medio de notificaciones que la puerta está abierta.

• Integración de la red de sensores, las tarjetas de desarrollo, los módulos de comunicación LORAWAN y la aplicación para Android. En esta etapa se integraron cada una de las etapas anteriores para conformar el sistema completo.

2.4.3. FASE DE EVALUACIÓN

Finalmente, una vez desarrollada e implementada la idea principal del proyecto, se realizó la consolidación de la información obtenida y se presentarán en forma de evidencias así:

Prueba Practica

Se hará una presentación del sistema funcionado correctamente ubicando los 2 nodos del sistema a una distancia de al menos 10 metros dentro de un edificio, demostrando todas las ventajas que conlleva. Se responderán preguntas y se aclararán todas las dudas que puedan surgir frente al proceso de desarrollo y el funcionamiento del sistema.

Documentación

(17)

3. MARCO REFERENCIAL

3.1. MARCO TEÓRICO 3.1.1. Definiciones

3.1.1.1. Internet de las cosas (IoT)

El Internet de las Cosas (IoT) es un paradigma de comunicación reciente que prevé un futuro cercano, en el que los objetos de la vida cotidiana estarán equipados con microcontroladores, transceptores de comunicación digital, y pilas de protocolos adecuados que les haga capaces de comunicarse entre sí y con los usuarios, convirtiéndose en una parte integral de la Internet[10]. El concepto de IoT, por lo tanto, tiene por objeto hacer que Internet sea aún más envolvente y penetrante. Por otra parte, al permitir un fácil acceso y la interacción con una amplia variedad de dispositivos como, por ejemplo, electrodomésticos, cámaras de vigilancia, el seguimiento de los sensores, actuadores, displays, vehículos, y así sucesivamente, el IoT fomentará el desarrollo de una serie de aplicaciones que hacen uso de la potencialmente enorme cantidad y variedad de datos generados por este tipo de objetos para proporcionar nuevos servicios a los ciudadanos, empresas y administraciones públicas.

Este paradigma de hecho encuentra aplicación en muchos campos diferentes, tales como la domótica, automatización industrial, ayudas médicas, cuidado de la salud móvil, la asistencia de ancianos, la gestión inteligente de la energía y las redes inteligentes, la automoción, la gestión del tráfico, y muchos otros[11].

Como una tecnología emergente, se espera que el Internet de las cosas (IoT) ofrezca soluciones prometedoras para transformar el funcionamiento y el papel de muchos sistemas industriales existentes, tales como los sistemas de transporte y sistemas de fabricación. Por ejemplo, cuando el IoT se utiliza para la creación de sistemas de transporte inteligentes, la autoridad de transporte será capaz de rastrear la ubicación actual de cada vehículo, controlar su movimiento y predecir su futura ubicación y posible tráfico por carretera.

El término IoT fue propuesto inicialmente para referirse únicamente a objetos conectados mediante la tecnología de identificación por radiofrecuencia (RFID). Más tarde, los investigadores relacionan IoT con más tecnologías como sensores, actuadores, dispositivos GPS y dispositivos móviles. Hoy en día, una definición comúnmente aceptada de IoT es una infraestructura de red global y dinámica con capacidades de autoconfiguración basado en protocolos de comunicación estándar e interoperables, donde las "cosas" físicas y virtuales tienen identidades, atributos físicos, personalidades virtuales, utilizan interfaces inteligentes, y están perfectamente integrados en la red de información[2].

3.1.1.2. LORAWAN

(18)

La arquitectura de red LORAWAN típicamente se presenta en una topología en estrella en la que las puertas de enlace son un puente transparente de transmisión de mensajes entre dispositivos y un servidor de red central. Las puertas de enlace están conectadas al servidor de red a través de conexiones IP estándar, mientras que los dispositivos utilizan la comunicación inalámbrica de un solo salto a una o muchas puertas de enlace. Toda la comunicación de punto final no solo es bi-direccional, sino que también soporta la operación de multidifusión que permite la actualización del software a través del aire o de otros mensajes de distribución masiva para reducir el tiempo de comunicación en el aire[8][12].

LORAWAN también se basa en el uso de nodos, puertas de enlace que de manera similar a los puntos de acceso Wi-Fi recogen las señales del aire y se convierten, y un servidor de red (toda una infraestructura distribuida en algunos casos) que sirve eficazmente como puente de datos a la aplicación. Los datos transmitidos por un nodo pueden ser recogidos simultáneamente por varias puertas de enlace, mientras que las claves de cifrado aseguran que la red va a aceptar el mensaje y la aplicación puede procesar los datos descifrados. En otra característica especial, LORAWAN también permite que los datos se transmitan a los sensores[13].

Figura 1. Configuración general de una red usando LORAWAN[13].

3.1.1.3. RFID

La Identificación por radio frecuencia, o RFID, es un término genérico para definir tecnologías que emplean ondas radiales para identificar de manera automática a personas u objetos. Existen varios métodos de identificación, pero el más común es el almacenar un número de serie que identifica a una persona o a un objeto, y tal vez otra información, en un microchip que se anexa a una antena (el microchip y la antena en conjunto se denominan transpondedor de RFID o etiqueta de RFID). La antena permite que el microcircuito transmita la información de identificación a un lector. El lector convierte las ondas radiales emitidas por la etiqueta RFID en información digital que puede ser pasada a computadoras que la pueden utilizar[14].

3.1.1.3.1. Cómo funciona el RFID

Todo sistema RFID se compone de un interrogador o sistema de base que lee y escribe datos en los dispositivos y un "transponder" o transmisor que responde al interrogador[15].

(19)

• El campo de radiofrecuencia genera una corriente eléctrica sobre la bobina de recepción del dispositivo. Esta señal es rectificada y de esta manera se alimenta el circuito[15].

• Cuando la alimentación llega a ser suficiente el circuito transmite sus datos[15].

• El interrogador detecta los datos transmitidos por la tarjeta como una perturbación del propio nivel de la señal[15].

3.1.1.4. Sistema embebido

Un sistema embebido es una combinación de hardware y software, ya sea de capacidad fija o programable, que está diseñado específicamente para una función en particular. Máquinas industriales, automóviles, equipos médicos, cámaras, electrodomésticos, aviones, máquinas expendedoras y juguetes (así como el teléfono celular más evidente y PDA) son algunos de los posibles anfitriones de un sistema embebido. Los sistemas embebidos que son programables están provistos de interfaces de programación y la programación de sistemas embebidos es una ocupación especializada[16]. El diagrama de bloques de un sistema embebido típico se muestra en la Figura 2.

Figura 2. Diagrama de bloques de un sistema embebido típico.

El sistema es una forma de trabajar, organizar o realizar una o varias tareas de acuerdo con un conjunto fijo de reglas, programas o planes. En otras palabras, una disposición en la que todas las unidades deben trabajar juntas de acuerdo a un programa o plan. Un sistema embebido es un sistema que ha incorporado el software en el hardware, lo que hace de este un sistema dedicado para llevar a cabo una parte específica de una aplicación o producto. Procesa un conjunto fijo de instrucciones pre programadas para controlar los equipos electromecánicos que pueden ser parte de un sistema aún más grande (no es un ordenador con teclado, pantalla, etc.)[16].

(20)

3.1.1.4.1. Características de un sistema embebido

• Los sistemas embebidos son de aplicación específica y única función, la aplicación se conoce a priori, por lo cual el programa se ejecuta repetidamente.

• La eficiencia es de suma importancia para sistemas embebidos. Están optimizados para el uso de la energía, el tamaño del código, tiempo de ejecución, el peso, dimensiones, y el costo.

• Los sistemas embebidos normalmente están diseñados para cumplir con las restricciones de tiempo real, un sistema de tiempo real reacciona a los estímulos desde el objeto/operador controlado dentro del intervalo de tiempo dictado por el medio ambiente. Para los sistemas en tiempo real, las respuestas correctas que llegan demasiado tarde (o incluso antes de tiempo) están equivocadas.

• Los sistemas embebidos a menudo interactúan con el mundo exterior a través de sensores y actuadores y por lo tanto son típicamente sistemas reactivos; un sistema reactivo está en continua interacción con el entorno y ejecuta a un ritmo determinado por ese medio.

• En general, tienen interfaz de usuario mínima o nula.

3.1.1.5. Computación en la nube

Hay muchas definiciones diferentes de la computación en nube. Más de 20 definiciones fueron discutidas y comparados en [17]. El Instituto Nacional de Estándares y tecnología (NIST) ha dado una definición de referencia completa que cubre y resume el concepto principal de la computación en nube. NIST define la computación en la nube como: "La computación en la nube es un modelo que permite un cómodo acceso, en demanda de la red a un conjunto compartido de recursos informáticos configurables que pueden ser rápidamente aprovisionados y liberados con el mínimo esfuerzo de administración o proveedor de servicios de interacción con rapidez"[18].

El modelo de computación en la nube ofrece la promesa de un gran ahorro de costes combinados con el aumento de la agilidad de TI. Se considera fundamental que el gobierno y la industria comiencen adopción de esta tecnología en respuesta a las limitaciones económicas. Sin embargo, la tecnología de la computación en nube desafía muchos enfoques tradicionales de centro de datos y aplicaciones de empresa de diseño y gestión. Actualmente se está utilizando la computación en nube; Sin embargo, la seguridad, la interoperabilidad y la portabilidad son citadas como las principales barreras para la adopción más amplia[3][18].

El objetivo a largo plazo es proporcionar liderazgo y orientación en torno al paradigma de computación en nube para catalizar su uso dentro de la industria y el gobierno. NIST pretende acortar el ciclo de adopción, lo que permitirá un ahorro de costes a corto plazo y una mayor capacidad para crear y desplegar rápidamente aplicaciones empresariales. NIST tiene como objetivo fomentar los sistemas y prácticas que apoyan los requisitos de interoperabilidad, portabilidad y seguridad que son adecuadas y factibles para los escenarios de uso importantes de computación en nube[3][18].

3.2. Estado del arte

(21)

de los tomacorriente dentro del edificio como el Ankuoo NEO PRO Wi-Fi Smart Switch que es un tomacorriente que tiene un temporizador programable, conexión inalámbrica vía wi-fi, una capacidad eléctrica de 1800W, esto en la versión básica, además cuenta con una versión pro que me permite controlar el consumo energético para así reducir costos de una manera más óptima mediante una aplicación para Smartphone[19].

Otro de los dispositivos utilizados masivamente dentro de la automatización de hogares y edificios son los monitores de consumo energético que son dispositivos que como su nombre lo indica, nos dan un estimado del consumo eléctrico del inmueble durante un periodo de tiempo determinado, lo que permite hacer un uso más óptimo de la energía ayudando así al racionamiento energético, como por ejemplo el Eyedro EHWEM1 que viene en 2 versiones: la económica que me brinda 2 sensores de 200A cada uno, una aplicación para Smartphone que me permite visualizar el consumo eléctrico y los costos, son sensores no invasivos. Y la versión completa que además de todo lo mencionado anteriormente brinda una conexión Wireless entre los módulos[20].

Además de esto muchas compañías ofrecen paquetes completos para la gestión de dispositivos dentro de una edificación, por ejemplo, la empresa Horus ofrece varios paquetes, cada uno de ellos para gestionar un aspecto dentro del edificio[21]. Ofrece paquetes para controlar la iluminación, en la cual instalan interruptores propios que permiten prender y apagar las luces remotamente con una aplicación para Smartphone, además de ello permiten graduar la intensidad de la luz y programar la hora de encendido y apagado[21]. También ofrecen paquetes para controlar la seguridad, que incluye cámaras HD con sensores de movimiento, sirenas para interiores, sensores para verificar la apertura de puertas y ventanas, y todo esto se puede controlar y verificar remotamente mediante una aplicación para Smartphone[21]. Otro de los paquetes que ofrece es un paquete para gestionar la climatización dentro del edificio, este paquete incluye un sistema de calefacción con un termostato conectado a la red, por medio del termostato se puede programar el aire acondicionado para que se encienda o se apague en horarios programados o cuando el ambiente alcance la temperatura deseada permitiéndo ahorrar energía, todo esto remotamente mediante una aplicación para Smartphone[21].

En este momento, las aplicaciones del internet de las cosas son muy numerosas, ya que es un concepto relativamente nuevo (más que todo en Latinoamérica), cada día los ingenieros experimentan más y más con nuevos posibles aplicativos en esta área, ya que al atravesar el umbral de conectar a Internet más objetos que personas, se abrió una enorme ventana de oportunidades para la creación de aplicaciones en las áreas de la automatización, el uso de sensores y la comunicación entre máquinas. De hecho, las posibilidades son casi infinitas. Los siguientes ejemplos ponen de relieve algunas de las maneras en que el internet de las cosas mejora la vida de las personas[22].

• La vaca sagrada: En esta idea se plantea insertar sensores en las orejas del ganado, esto con el fin de que los sensores permitan al dueño del ganado monitorear la salud y el movimiento de las vacas para poder obtener carne más saludable y abundante para el consumo humano. En promedio cada vaca genera alrededor de 200 Megabytes de información al año[22].

(22)

0,03. Es evidente la desigualdad que existe ya que los más pobres pagan 37 veces más por el agua, que es una necesidad humana básica. La explicación de porqué existe esta diferencia de precios es que en las zonas más pobres es más costoso prestar el servicio, ya que en estas zonas hay una infraestructura deficiente, presentan situaciones de robo y pérdidas de agua[22].

Gracias a sus sensores omnipresentes y a sistemas conectados, IOT proporcionará a las autoridades más información y control a fin de identificar y corregir estos problemas. De esta forma, será posible que los servicios públicos funcionen con más rentabilidad y así exista un incentivo adicional para mejorar las infraestructuras de los vecindarios más pobres. El aumento de la eficacia permitirá disminuir los precios[22].

• Mejor calidad de vida para los ancianos: Ya que la población de ancianos es cada vez mayor, se puede crear un dispositivo portátil que permita monitorear los signos vitales de una persona y envíe alertas a los médicos encargados de su salud, o pueda percibir si alguna persona que sufra de algún impedimento tenga algún inconveniente para que pueda ser asistido con mayor rapidez[22].

3.3. Etapas que componen el sistema

El diagrama de bloques general del sistema propuesto en este proyecto puede verse en la figura 3.

Figura 3. Diagrama de bloques general del sistema.

3.3.1. Sensores

(23)

eléctricos (Voltaje y corriente), esto con el fin de poder saber la potencia consumida dentro del edificio, para poder tomar acciones pertinentes teniendo en cuenta el consumo y su costo asociado durante un determinado periodo de tiempo, además se tendrá un sensor de identificación por radiofrecuencia RFID, cuyo objetivo será el de identificar el ingreso y salida de una persona al edificio mediante una tarjeta personal.

3.3.2. Acondicionador de señales

El acondicionamiento de una señal, es el proceso a través del cual se adecua una señal ya sea de corriente o voltaje mediante amplificadores, resistencias y demás elementos electrónicos, para asegurar la estabilidad suficiente de la señal y para acotar la entrada a rangos de voltaje adecuados para un aprovechamiento eficiente. Debido a que los ADC manejan niveles lógicos de voltaje (5/3,3 V), se hace necesario un acondicionamiento de las tensiones y corrientes manejadas por la red eléctrica ya que estos niveles tan señal digital, esto con el fin de facilitar su procesamiento y de hacerla más inmune al ruido y otras interferencias electrónicas las cuales afectan en mayor medida a las señales analógicas. Este tipo de dispositivo se utiliza principalmente en equipos electrónicos como computadores, grabadores de sonido y de video, y equipos de telecomunicaciones. Entre los tipos de conversores se encuentran los siguientes:

• ADC de aproximación sucesiva. • ADC de Voltaje a Frecuencia. • ADC Sigma-Delta.

Dado que un microcontrolador no puede procesar señales analógicas por si mismo el uso de un ADC es obligatorio ya que este digitaliza las señales de tensión y corriente para que de esta manera el microcontrolador las pueda procesar y empaquetar para posteriormente ser enviadas, sin embargo, la gran mayoría de microcontroladores que existen en el mercado poseen uno o varios ADC incorporados.

3.3.4. Actuadores

Un actuador es un dispositivo capaz de transformar energía hidráulica, neumática o eléctrica en la activación de un proceso con la finalidad de generar un efecto sobre un proceso automatizado. Este recibe la orden de un regulador o controlador y en función a ella genera la orden para activar un elemento final de control como, por ejemplo, una válvula. Los actuadores dentro del edificio tendrán la función de conexión y desconexión de la red de iluminación del edificio como medida para la correcta gestión de los recursos energéticos.

3.3.5. Intercambio de datos Protocolo LORAWAN

(24)

energía, sin embargo, su envió a través de cables es poco práctico debido a la gran cantidad de cable que se requiere lo que dificultaría enormemente su instalación, por lo tanto se hace necesario el uso de un protocolo de comunicaciones inalámbrico en este caso LORAWAN.

3.3.6. SBC

El SBC o computadora de placa reducida es una computadora completa en un sólo circuito. El diseño se centra en un sólo microprocesador con la RAM, puestos de entrada/salida y todas las demás características de un computador funcional en una sola tarjeta que suele ser de tamaño reducido, y que tiene todo lo que necesita en la placa base.

En este sistema es la encargada de obtener los datos enviados desde el microcontrolador y subirlos a la nube. También es el encargado de obtener datos proporcionados por la aplicación para Smartphone que se encuentran en la nube, para realizar la conexión y desconexión del sistema de iluminación.

3.3.7. Servidor en la nube

Haciendo uso de un servicio de almacenamiento en la nube se almacenarán y analizarán los datos provenientes de los señores para poder tener un uso estimado del consumo de energía en un lapso de tiempo determinado para así tomar precauciones para la correcta gestión energética dentro del edificio mediante acciones como desconectar la red de iluminación.

3.3.8. Aplicación para Smartphone

(25)

4. DISEÑO

Para llevar a cabo este proyecto fue necesario identificar el problema descrito con anterioridad, para de esta manera buscar una solución práctica, económica y accesible. En esta etapa se describió el problema, los objetivos, alcances, limitaciones y la guía de trabajo en general, así como se hizo necesaria la escritura del anteproyecto escrito anteriormente.

4.1. ALCANCES Y LIMITACIONES 4.1.1. Alcances

El proyecto tiene como alcance la implementación de un sistema de medición de los parámetros eléctricos dentro de un edificio, la identificación por radiofrecuencia RFID como mecanismo de seguridad para el ingreso de personas, y de conexión y desconexión de la red de iluminación del edificio mediante IoT, haciendo uso del protocolo LORAWAN. El prototipo presentara las siguientes características de medición, en busca de limitar los parámetros a monitorear y el rango que estos presenten.

• Voltajes de hasta 120 VRMS • Corrientes de hasta 5 A. • Potencias.

Los datos que se monitoreen estarán disponibles en una base de datos en la nube para que el usuario pueda realizar análisis del consumo eléctrico. Además, se implementará una aplicación para Smartphone que permita acceder de manera más rápida, privada y segura a los datos recolectados, esta aplicación también me permitirá controlar el encendido y apagado de las luces y enviara alertas cuando alguna persona ingrese o salga del edificio.

4.1.2. Limitaciones

• Las mediciones realizadas por el prototipo estarán sujetas a las características de los sensores adquiridos para tal fin. Por lo tanto, se verán sujetas a los rangos disponibles de estos, los cuales no podrán aumentarse para evitar causar daños a etapas posteriores.

• La resolución de los datos estará sujeta al embebido utilizado para la digitalización de las señales monitoreadas.

• La transmisión de datos estará sujeta al correcto funcionamiento de los módulos adquiridos para este fin, dentro de las distancias y potencias que estos presenten. • Aunque se proponen un diseño y un integrado para sensor de voltaje y de corriente

respectivamente, queda fuera del alcance de este proyecto su implementación, dado que se utilizaran señales simuladas para realizar las pruebas de funcionamiento

La etapa de interfaz para el usuario se manejará mediante una aplicación para Smartphone, la cual permitirá el acceso a la información recolectada, la aplicación se instalará y probará en dispositivos disponibles en el momento de realizar la validación del prototipo, por lo cual no se podrá asegurar su correcto funcionamiento en otro dispositivo con un sistema operativo o versión diferente.

(26)

Se contó con la asesoría del ingeniero Julián Rolando Camargo, y el desarrollo del proyecto se llevó a cabo por los estudiantes de ingeniería electrónica de la Universidad Distrital Edward Stiven Rodríguez y Víctor Felipe López. Además de las contribuciones hechas por el revisor el Ingeniero José Noé Poveda en la evaluación que realizó.

4.2.2. Físicos y Materiales

Se hará necesaria la adquisición de los sensores seleccionados, las tarjetas de desarrollo, módulo WIFI y módulos LORAWAN. Se contará en la etapa de implementación con un televisor que tenga puerto HDMI para poder programar la RASPBERRY Pi por medio de la interfaz gráfica. De igual forma se necesita para el control de la tarjeta de desarrollo un cargador de 5V que suministre la energía, un mouse y un teclado.

4.2.3. Económicos

Para el desarrollo adecuado del sistema propuesto, se contará con el presupuesto de la Tabla 1, en el que se muestra el cálculo de los gastos para la obtención de los equipos y materiales necesarios para lograr el objetivo

Tabla 1. Costos

EQUIPO O MATERIAL PRECIO

RASPBERRY Pi 1 modelo B+. $ 120.000

Adaptador de red WIFI. $ 20.000

PSoC 4LP. $ 30.000

Sensores. $ 100.000

Elementos adicionales. $ 50.000

(27)

5. IMPLEMENTACIÓN

5.1. Selección de los Sensores y Módulos

Para la selección de los sensores que se implementaron en el sistema se tuvo en cuenta que éstos contaran con un tiempo de respuesta elevado para poder visualizar los datos en tiempo real. A continuación, se muestran los sensores seleccionados.

5.1.1. RFID

En el desarrollo del proyecto se utiliza el lector RFID-RC522. Este módulo da la opción de controlarse con SPI o comunicación serial UART. Este dispositivo cuenta con 64 bloques de memoria que permiten su configuración y cada bloque tiene una capacidad de 16 bytes. Al realizar la lectura de un dispositivo pasivo obtiene su número de serie (5 valores hexadecimales), sus principales características son las siguientes[23].

• Voltaje de operación: 3.3V DC

• Corriente de operación máxima: 30mA • Frecuencia de operación: 13.56MHz • Distancia de lectura: 0~60mm • Velocidad máxima: 10Mbit/s • Dimensiones: 40*60 mm

Figura 4. Módulo RFID-RC522

5.1.2. Sensor de Corriente

Se recomienda el uso del sensor de corriente ACS7121. Este es un sensor de corriente lineal de efecto Hall, tiene una sensibilidad de 100mV/A, sus principales características son las siguientes[24].

• Voltaje de operación: 5 VDC

• Corriente de operación máxima: 13mA • Ancho de banda: 80 kHz

(28)

Figura 5. Circuito Sensor de corriente ACS7121 Figura 6. Sensor de corriente ACS7121

5.1.3. Sensor de voltaje

Se propone el diseño de un divisor de voltaje, dicho divisor de voltaje se logra haciendo uso del esquemático de la figura 1:

Figura 7. Esquemático sensor de Voltaje.

Donde la salida ADC es una señal DC de 0 a 3.3V que representa el voltaje RMS de la red electrica, además de esto se pone un seguidor de voltaje polarizado a 5V y -5V de esta manera se asegura que el voltaje no sobrepase los 3.4V sin importar la tensión de la red para evitar daños en el conversor Analógico a Digital.

5.1.4. Módulo LORAWAN

En el desarrollo de este proyecto se utiliza el módulo RN2903 que es un módulo de 915 MHz totalmente certificado, basado en tecnología inalámbrica LoRa. El RN2903 utiliza una modulación de espectro única dentro de la banda sub-GHz para largo alcance, baja potencia y capacidad alta de red.

(29)

El RN2903 tiene la pila de protocolos completa de LORAWAN™ en el módem y es fácil de configurar a través de simples comandos ASCII a través del UART, sus principales especificaciones son las siguientes[24]:

• Largo alcance: superior a 15 km

• Bajo consumo de energía por más de 10 años de vida de la batería • Opera en la banda de 915 MHz

• Protocolo de LORAWAN clase A integrado

• Interfaz de comandos ASCII sobre UART fácil de usar • Voltaje de alimentación: 2.1 V a 3.6 V

• Rango de temperatura: 40 ºC a 85 ºC

• Potencia de salida ajustable hasta +18.5 dBm

• Alta sensibilidad de recepción reducida hasta -146 dBm • 14 GPIO para control, estado y ADC

• Excelente inmunidad de interferencia • Encriptado AES-128 seguro

• Certificado FCC e IC

• Ecológico y cumple con la directiva RoHS

Figura 8. Módulo RN2903

5.2. RASPBERRY PI, PSOC4 Y UBIDOTS 5.2.1. Raspberry PI

Es un ordenador de placa reducida o (placa única) (SBC) de bajo coste desarrollado en Reino Unido por la Fundación RASPBERRY Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas[25].

Es un producto con propiedad registrada pero de libre uso. El software es de código abierto, siendo su sistema operativo oficial una versión adaptada de Debian, denominada RaspBian, aunque permite otros sistemas operativos, incluido una versión de Windows 10.

En realidad, se trata de una diminuta placa base de 85 x 54 milímetros (del tamaño aproximado de una tarjeta de crédito) en el que se aloja un chip Broadcom BCM2835 con procesador ARM hasta a 1 GHz de velocidad (modo Turbo haciendo overclock), GPU VideoCore IV y 512 Mbyte de memoria RAM.

(30)

minijack de audio y un puerto USB 2.0 (modelos A y A+, B dispone de dos USB y B+ y RASPBERRY Pi 2 disponen de 4 USB).

En cuanto a la conexión de red, se dispone de un puerto Ethernet (los modelos A y A+ no disponen de puerto Ethernet) para conectar un cable RJ-45 directamente al router o se puede recurrir a utilizar cualquier adaptador inalámbrico WIFI compatible.

La RASPBERRY Pi B+ no sería una versión renovada completamente de la RASPBERRY PI. Aunque si tiene algunos cambios respecto a su predecesor, el producto continúa la misma línea de diseño tanto en el aspecto económico como tecnológico. Estas son sus especificaciones[26]:

• Procesador: Broadcom BCM2835 SoC full HD • Memoria RAM: 512 MB SDRAM 400 MHz • Almacenamiento: tarjeta microSD

• Puertos USB: cuatro puertos USB 2.0 • Energía: 600mA hasta 1.8A a 5V • Pines GPIO: 40.

Figura 9. Raspberry Pi Modelo B+

5.2.2. PSoC 4

(31)

USB o una fuente de alimentación externa. El voltaje de entrada es de 5 V de USB o un suministro variable de una fuente externa. Las siguientes son sus especificaciones[27]:

• Número de pieza de PSoC4: CY8C4245AXI-483 • Velocidad de la CPU: 48 MHz

• Flash: 32 KB • SRAM: 4 KB

• Bloques digitales universales: 4 • Comparadores: 2

• Amplificadores operacionales: 2 • ADC: SAR 1 x 12-bit (1 Msps) • CapSense: Sí

• Unidad LCD directa: Sí • I2C/SPI/UART Configurable: 2 • GPIO: 36

Figura 10. PSoC 4 Prototyping Kit

5.2.3. UBIDOTS

UBIDOTS es un servicio en la nube que te permite almacenar y analizar información de sensores en tiempo real. Podrás crear aplicaciones para el Internet de las Cosas sin necesidad de tener conocimientos en programación web o bases de datos.

• Creación de una cuenta.

(32)

Figura 11. Interfaz de inscripción en UBIDOTS.

Una vez se es usuario de UBIDOTS se puede proceder a crear fuentes y variables.

• Creación de fuentes.

Las fuentes son los dispositivos a través de los cuales se suben o se descargan los datos de los sensores. En la figura 11 se muestra la interfaz que tiene la página para crear una fuente.

Figura 12. Interfaz de creación de una fuente en UBIDOTS.

• Creación de variables.

(33)

Figura 13. Creación de un variable dentro de UBIDOTS

A cada variable creada, UBIDOTS le asigna un ID único que servirá para modificar o acceder a la variable.

Figura 14. ID de la variable.

• Obtención de la llave de usuario (API KEY).

Al crear una cuenta UBIDOTS le asigna al usuario una llave única (Api Key) que es necesaria para identificar al usuario al momento de subir o descargar datos de las variables.

Figura 15. API KEY del usuario de UBIDOTS.

(34)

Para poder utilizar las librerías que provee UBIDOTS para el manejo de la información proveniente de la RASPRBERRY, se deben instalar los componentes necesarios. Primero se deben actualizar los componentes de la RASPBERRY ejecutando los siguientes comandos:

• $ sudo apt-get update • $ sudo apt-get upgrade

Después de esto se instalan las librerías de UBIDOTS ejecutando los siguientes comandos:

• $ sudo apt-get install python-setuptools • $ sudo easy_install pip

• $ sudo pip install ubidots

Una vez termine la instalación, se pueden usar las librerías de UBIDOTS en Python.

5.2.4. Instalación del WIFI en la RASPBERRY

Aunque la RASPBERRY cuenta con un puerto Ethernet que le brinda conexión a internet, para la implementación de este proyecto se requiere que la tarjeta se pueda conectar a internet de manera inalámbrica. Por esta razón se ha instalado en uno de los puertos USB 2.0 el adaptador WIFI TL-WN725N de Tp-link.

Figura 16. Adaptador WIFI Tp-link TL-WN725N

Para poder conectar la RASPBERRY a internet utilizando este módulo se debe descargar e instalar el driver del mismo ejecutando los siguientes comandos:

• $ wget http://www.fars-robotics.net/8188eu-4.9.35-1014.tar.gz • $ tar xzf 8188eu-4.9.35-1014.tar.gz

• $ ./install.sh

Una vez se ejecutan estas líneas en la consola, el driver queda instalado y al reiniciar la RASPBERRY el módulo proporciona conexión inalámbrica a internet.

5.3. RFID, LORAWAN y RASPBERRY 5.3.1. RFID

(35)

del módulo RFID a un pin de propósito general de la RASPBERRY (pin 22), La conexión se muestra en la siguiente figura.

Figura 17. Conexión de la RASPBERRY PI y el módulo MFRC-522

Para que esta conexión funcione se debe verificar que el módulo SPI de la RASPBERRY este activado, en caso contrario se debe activar en el menú de configuración de interfaces de la Raspberry

Figura 18. Menú para habilitar SPI en RASPBERRY Pi.

Para el correcto funcionamiento del módulo RFID se deben configurar los registros TModeReg, TPrescalerReg, TReloadReg, entre otros registros que son los encargados de definir aspectos funcionales del módulo como modos de transmisión y recepción y los ajustes para el temporizador interno, en este caso se utiliza una librería externa que se encarga de realizar esta configuración.

(36)

Se escogió el protocolo de comunicación UART para realizar la conexión entre la RASPBERRY Pi y el módulo RN2903. Se deben conectar los pines TX y RX del módulo RN2903 a los pines TX (pin 8) y RX (pin 10) de la Raspberry.

Para que esta conexión funcione se debe verificar que el módulo UART de la RASPBERRY este activado, en caso contrario se debe activar en el menú de configuración de interfaces de la Raspberry

Figura 19. Menú para habilitar UART en RASPBERRY Pi.

Se debe tener en cuenta el módulo LORAWAN tiene 2 modos de funcionamiento, para este caso se realiza la transmisión mediante el modo p2p (point to point), además de esto se debe configurar el módulo UART de la Raspberry para configurar que puerto queremos usar, la paridad, si se tienen o no bits de parada, el baudrate, entre otros parámetros de modo que se sincronice con el módulo RN2903. El código utilizado para configurar el módulo serial puede verse en la siguiente figura.

Figura 20. Configuración del módulo serial de la Raspberry.

Para usar el módulo LORAWAN se deben tener en cuenta los comandos utilizados para su funcionamiento, en este caso los comandos a utilizar son:

• mac pause: Este comando pausa la funcionalidad de la pila LORAWAN para permitir la configuración del transceptor (radio).

(37)

• radio rx 0: Este comando activa el modo de recepción continua. Se saldrá del modo de recepción continua una vez que se reciba un paquete válido. Este comando puede responder de dos maneras. La primera respuesta se recibirá inmediatamente después de ingresar el comando. Si el comando es válido (se recibe una respuesta ok), se recibirá una segunda respuesta después de la recepción de un paquete o después de que haya transcurrido el tiempo de espera. • radio tx <dato>: Este comando envía el <dato> en formato hexadecimal, puede recibir dos respuestas. La primera respuesta se recibirá inmediatamente después de ingresar el comando. Si el comando es válido (se recibe una respuesta ok), se recibirá una segunda respuesta después del envió exitoso de un paquete o después de que haya transcurrido el tiempo de espera.

Nota: El comando mac pause debe ser llamado antes de cualquier transmisión o recepción por radio, incluso si no se han iniciado operaciones MAC antes[27]. (Ver Anexo A)

5.4. Sensores, LORAWAN y PSoC 4 5.4.1. PSoC 4

El PSoC 4 permite la programación mediante bloques, para este caso el diagrama de bloques utilizado es el mostrado en la siguiente figura.

Figura 21. Diagrama de bloques implementado en el PSoC 4.

Los componentes utilizados son:

• Bootloadable: Este bloque es utilizado para programar en la memoria del PSoC el código generado

(38)

Figura 22. Configuración ADC SAR PSoC 4.

(39)

Figura 23. Configuración UART PSoC 4.

• MUX: Este módulo es la representación de un multiplexor en el cual es seleccionada una de sus entradas para que se vea reflejada sobre la salida • isrRX: Modulo utilizado para determinar el tipo de interrupción dentro del UART en

este caso se elige RISING EDGE

(40)

5.4.2. Sensor de Corriente

La salida del sensor de corriente se debe conectar al pin 1.1 del PSoc 4, luego de realizar la conexión se procede a realizar el siguiente código en c++ para convertir la señal analógica a un valor digital.

MUX_FastSelect(0); ADC_StartConvert();

ADC_IsEndConversion(ADC_WAIT_FOR_RESULT); conver=ADC_GetResult16(0);

ADC_StopConvert();

valor = ADC_CountsTo_mVolts(0,conver); corriente=(valor*50)/33;

Este código se encarga de seleccionar la entrada “0” del MUX para la salida del mismo, luego inicia la conversión del ADC, luego de que la conversión ha finalizado realiza las operaciones necesarias para obtener el valor equivalente a la corriente.

5.4.3. Sensor de Voltaje

La salida del sensor de voltaje se debe conectar al pin 1.2 del PSoc 4, luego de realizar la conexión se procede a realizar el siguiente código en c++ para convertir la señal analógica a un valor digital.

MUX_FastSelect(1); ADC_StartConvert();

ADC_IsEndConversion(ADC_WAIT_FOR_RESULT); conver=ADC_GetResult16(0);

ADC_StopConvert();

valor = ADC_CountsTo_mVolts(0,conver); voltaje=(valor*120)/300;

Este código se encarga de seleccionar la entrada “1” del MUX para la salida del mismo, luego inicia la conversión del ADC, luego de que la conversión ha finalizado realiza las operaciones necesarias para obtener el valor equivalente al voltaje.

5.4.4. LORAWAN en PSoC 4

Se deben conectar los pines TX y RX del módulo RN2903 a los pines TX (pin 3.0) y RX (pin 3.1) del PSoC 4.

Los comandos utilizados para su funcionamiento son los mismos que se utilizan con la Raspberry dado que se utilizara el módulo en modo p2p, por ende, se deben tener en cuenta las mismas recomendaciones (ver 4.3.2)

5.5. Diseño e implementación de la aplicación para Android 5.5.1. Herramientas y Tecnologías utilizadas para la Aplicación 5.5.1.1. Android

(41)

dispositivo que la propia compañía fabrica, Android se instala en una gran variedad de marcas y son estas las que controlan las versiones a instalar en el teléfono, produciendo que sigan en funcionamiento versiones antiguas que no son compatibles con las aplicaciones si estas se desarrollan directamente para las versiones más modernas del sistema operativo.

En el momento de inicio de este proyecto el último lanzamiento del sistema operativo era Android Nougat 7.0. En el grafico mostrado a continuación puede verse la cuota de mercado de cada versión de Android a fecha de octubre de 2017

Figura 24. Datos porcentuales sobre la distribución de versiones de Android, octubre 2017.

Al inicio de este proyecto se tomó la decisión de comenzar el desarrollo de la aplicación para Android eligiendo la versión Lollipop 5.0 y 5.1, de este modo se puede cubrir el 77.7% de distribuciones existentes. Haber seleccionado las versiones posteriores, aunque hubiese incrementado el alcance total al público hubiera limitado las funciones y hubiera hecho menos eficiente la aplicación. Tras tomar esta decisión se dio comienzo el trabajo en Android utilizando para ello el entorno de desarrollo ANDROID STUDIO[28].

Para la programación se utilizó el lenguaje Java. Este lenguaje orientado a objetos está pensado para poder ser compilado una vez y ejecutado en una gran variedad de dispositivos en los que debe estar instalada la denominada "Máquina virtual Java" que interpreta el código independientemente de la arquitectura del dispositivo en que se encuentra. Para el aspecto visual ANDROID STUDIO utiliza el lenguaje de marcado XML.

5.5.1.2. MySQL

(42)

5.5.2. FASES DE IMPLEMENTACIÓN

Se decidió trabajar por etapas para el desarrollo de la aplicación, la primera etapa abarca el desarrollo de la interfaz de ingreso. Tras finalizar esta primera etapa, se comenzaría la creación de la etapa final, la interfaz principal del sistema de monitoreo. Tras cada etapa se realizaron pruebas tanto en emuladores de dispositivos como en dispositivos físicos.

5.5.2.1. Interfaz de Ingreso

5.5.2.1.1. Creación de una base de datos de conexión remota en un servidor público 000webhost.com[29]

Allí se almacenan los nombres de usuario y las contraseñas autorizadas para ingresar al sistema de monitoreo.

En esta etapa se hará uso de un servidor público que tiene funcionalidades como almacenamiento de archivos y bases de datos online.

Creación de una cuenta o servidor.

Para la creación de una base de datos haciendo uso de esta página se debe crear una cuenta en la cual un subdominio web gratis es otorgado. Se puede asignar el nombre que se desee.

Figura 25. Creación de cuenta 000webhost.

(43)

Figura 26. Características y Utilidades de la cuenta.

Creación de la base de datos.

Luego de tener creada una cuenta se prosiguió a crear la base de datos.

Figura 27. Creación de la base de datos MySQL.

Para la creación de la base de datos es requerido un nombre para la base, un nombre de usuario y contraseña. Luego de ser creada la base el servidor otorga un host. De esta forma se tienen las siguientes características de la base de datos:

Host: localhost

Nombre de usuario: id544642_esrm92 Contraseña: *******

(44)

Creación de tablas.

Por último, se prosiguió a crear una tabla para almacenar la información de ingreso: Usuario y Contraseña. Esto se realiza desde la opción phpMyAdmin, aquí se puede editar el tipo y tamaño de campo que será creado.

Figura 28. Estructura base de datos.

Generación de los algoritmos PHP para obtención y almacenamiento de datos

en la base de datos de conexión remota.

Para la conexión, gestión y consulta de campos en la base de datos son necesarios una serie de códigos PHP:

Figura 29. Código en PHP para la conexión con la base de datos.

(45)

Se guarda el archivo de texto con una extensión .php, en este caso Login.php y se guarda en el administrador de archivos (File Manager) de 000webhost.com:

Figura 30. Administrador de archivos de 000webhost.

Creación de una interfaz gráfica para el ingreso de usuarios.

En esta etapa se crea una interfaz gráfica a partir de una sintaxis XML autogenerada por Android Studio y conectada directamente a una Actividad (Una clase relacionada con la interfaz gráfica creada), donde se puede programar los botones y acciones requeridas en lenguaje Java (Ver Anexo C).

En esta interfaz se encuentra un espacio para ser completado con el usuario y contraseña del usuario anteriormente creado. Es necesario mencionar que, en la actividad asociada a esta interfaz, se encuentra el llamado al código php para la consulta de información que se encuentra en el administrador de archivos del servidor 000webhost.com.

De esta forma, si los datos ingresados en los campos usuario y contraseña, coinciden con los datos consultados en la base de datos, el software permitirá el ingreso a la página principal del sistema de monitoreo, en caso contrario enviará un mensaje de usuario o contraseña incorrecta.

Figura 31. Usuario Registrado en la base de datos.

(46)

5.5.2.2. Interfaz Principal

• Desarrollo de la interfaz gráfica de la página principal.

Se desarrolló una interfaz de página principal que le permite al usuario visualizar la información a monitorear (Voltaje, Corriente, Potencia, Estado de la puerta y la última persona que ingreso), además de esto cuenta con un botón que permite encender y apagar las luces remotamente.

Figura 33. Interfaz Gráfica Página Principal.

Conexión con UBIDOTS para obtener las variables desde la nube.

Para conectar la aplicación con Ubidots existe una librería en ANDROID STUDIO que permite obtener y enviar variables a la nube.

Figura 34. Librerías de Ubidots para Android Studio.

(47)

Figura 35. API Key del usuario en Ubidots.

Figura 36. ID de la variable en Ubidots.

Es de vital importancia concederle permisos de internet a la aplicación, en caso contrario no es posible obtener la conexión con las variables.

Figura 37. Permisos para uso de Internet en Android.

Para la obtención y envío de variables desde la aplicación se hizo uso de una clase anidada llamada ApiUbidots, a partir de esta clase se extiende AsyncTask. AsyncTask es una clase Android creada para hacer operaciones asincrónicas. La extensión de esta clase es obligatoria para todas las operaciones que necesita para conectarse a Internet. (Ver Anexo C)

Notificación de la aplicación

(48)

6. ANÁLISIS DE RESULTADOS

6.1. SUMINISTRO DE ENERGIA

Para el suministro de energía de la Raspberry Pi se usó un cargador de celular que brinde una corriente de al menos 1A. Para el PSoC 4 también se usó un cargador de celular que brinde una corriente de al menos 500mA

6.2. SENSORES

Las pruebas realizadas mostraron una muy buena respuesta de los sensores, ya que por su pequeño tamaño son ideales para aplicaciones, además sus requerimientos de gracias a que cuenta con cuatro puertos USB 2.0, la adición de un módulo para agregarle esta característica, es muy sencilla. Además, cuenta con una gran cantidad de librerías que facilitan su conexión con una gran cantidad de sensores comerciales, además cuenta con una cantidad considerable de pines de propósito general lo que aumenta aún más su gran versatilidad.

El hecho de que cuente con el sistema operativo Linux permite que la interacción con el usuario sea mucho más cómoda que con otras tarjetas de desarrollo. A esto se le suma que para realizar proyectos cuenta con el lenguaje de programación Python que le permite al desarrollador acceder a todas las características programables de la tarjeta.

A pesar de que la tarjeta cuenta con un procesador potente (700MHz) y 512MB de RAM, le toma tiempo realizar las instrucciones debido a que la versión más reciente de RASPBIAN consume bastantes recursos por lo que para proyectos que exijan mucho más procesamiento se recomienda utilizar una versión más reciente de la Raspberry, o la versión Lite de RASPBIAN.

6.4. PSoC 4

El PSoC 4 es una tarjeta de desarrollo embebida que facilita mucho la programación debido a los bloques configurables que son muy amigables con el desarrollador, esto sumado al hecho que generan implícitamente el código necesario para su funcionamiento, además de esto es una tarjeta que se ajusta perfectamente para el desarrollo de este proyecto dada la gran cantidad de funcionalidades que tiene como por ejemplo el ADC, los multiplexores, la posibilidad de usar varios protocolos de comunicación (SPI, UART, I2C entre otros) y se consigue por un precio bastante cómodo de aproximadamente 5 dólares.

6.5. UBIDOTS

(49)

simple. Además de tener librerías para la RASPBERRY Pi, también es compatible con Android, lo que ayudó a que el desarrollo de la aplicación fuera un poco más sencillo.

A pesar de ser una herramienta muy útil, sus servicios solo son gratuitos si el número de variables que se crean es menor a 15. Por lo tanto, si se quiere utilizar en un proyecto con un número de sensores considerable, se deberá pagar una cuota mensual que depende del número de variables, además solo permite el almacenamiento de variables numéricas.

6.6. RFID

El módulo RFID-RC522 permite realiza lecturas de los sensores pasivos a gran velocidad, también es un sistema que un alto nivel de seguridad, ya que no solo los sensores pasivos tienen su propio ID, sino que además el módulo permite escribir sobre sectores de los sensores, por lo que se puede ingresar 16 cifras hexadecimales para aumentar el nivel de seguridad.

6.7. APLICACIÓN PARA ANDROID

El uso del IDE (entorno de desarrollo integrado) Android Studio para realizar de la aplicación que interactúa con el usuario, permitió crear una interfaz gráfica intuitiva y fácil de manejar para cualquier persona que cuente con un Smartphone. La integración de UBIDOTS a este entorno de desarrollo es muy simple y facilita que el manejo y la obtención de información obtenida por los sensores. En cuanto a resultados cuantitativos de la aplicación, se tienen las siguientes pruebas:

Tabla 2. Tiempo de respuesta de los sensores a las notificaciones.

Prueba Tiempo de respuesta

Entonces el tiempo promedio de respuesta es 12.81 S

6.8. LORAWAN

Estos módulos ofrecen una gran posibilidad para la comunicación inalámbrica ya que ofrecen un rango de transmisión bastante amplio y su consumo eléctrico es bastante bajo. Además, gracias a su interfaz de comandos ASCII sobre UART es bastante fácil de utilizar.

(50)

Tabla 3. Resultados de prueba de distancia para módulos LORAWAN.

Prueba Distancia (metros) Paquetes Enviados Paquetes Recibidos

1 1 10 10

2 5 10 10

3 10 10 10

4 20 10 10

Referencias

Documento similar

La instalación del “Pozo Nuevo” dispondrá de un sistema de doble bomba, el cual debe ser capaz de adaptarse a los picos de demanda de tal forma que se pueda realizar bombeo de agua

Los 4 experimentos de 4000 datos cada uno, para cada ángulo de roll y pitch, fueron suficientes para mostrar la variación que había entre cada experimento a pesar

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,

Para ello se colocarán dos sensores de presión a distintas alturas, uno ubicado en la parte superior (sin contacto con el agua) y otro ubicado en el mínimo nivel de

Es importante mencionar, que en los últimos 5 años, China ha venido mostrando un gran avance en la industria textil y de la confección, ingresando en mercados como Europa,

Los manuales administrativos son de suma importancia porque exponen una visión conjunta de la empresa, informado por escrito al personal claramente las labores asignadas

Para la implantación del sistema de Control Interno Informático, se tienen que definir algunos elementos, como son la gestión de sistema de información: políticas, pautas y

En la detecci ´on, el m ´etodo AdaBoost utiliza una ventana que se mueve por toda la imagen comprobando si hay un rostro en esa posici ´on y esta se va agrandando hasta el tama ˜no