Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pozo Gonzales Jhordy Diseño Sistema Monitoreo
Pozo Gonzales Jhordy Diseño Sistema Monitoreo
SENSORES
Telecomunicaciones
AUTOR:
ASESOR:
Resumen
clima, sin embargo, de ella depende la seguridad alimentaria de todos los peruanos. Debido a
esto, se impulsa la aplicación de técnicas agrícolas que ofrezcan ventajas respecto al modelo
tradicional. Por ejemplo, una de ellas es el uso de invernaderos, la cual permite, entre otras
cosas, protección contra climas adversos, reducción del tiempo de cultivo y mejora de la
calidad a través de una atmósfera interna controlable. Comúnmente, estos invernaderos son
cambio climático y la diversidad de los pisos altitudinales a lo largo del país, hacen que sea
monitoreo que permita hacer el seguimiento de variables críticas dentro del invernadero
Dedicatoria
Tabla de Contenidos
3.4 Diseño........................................................................................................................ 40
Conclusiones ............................................................................................................................ 68
Recomendaciones .................................................................................................................... 70
Bibliografía .............................................................................................................................. 71
vi
Índice de Tablas
Tabla 9 Tipo de dato del JSON enviado por la red de sensores .............................................. 56
Tabla 10 Tipo de dato del JSON enviado por el servidor web ................................................ 56
Índice de Figuras
El invernadero viene ganando presencia e importancia como una técnica agrícola avanzada
respecto al modelo tradicional. Esto se debe a que el invernadero es una estructura cerrada
capaz de proteger a los cultivos con la ayuda de cubiertas transparentes y que tiene por objetivo
desarrollo de las plantas cultivadas en su interior, con cierta independencia del medio exterior
Las condiciones climáticas dentro del invernadero dependen de cuatro factores principales:
temperatura, humedad relativa, luz y dióxido de carbono. Estos afectan directamente al cultivo
a lo largo de su ciclo de vida, por lo que es necesario mantenerlos dentro de sus límites según
Invernaderos, s.f.).
Sur o Este-Oeste, la cual dependerá si la zona es templada o cálida respectivamente (ver Figura
1). En su gran mayoría son construidas en dirección Norte-Sur para aprovechar mejor la luz
El invernadero tipo túnel es de los más sencillos y prácticos ya que en su mayoría son
varios arcos galvanizados, lo que le permite soportar fuertes vientos. Entre las ventajas más
Invernadero capilla
El invernadero tipo capilla, a diferencia del tipo túnel, tiene paredes rectas en los laterales.
También existe una variante denominada multicapilla, la cual consiste en dos estructuras
adyacentes con cubiertas semicirculares metálicas. Entre sus ventajas principales tenemos la
Invernadero asimétrico
cubiertas, una más inclinada que la otra. El ángulo de inclinación dependerá de la luz del sol al
Este tipo de invernadero es el más simple, ya que solo cuenta con dos partes, una vertical y
una horizontal con ligera pendiente. La altura típica es de 3 a 3.5 m. con ancho variable y largo
Invernadero Domo
cúpula geodésica, popularizado por el científico Buckminster Fuller en los mediados del siglo
20. Esta forma de estructura es muy fuerte, incluso, al recibir corrientes de viento lo tienden a
fijar al suelo ya que no hay superficie de succión. Al tener una forma semiesférica, el Domo
aprovecha al máximo la energía solar y a la vez refleja la luz al interior evitando así la pérdida
de la PUCP.
El fenómeno de cambio climático, por el que está atravesando nuestro planeta, hace que
cada año sus consecuencias sean más agudas que el año anterior. Esto afecta a los cultivos que
se encuentran al “aire libre”, pues están expuestos a cambios bruscos de temperatura (olas de
calor, granizo, heladas, etc), los cuales ocasionan la aparición de plagas mortales que si no son
Como vimos anteriormente, existen cuatro factores (temperatura, humedad relativa, luz y
Climático en Invernaderos, s.f.). Justamente estos factores son alterados por el fenómeno del
5
estos cambios ambientales de manera que no se afecte al desarrollo de las especies vegetales.
protección de los cultivos. De esta manera se crea una barrera entre el ambiente exterior, que
es muy variante y hostil, frente a un ambiente interior más estable y adaptable a las condiciones
para el correcto crecimiento de los cultivos. Gracias a esta atmósfera interior controlable, el
rendimiento a través de ciclos vegetativos más cortos, sin descuidar la calidad de los productos.
antecedente histórico más claro es el uso de camas móviles que se protegían en cabañas durante
el invierno, las cuales eran mayormente usadas en el norte de Italia y el sur de Alemania en el
siglo XV. Ahora, en los últimos años, los diversos tipos de invernaderos están presentes,
Entre los países con referencias tenemos a Portugal, con invernaderos tipo capilla basados
en madera barata como el eucalipto; España, con invernaderos tipo parral que en su mayoría se
concentran en la provincia de Almería; Francia, con invernaderos tipo túnel que ofrecen buena
para absorber el calor durante el día y cederlo durante la noche (López Hernández & Pérez-
Parra, 2006).
frecuente en países de Europa y Asia. Sin embargo, en los países latinoamericanos, como el
componente (Ministerio de Agricultura y Riego, 2018). Además, cabe resaltar que, el 5.4% del
PBI está cubierto por la actividad agrícola, de la cual depende en gran medida la seguridad
Sin embargo, la agricultura es una actividad sensible a los cambios en el clima. El impacto
que puede ocasionar el cambio climático en los cultivos depende de la vulnerabilidad agrícola
efectos negativos del cambio climático, incluidos la variabilidad y los fenómenos extremos. La
por distritos a nivel nacional, en el cual se tuvo en cuenta 12 cultivos principales: papa, arroz,
maíz amarillo duro, yuca, café, cacao, trigo, plátano, maíz amiláceo, cebada grano, haba grano
y frijol grano; y tres principales especies de pastos y forrajes: alfalfa, avena forrajera y
En el mapa anterior podemos resaltar que los sectores con mayor vulnerabilidad agrícola se
encuentran en los límites de la región sierra y selva. Uno de los motivos, que hace que este
aclarar que, la mayoría de los invernaderos al interior del país, son operados manualmente por
cuentan con una plataforma de monitoreo local o remoto, que extraiga los datos y ayude a
visibilizar la información climática del invernadero en cualquier parte del mundo a través de
Internet.
humedad relativa, luz y dióxido de carbono, las cuales son vitales para el crecimiento de los
cultivos. Esta variación climática genera enfermedades y/o plagas mortales para las plantas. En
el Perú, a este fenómeno se suma la diversidad climática de las regiones del país debido a los
tecnológicas.
condiciones ambientales que podrían ser optimizadas para favorecer el desarrollo de los
2.1 Introducción
crecimiento del desarrollo de software, ha permitido que los sistemas de monitoreo sean
construidos sobre la base de aplicaciones web. Por otro lado, la evolución constante de la
tecnología de sensores, ha ampliado los tipos de datos que se pueden recolectar, almacenar y
capacidad que nos ofrece Internet, ha potenciado el avance mundial del IoT (Internet of
Things).
Las redes de sensores permiten obtener diferentes tipos de datos de acuerdo a la aplicación
Hogar: domótica.
2.2.1 Definición
obtener datos físicos como temperatura, humedad, movimiento, presión, etc. La data
Nodo sensor: responsable de obtener la data que se quiere medir. Posee un sistema de
Gateway: dispositivo encargado de consolidar los datos recibidos desde los nodos
sensores, los cuales serán enviados a una computadora externa para procesarlas,
2.2.2 Topología
Para la interconexión de los nodos de una red de sensores se tienen las siguientes
distribución espacial.
Bus: todos los nodos se conectan a un medio común para luego llegar al gateway.
Árbol: la data viaja desde los nodos extremos, a través de otros nodos, hasta el
gateway.
Mallado con conexión total: la más costosa pero confiable ya que todos los nodos se
conectan entre sí formando una malla. Por ejemplo, una red con “n” nodos requiere
Mallado con conexión parcial: a diferencia de la topología anterior, no todos los nodos
se interconectan entre sí, sino solo algunos. Es menos costosa pero también menos
redundante.
El estándar IEEE 802.15.4 está diseñado para aplicaciones con baja exigencia en la
Wireless Personal Area Network” como las que se usan en domótica, monitoreo
conocida como MAC, por sus siglas en inglés. Ambas capas son reutilizadas por otros
estándares (ver Figura 11), como ZigBee o 6LoWPAN, debido a su gran popularidad
Dentro del estándar se define dos tipos de dispositivos: full-function device (FFD) y
reduced-function device (RFD). El FFD se caracteriza por ser un equipo con capacidad
RFD es más simple y ligero, ya que ejecuta tareas básicas como obtener las mediciones
del sensor para luego enviarlo al FFD (Suhonen, Kohvakka, Kaseva, Hämäläinen, &
2.2.3.2 ZigBee
2004 por ZigBee Alliance y está construido sobre la base del estándar IEEE 802.15.4,
capa física y MAC (IEEE 802.15.4); la segunda, por la capa de red (NWK), la subcapa
object (ZDO); y la tercera que es la capa de aplicación (Yang, 2014). El detalle de esta
Por otro lado, las topologías soportadas por ZigBee son las mismas que el estándar
IEEE 802.15.4, tales como estrella, árbol y mesh. De igual forma, se tiene un
2.2.3.3 6LoWPAN
Las siglas significan IPv6 over Low Power Wireless Personal Area Networks; es
decir, el estándar define el uso de IPv6 sobre las redes basadas en IEEE 802.15.4. Fue
desarrollado por la Internet Engineering Task Force (IETF) en el 2007. De esta manera,
un nodo dentro de la red de sensores puede salir a Internet o ser alcanzado desde la
misma, facilitando el uso de las diferentes aplicaciones basadas en IP. Los principales
Full IP: permite el uso de todas las tecnologías basadas en IP. Esto incluye los
Dentro de las diferentes capas del estándar 6LoWPAN, resalta una denominada
adaptation layer o LoWPAN layer, la cual reside entre la capa MAC y la capa de red
IPv6. Las funciones principales de esta capa intermedia son: comprimir la cabecera
El estándar Bluetooth Low Energy, o más conocido como BLE, es una variante del
energía. Sin embargo, no es compatible con Bluetooth, pues utiliza un protocolo distinto
2.2.3.5 SIGFOX
Sigfox es una empresa que se dedica a masificar la adopción de IoT a través de una
red global dedicada, la cual se basa en conceptos como, bajo consumo de energía,
alcance amplio y datos pequeños. Propone un estándar, denominado “0G”, que se basa
donde la red no esté disponible por desastres naturales, actos vandálicos, etc.
El rango de frecuencia de operación va desde 862 MHz hasta 928 MHz, el cual
depende del país. En Perú se utiliza la banda no licenciada 902 MHz-928 MHz con un
alta eficiencia espectral. El bitrate varía desde 100 bps hasta 600 bps. A esto se suma la
la batería de los sensores. Para el sentido uplink permite un payload máximo de 12 bytes
Por otro lado, debido a que la energía de este tipo de señal se concentra en una banda
estrecha o “narrow band”, hace que sea robusta frente a las interferencias y también
permite que sean fácilmente de-moduladas por las estaciones base. La alta sensibilidad
de recepción de las estaciones base permite manejar valores que van desde -142dBm
dispositivos tienen un ID único y una llave privada que sirve para autenticarlos. Las
estaciones base tienen una conexión punto a punto con la plataforma Sigfox Cloud a
través de una red privada virtual (VPN) encriptada. Finalmente, para la conexión entre
2.2.3.6 LORA
LoRa, del inglés long range o largo alcance, es una tecnología inalámbrica de capa
tanto de energía como ancho de banda, pero con capacidad de crear comunicaciones a
protocolo de tipo Low Power Wide Area Network (LPWAN) que permite conectar a
con cifrado AES de extremo a extremo, tal como se muestra en la Figura 16. Los
licenciada, 902 MHz-928 MHz, para el caso de Perú. Los nodos se conectan a múltiples
gateways en forma de estrella y transmiten sus datos con bitrate limitado entre 0.3kbps-
50kbps. El gateway posee una alta sensibilidad en sus antenas para recibir los datos y
reenviarlo al servidor central a través de una conexión de banda ancha tipo Ethernet,
WiFi, móvil, etc. La inteligencia y complejidad está a cargo del servidor central que
retornar la comunicación hacia los nodos. Finalmente, las aplicaciones son las
integrarse a otras plataformas Cloud tipo AWS o Azure (The Things Network, 2021).
19
una plataforma electrónica Open Source de fácil uso para los principiantes y flexible
que se puede usar, entre otras cosas, para controlar redes basadas en sensores
(Raspberrypi, 2020).
ATIM: fabricante de sensores para redes IoT que destacan por su característica de bajo
consumo de energía o más conocidas como “Low Power Wide Area Network”
2.3 Monitoreo
esta manera, los datos recolectados por la red de sensores pueden estar disponibles en cualquier
parte del mundo a través de Internet. La información elaborada a partir de estos datos puede
servir, entre otras cosas, para detectar condiciones, tomar acciones inmediatas y también para
El enfoque de Choi y Rhee (2012) denomina a la plataforma web como Semantic Sensor
Web Platform, la cual interactúa con los gateways de las redes de sensores y con los usuarios
finales a través de servicios web tipo REST que explicaremos más adelante. En la Figura 17 se
Durante la etapa del diseño, entre otras cosas, se define la arquitectura o patrón
considerada como un medio para documentar las decisiones de diseño de alto nivel.
Además, nos ayuda a entender de manera más clara los componentes de software que
detalla los patrones arquitectónicos de software recomendados para las aplicaciones web.
con cada capa. Una capa da servicios a la capa de encima, de modo que las capas de
nivel inferior representan servicios núcleo que es probable se utilicen a lo largo de todo
con cuatro componentes, donde la capa base incluye el software de soporte al sistema,
es un usuario de dichos servicios y que para utilizarlos necesita tener conectividad con
el (los) servidor(es). Una aplicación web que implemente este tipo de arquitectura debe
Un conjunto de clientes que solicitan los servicios que ofrecen los servidores.
web. El principio que rige este patrón se resume en la frase “divide y vencerás”; es
decir, se puede separar la funcionalidad principal del negocio (más conocida como core
business) de la presentación. Esto debido a que la interfaz de usuario varía mucho más
23
rápido que la lógica núcleo. Por ello, la arquitectura MVC propone dividir la aplicación
en tres capas o niveles, donde un cambio en una de ellas no genere impacto elevado en
que representa los datos del programa, los administra y controla todas sus
Vista en acciones que deben ser ejecutadas por el Modelo. En una aplicación web,
las interacciones aparecen como peticiones HTTP tipo GET o POST. Las acciones
Servidor de Aplicaciones
3
Cliente: 2 MODELO
Navegador Web
1 CONTROLADOR Base de
4
Datos
5 VISTA
5. El Controlador procesa este resultado y selecciona la Vista adecuada para ser enviada
al cliente.
paradigmas de software. Entre los cuales destaca el concepto de “servicios web”, el cual
de software diseñado para apoyar la interacción de máquina a máquina sobre una red
estándares y protocolos son agrupados en una pila denominada en inglés Web Services
Como se observa en la figura anterior, existen cuatro capas. A continuación, una breve
del transporte de los mensajes entre aplicaciones. Incluye varios protocolos tales
como HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP
estándar que pueda ser interpretado en cualquiera de los nodos, por ejemplo, XML,
JSON. Entre los componentes más utilizados en esta capa se encuentran: REST
Descripción: Esta capa permite que el servicio web cuente con una interfaz pública
el cual es un documento tipo XML que describe lo que hace, su ubicación y la forma
26
Integration). Este registro es accesible como otros servicios web, por lo que los
clientes pueden buscarlo para extraer los detalles del servicio y su funcionalidad.
Los datos recolectados por la red de sensores, luego de ser recibidos por la aplicación
web, tienen que ser almacenados en otro elemento denominado Base de Datos (BD), a
donde tendrán acceso algunos usuarios definidos. Al respecto, Luis Valencia (2014), de
Información: representa el significado de los datos y sirve para que los usuarios
Propiedades: son tres principalmente; primero, representa un aspecto del mundo real
A lo largo de los años, junto con la evolución del desarrollo de software, han
características principales de cada modelo (Camps Paré, y otros, 2005) (Lith &
Mattsson, 2010).
Modelos de BD
Jerárquico Red Relacional No Relacional
Su estructura Al igual que el Basado en el paradigma Mayormente usado
consta de modelo Entidad-Relación (E/R). para aplicaciones
registros jerárquico, Cualquier sistema u con tratamiento de
relacionados también existe objeto puede ser grandes volúmenes
en forma de registros e representado mediante de datos. Carece de
árboles. interrelaciones, entidades (tablas con esquemas fijos
pero ahora un atributos) y su relación como tablas. Su
registro ya no entre ellas. Para la escalamiento es
está limitado a gestión se utiliza horizontal.
ser “hijo” de un mayormente el lenguaje
solo registro SQL (Structured Query
tipo. Language).
Elaboración propia
Se plantea cuatro tipos de arquitecturas para una Base de Datos (Olarte, 2014).
i. Centralizada
ii. Cliente-Servidor
28
iii. Paralela
iv. Distribuida
arquitectura.
Elaboración Propia
informática que permite a los usuarios definir, construir, mantener y consultar una base
i. Definir: especificar los tipos de datos, las estructuras y las restricciones a través
iv. Consultar: recuperar información según criterios variados tipo selección, filtrado,
Altibase MariaDB
que son ofrecidos a través de una red privada, pública (Internet) o una mezcla de ambas.
Cloud que ofrecen servicios IoT, los cuales están orientados a la recepción,
continuación, se presenta los servicios IoT de las plataformas Cloud con mayor presencia
a nivel mundial.
Microsoft Azure
nube o Cloud. Uno de estos servicios, denominado Azure IoT Suite, está orientado al
Internet de las Cosas (IoT). Lo que promete este servicio es asumir la complejidad de una
Azure IoT Suite permite conectar dispositivos con la plataforma Cloud de Microsoft.
Estos dispositivos pueden ser desde nodos gateway de las redes de sensores hasta
sistemas embebidos con conexión a Internet. Cabe aclarar que las aplicaciones
programadas en los dispositivos deben usar las librerías disponibles en Azure IoT device
SDK. El protocolo de comunicación más usado es HTTPS, pero también soporta otras
como AMQP y MQTT. La cantidad de mensajes por día (desde y hacia los dispositivos)
y el tamaño de cada uno (máximo uplink/dowlink 256 KB/64 KB) determinará el costo
funcionalidades específicas. Entre las cuales destacan: IoT Hub (Cloud Gateway),
la aplicación principal; IoT Central, plataforma gestionada que maneja la lógica principal
de la aplicación IoT y tiene como principal componente Analytics & Machine Learning,
Amazon Web Services o más conocido por sus siglas como AWS es una plataforma
Cloud que ofrece una gran variedad de servicios y, además, cuenta con su propia
Los dispositivos pueden ser nodos gateway o sensores que tengan capacidad de
de código abierto que puede ejecutarse en los dispositivos IoT para facilitar la conexión
con los servicios en la nube de AWS. Otra opción es que los dispositivos implementen
las librerías disponibles en AWS IoT Device SDK. Al igual que Azure, el protocolo de
comunicación más usado es HTTPS, pero también soporta MQTT. El tamaño máximo
de los mensajes desde y hacia los dispositivos es de 128 KB, los cuales se contabilizarán
32
Entre los servicios de control IoT, que ofrece AWS, destacan tres: AWS IoT Core,
servicio gestionado que permite conectar los dispositivos con la nube y entre ellos
mismos; AWS IoT Device Management, facilita las tareas de gestión remota de los
dispositivos IoT; y AWS IoT Defender, servicio gestionado que permite auditar
para detectar vulnerabilidades de seguridad. Por otro lado, AWS también ofrece servicios
de análisis, donde destaca AWS IoT Analytics, el cual puede ejecutar análisis de grandes
volúmenes de datos para obtener información con la que se pueda tomar decisiones más
Figura 23 se observa un ejemplo de una solución AWS IoT con sensores y servicios en
la nube de AWS.
Google Cloud
Google también forma parte de la industria de Cloud, donde nos ofrece una gama de
servicios alojados en sus propios centros de datos repartidos alrededor del mundo.
33
escalables para conectar dispositivos; además de procesar, almacenar y analizar los datos
generados.
Los dispositivos que deseen conectarse a Google Cloud pueden implementar las
librerías disponibles en Google Cloud IoT Device SDK para comunicaciones a través del
protocolo MQTT; o también, pueden usar las REST API para comunicaciones a través
del protocolo HTTPS. El tamaño límite de los mensajes intercambiados es de 256 KB. A
Los servicios Cloud IoT más destacados que Google pone a nuestra disposición son:
Cloud IoT Core, encargado de conectar, administrar y recibir datos desde los dispositivos
Ubidots
Ubidots es una empresa joven que inició sus operaciones el 2012 y, a lo largo de los
años, ha innovado en los servicios IoT que pone a disposición de los estudiantes,
primera, para uso no-comercial, está orientada a estudiantes e investigadores con fines
Para lograr que los dispositivos se conecten al Cloud de Ubidots deben implementar
las librerías SDK disponibles e integrarlas a través de HTTP, MQTT, TCP o UDP. Otra
opción es el desarrollo de un API con métodos GET o POST. Para fines de facturación,
con valores, que se pueden enviar/recibir dependerá del plan contratado. Existe un límite
de cuatro transacciones por segundo con un máximo de 10,000 bytes (Ubidots, 2020).
35
Entre los servicios más destacados que ofrece Ubidots tenemos: Analytics Engine,
para procesar los datos a través de fórmulas y estadísticas con el objetivo de aportar a la
toma de decisiones; Time Series Backend, encargado de recibir, almacenar y entregar los
datos cuando aplique; Events Engine, para implementar alertas vía SMS, email y apps
como Telegram y Slack; Branding; para personalizar la interfaz gráfica (Ubidots, 2020).
presente estudio está estructurado principalmente por dos componentes. Se elaboró la Figura
Conformada por la red de sensores, los cuales medirán las variables climáticas de interés
dentro del invernadero y luego enviarán los datos al servidor web principal. Por otro lado,
también podrá recibir las respuestas del servidor con las órdenes que deben ejecutar los
Conformada por el servidor web y la Base de Datos. Validará la identidad de los sensores y
recibirá los datos medidos para ser almacenados. Finalmente, los datos serán procesados para
36
transformarlos en información, la cual será consumida por los clientes de la aplicación web
INTERNET
Base de
Datos
Servidor Web
3.1 Objetivos
monitoreo.
iv. Diseñar e implementar las funciones y la lógica principal del sistema de monitoreo.
v. Diseñar e implementar una interfaz web gráfica para el monitoreo de las variables
Las etapas del presente proyecto fueron estructuradas de acuerdo al ciclo de vida del
misma manera se definieron los servicios web, servidor web, el sistema de administración de
consiguió como resultado las funciones y la interfaz gráfica de nuestro sistema de monitoreo.
desarrolladas en nuestro sistema donde se tuvo en cuenta los posibles escenarios de error en la
(red de sensores) que se integró con la red de distribución de datos (servidor web y Base de
procesamiento y visualización por parte de los usuarios. El desarrollo más detallado de estas
Análisis y recopilación
de requerimientos
Diseño
Desarrollo
Validación
Implementación
Mantenimiento
Esta primera etapa del proyecto es considerada de vital importancia pues de ella dependerá
el éxito de las siguientes fases. En este sentido, se hizo una lista de requerimientos funcionales
39
y no funcionales. Los requerimientos funcionales especifican lo que el sistema debe hacer, los
servicios que debe proveer y su comportamiento ante situaciones específicas. Mientras que los
requerimientos no funcionales son especificaciones del sistema como un todo; por ejemplo,
Elaboración propia
40
3.4 Diseño
red de sensores.
La información elaborada debe ser visible a través de una interfaz gráfica para que pueda
esquema Cliente-Servidor. La elección de los servicios web se basó en los dos primeros
AJAX, el cual es una técnica de desarrollo web que permite la ejecución de código en el
Servidor Web
Web Service Web Service
REST REST
Modelo
Vista
Controlador
Usuario final
Red de sensores (cliente)
(cliente)
Para la elección del lenguaje de programación adecuado para la aplicación; así como
cuenta lo siguiente:
La gestión de los datos y el control de acceso tiene que ser sencillo, pues la aplicación no
integración con la arquitectura MVC a través del uso de Beans, Daos y Servlets.
Adicionalmente, Java tiene disponible el API JDBC (Java Database Conectivity), el cual
gratuito y de código abierto. Respecto al DBMS, se eligió MySQL por las siguientes
Hace uso del lenguaje SQL (Structured Query Language) que permite una gran variedad
Multi-hilo: manejo de conexiones independientes para cada usuario y hace uso de los
sistemas multiprocesador.
MySQL trabaja bajo una arquitectura Cliente-Servidor, por lo tanto, dicha arquitectura
Aplicaciones
Data Base Management System
APIs
SW para SW para SQL querys
acceder a los procesar
Consultas
datos consultas /
almacenados programas
Otros
tipo relacional. Este esquema nos permite establecer relaciones entre entidades (Entidad-
Relación), las cuales tienen sus propios atributos. Como parte del diseño de la BD de la
funcionales: invernadero, sensor, tipo sensor, mediciones, control y usuarios; cada una
Entidad Atributos
ID global invernadero
Nombre
Ubicación
Descripción
Invernadero Latitud
Longitud
Activo
Fecha de creación
Fecha de última modificación
ID global sensor
ID local sensor*
Latitud
Sensor Longitud
Activo
Fecha de creación
Fecha de última modificación
ID global del tipo sensor
Nombre
Unidad
Tipo Sensor
Activo
Fecha de creación
Fecha de última modificación
ID global de la medición
Valor
Fecha de la medición
Mediciones
Activo
Fecha de creación
Fecha de última modificación
44
ID global de control
Modo
Parámetro
Control
Activo
Fecha de creación
Fecha de última modificación
ID global de usuario
Nombre
Email
Usuarios Password
Activo
Fecha de creación
Fecha de última modificación
Elaboración propia
*Se consideró un ID adicional para la entidad “Sensor”, pues servirá para identificar la
data recibida de la red de sensores para un sensor en particular. Este ID tiene un alcance
Las relaciones entre las entidades pueden ser de tres tipos: uno a uno (1:1), uno a
muchos (1:N) o viceversa (N:1) y muchos a muchos (N:N). Cada uno de estos tres tipos
puede ser una relación fuerte, si una de las dos entidades no tiene significado en sí dentro
del modelo si no está relacionada con la otra; o débil, si ambas entidades tienen
acuerdo a los siguientes enunciados de diseño, los cuales están basados en los
ii. Un sensor debe ser de un tipo determinado sin importar que existan más sensores del
mismo tipo.
Débil
Tipo
ii. Sensor
Sensor Muchos (A) a uno (B) [N:1]
Débil
ii. Sensor Mediciones
Uno (A) a muchos (B) [1:N]
Débil
iv. Invernadero Control
Uno (A) a uno (B) [1:1]
Elaboración propia
Una vez definido, tanto las entidades como las relaciones, se plasmaron en la
los atributos de las entidades en atributos de las tablas y las relaciones entre las entidades
serán las relaciones entre las tablas. Esta herramienta nos brinda la posibilidad de
Workbench posee una interfaz gráfica que nos facilita tres cosas: diseño de la BD
Se elaboró un mock-up para tener plasmada una primera idea de la interfaz gráfica de
la aplicación web. En el Anexo “B” se observa el mock-up diseñado para las vistas
principales de la aplicación web con la ayuda de la herramienta Balsamiq. Por otro lado,
en esta sección se ha diseñado los diagramas de flujo para cada interacción posible, ya
3.5 Desarrollo
Java para aplicaciones web (Java Web) contiene los siguientes elementos relacionados al
patrón MVC: Bean y Dao representan al Modelo; las páginas de contenido como HTML y JSP
En base a las premisas de diseño de la sección anterior se desarrollaron los Beans, Daos,
Servlets y JSP que se observan en la Tabla 7. El detalle del desarrollo; es decir, el código Java,
se encuentra adjunto en el Anexo “F”. En resumen, estos componentes junto con la Base de
Datos, forman la estructura de la red de distribución de datos que fue definida en el modelo
teórico.
Nombre Descripción
- Invernadero
- Sensor
- TipoSensor Beans usados para reflejar las
- Medición entidades y atributos de la BD.
Bean - Control
- User
- InvernaderoDao
- SensorDao Daos usados para realizar la
- TipoSensorDao lectura/escritura de la data
- ControlDao almacenada en la BD.
- UserDao
Elaboración propia
contraseña, para autenticarse contra la Base de Datos y así poder ingresar al panel
Esta vista contiene la lista de los invernaderos registrados en la aplicación con sus
detalles respectivos y su ubicación geográfica en el mapa. Cuenta con las opciones para
nuevo invernadero y, también otra, para configurar los tipos de sensores (Figura D2).
Esta vista es un formulario donde el usuario tendrá que llenar los campos solicitados
y el parámetro respectivo; así como también, los sensores correspondientes (Figura D3).
49
Esta vista muestra el listado de los tipos de sensores configurados. Cuenta con las
Esta vista muestra la lista de sensores existentes con la opción de borrar el que se
Esta vista muestra el gráfico que representa los valores históricos medidos por el
sensor. También contiene la información del sensor como el ID local y tipo de sensor.
En la parte inferior se tienen las opciones de editar y borrar el sensor (Figura D7).
Esta vista muestra el formulario precargado con la información actual del sensor (ID
Esta vista muestra tres opciones de cálculo basado en las mediciones de los sensores,
tales como promedio, valor máximo/mínimo y filtrar las mediciones a partir de un valor
Se realizó el smoke test de la aplicación web que consiste en pruebas de todas las
funcionalidades diseñadas en el capítulo anterior. Este proceso nos permite encontrar y corregir
posibles puntos de falla durante la interacción del usuario con la aplicación web. Se elaboró la
Tabla 8 donde se observa las pruebas realizadas a la aplicación junto con el resultado obtenido.
Resultado
Entidad Funcionalidad Descripción de la prueba Valoración
esperado
Ingresar un correo La aplicación
electrónico en formato solicita ingresar un
OK
distinto a: correo electrónico
[email protected]. válido.
Ingresar un correo La aplicación
Inicio de
Usuario electrónico y contraseña solicita ingresar
sesión OK
no registrados en la credenciales
aplicación. válidas.
Ingresar solamente el La aplicación
correo sin contraseña o solicita llenar OK
viceversa. ambos campos.
Registrar La aplicación
Enviar el formulario con
nuevo tipo de solicita completar OK
los campos vacíos.
sensor los campos vacíos.
La aplicación
Enviar el formulario con
solicita completar OK
los campos vacíos.
Editar los campos vacíos.
atributos de Modificar el ID del tipo
La aplicación
un tipo de de sensor a un formato
Tipo valida el ID y no
sensor incorrecto o que no sea OK
Sensor ejecuta la
activo, antes de enviar el
actualización.
formulario.
La aplicación
solicita borrar
Eliminar un tipo de
Borrar un tipo primero todos los
sensor mientras existen OK
de sensor sensores asociados
sensores de dicho tipo.
a dicho tipo de
sensor.
52
Elaboración propia
red local (LAN). Este escenario práctico permite probar el envío, recepción,
54
integración propuesto.
Servidor Web
Cliente Web
4.2.2 Hardware
Principalmente cuenta con seis (06) entradas analógicas, catorce (14) pines digitales
(01) Arduino Shield Ethernet: cubierta para el Arduino UNO que permite la conexión a
de medición va desde los 0°C hasta los 100°C. Posee una precisión de ±1.5°C que
(01) Protoboard
55
Conectores y cables
la red de sensores y el servidor web se usó el protocolo HTTP con el método POST y los
datos en formato JSON. En ese sentido, la estructura del método POST, enviado por la
El formato JSON que debe enviar la red de sensores, hacia el servidor web es el siguiente:
{ "timemedicion": YYYYYYYYYYYYYY,
"iddomo": X,
"sensado": [ { "id": Y,
"valor": W
},
}
56
Se elaboró la Tabla 9 donde se especifica el tipo de dato de cada parámetro que forma
Arreglo con la
sensado información recolectada Array
por los sensores
id ID local del sensor Integer
Elaboración propia
Por otro lado, cada vez que el servidor web reciba las mediciones desde la red de
sensores, responderá con otro JSON, el cual contiene el resultado de la lógica de control
procesada. En base a este valor, el actuador del invernadero debe ejecutar la orden, ya
sea abrir o cerrar. El formato JSON enviado desde el servidor web hacia la red de sensores
es el siguiente:
{ "ejecuta": “yyyyy”
Tipo de
Parámetro Descripción
dato
ejecuta Puede ser “open” o “close” String
Elaboración propia
57
4.2.4 Integración
especificado anteriormente, entre los que destaca los tres sensores de temperatura, el LED
las mediciones, lo cual respeta lo exigido en los requerimientos iniciales. El detalle del
LED
Sensores de
Arduino UNO+Shield Ethernet Temperatura
Adaptador
Cable Ethernet
AC/DC 9V
4.3 Resultados
Los datos enviados desde la red de sensores y la respuesta del servidor web respetan el
formato establecido para el sistema de comunicación, lo cual se puede visualizar con la ayuda
mencionado anteriormente.
59
Una vez que los datos son recibidos por el servidor pueden ser visualizados en un cliente
que también forme parte de la red LAN e inicie sesión en la aplicación web. En la Figura 37 se
Figura 38 se observa las mediciones de los tres sensores a través de la opción filtrar medidas.
Para verificar la lógica de control se utilizó un diodo LED en la red de sensores, el cual
representa el actuador. El LED cambiará a estado ON, cuando la orden desde el servidor web
sea abrir (open); u OFF, cuando sea cerrar (close). Debemos recordar que se definió dos modos
de control, manual y automático. En el caso del modo manual y el estado “close”, se verifica
que el LED permanece en OFF, según la Figura 39. En el caso del modo manual y el estado
LED
OFF
LED
ON
Cuando el modo de control es automático dependerá del valor umbral configurado (ver
Figura 41) para determinar el estado del LED. El servidor realiza el cálculo del promedio de
las cuatro últimas mediciones de los sensores de temperatura. Mientras el promedio sea menor
que el umbral, el LED permanecerá en OFF, según la Figura 42. Si el promedio es mayor o
LED
OFF
< umbral
LED
ON
≥ umbral
debido a la temporada de verano en Lima. La referencia externa más cercana, que corrobora
Una vez verificada la tendencia, con el apoyo de la referencia externa, se concluye que las
mediciones de nuestro sistema son consistentes y válidas para relacionarlas con otros factores
que ayuden a acelerar la productividad, por ejemplo, la cantidad de abono, agua, calor, luz, etc.
64
Inversión Capital
Es la inversión inicial para empezar con el proyecto. Se elaboró la Tabla 11 donde se detalla
Se propone instalar una red de sensores de cuatro tipos: temperatura, humedad, luz y CO2;
distribuidos tal como se muestra en la Figura 46 (Myong-Jin , y otros, 2012). Los sensores
serán controlados por el Arduino UNO, el cual se conectará vía WiFi a la red inalámbrica
propone instalar un Access Point en modo Bridge de tal forma que se conecte al WiFi PUCP
y, a la vez, se pueda crear una nueva red WiFi con un SSID específico que cuente con cifrado
WPA2 para el invernadero. De esta forma podremos tener control sobre los dispositivos que
se conecten a nuestra nueva red WiFi, ya que aplicaremos el filtrado por MAC address como
propuesto. La configuración se detalla en el Anexo “G”. Otra alternativa que también se está
filtrado por MAC address. La configuración de esta alternativa se detalla en el Anexo “H”.
Por otro lado, también se incluyó el costo del kit actuador de ventana y un sistema de
ii. Red de distribución de datos: se tomó en cuenta el costo total del software de la aplicación
web, el cual contempla todas las etapas del ciclo de vida del software desarrolladas
registrados en la aplicación.
65
1
1
Temperatura y
ENTRADA
humedad
1
Luz
1
1
1
CO2
1
1
Modo Bridge
Cifrado WPA2
Filtrado MAC WiFi PUCP
RED PUCP
WiFi Invernadero
1
1 Base
de
ENTRADA
1
1
1
1
Operación
web. Para calcular el costo de operación de la red de adquisición de datos se tuvo en cuenta el
Tabla 13; y el costo de mantenimiento del sistema de puesta a tierra. Mientras que para la red
Datos para asegurar la operación de la plataforma 7x24 con una disponibilidad del servicio al
99.9% tal como se exige en los requerimientos. Cabe mencionar que la seguridad de nuestro
sistema está garantizada a través del servicio de protección web contra malware, ataques tipo
DDoS e inyección SQL, incluido también dentro de los costos. En caso se implemente la
aplicación web y la Base de Datos dentro de la infraestructura la PUCP, entonces este costo no
aplicaría. Se elaboró la Tabla 14 donde se detallan todos los costos operativos mensuales.
Precio
Descripción Cantidad Unitario Subtotal
Elaboración propia
68
Conclusiones
estructura del software en tres capas para disminuir el impacto, en caso existan cambios
MVC. En ese sentido, también se seleccionó el servidor web Apache Tomcat, ya que
los sistemas de monitoreo se puedan implementar sobre aplicaciones web. En ese sentido,
adecuado a los datos, debido a que este modelo cuenta con amplia documentación y
referencias en el mercado.
gracias a esto, se definió a detalle los flujos de interacción entre el cliente, servidor web
sección 3.4.4.
6. Se implementó la interfaz web gráfica que permite que los clientes tengan una interacción
aplicación web, lo cual permitió una integración simple, ligera y flexible, ya que está
8. El resultado del procesamiento de las mediciones recolectadas por los sensores permite
detectar condiciones en las cuales se podrían establecer mecanismos para regular los
parámetros climáticos del invernadero como temperatura, humedad relativa, CO2, etc.
De la misma forma, se pueden relacionar con otros factores que contribuirían a mejorar
10. La presente tesis ha permitido expandir mis conocimientos sobre las posibilidades de
Recomendaciones
simultáneas que puede soportar el servidor sobre el cual se ejecuta la aplicación web y
la Base de Datos.
2. Analizar la futura migración hacia un modelo de Base Datos “No Relacional” en caso
5. Como trabajo futuro se propone que, a partir del análisis y procesamiento de los datos
eleven su productividad.
71
Bibliografía
Amazon Web Services. (2020). Real-time operating system for microcontrollers. Obtenido de
https://aws.amazon.com/freertos
rev3
Camps Paré, R., Casillas Santillán, L. A., Costal Costa, D., Gibert Ginestà, M., Martín
Escofet, C., & Pérez Mora, O. (2005). Bases de Datos. Barcelona, España: Eureca
Media.
Argentina.
https://cloud.google.com/products
Hoan-Suk, C., & Woo-Seop, R. (2012). Distributed Semantic Sensor Web Architecture.
Daejeon, Korea.
72
Lith, A., & Mattsson, J. (2010). Investigating Storage Solutions for Large Data. Göteborg,
Suecia.
lorawan/
https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-security-architecture
us/azure/iot-hub/about-iot-hub
Morales Machuca, C. A. (2014). Estado del Arte: Servicios Web. Bogotá, Colombia.
Myong-Jin , R., Sun-Ok, C., Ki-Dae, K., Yun-Kun, H., Seung-Oh, H., Sang-Kun, H., . . .
Oracle. (2020). Configuring Web Services with WSDL, SOAP, and the WSDL Generator.
Obtenido de https://docs.oracle.com/en
https://www.senamhi.gob.pe/
Lima.
Suhonen, J., Kohvakka, M., Kaseva, V., Hämäläinen, T. D., & Hännikäinen, M. (2012). Low-
Springer.
https://www.thethingsnetwork.org/docs/lorawan/architecture.html
Ubidots. (2020). Advice and answers from the Ubidots Team. Obtenido de
https://help.ubidots.com/en/
https://www.w3.org
Yang, S.-H. (2014). Wireless Sensor Networks - Principles, Design and Applications.
Loughborough: Springer-Verlag.
ANEXOS
Anexo A. Modelo relacional de la BD en MySQL Workbench
Elaboración propia
Anexo B. Mock Up de la aplicación web
INICIO
Ingresa email y
password
No ¿Credenciales válidas?
Sí
Mostrar la página
principal
FIN
INICIO
Validar campos
¡¡Registro Incompleto!! Por
vacíos
favor, llenar los campos
vacíos
No
Registrar nuevo
tipo de sensor
FIN
INICIO
No
¡Coordenad as en formato
incorrecto! Por favor,
Validar formato
corregir.
latitud y longitud
¿Modo y parámetro
No
co rrectos?
Sí
Registrar nuevo
invern ad ero
FIN
existente.
INICIO
Validar formato
¡Coordenad as en formato latitud y longitud
inco rrecto! Por favor,
corregir.
¿Coordenadas en formato
No
válido?
Sí
El tipo de sensor debe estar
activo. El ID local de cada sen sor
Validar tipo de debe ser un nú mero entero y
sensor e ID local único dentro del invernadero.
Sí
Registrar nuevo(s)
sensor(es) al
invern ad ero
FIN
La Figura C5 muestra el flujo para registrar las mediciones enviadas por la red de
sensores.
INICIO
Validar ID invernadero, ID
local del sensor y s u
correspondencia
Sí
Registrar nueva
med ición
FIN
Figura C5 Flujo para registrar nueva medición
Fuente: Elaboración propia
C.6 Configurar el tipo de control de un invernadero
INICIO
Sí
FIN
INICIO
Seleccionar el
invern ad ero d e interés
El ID debe s er un número
Validar ID d el
entero y de un
invern ad ero
invern ad ero activo
Sí
FIN
INICIO
Seleccionar el sensor
de interés
El ID debe s er un número
Validar ID d el
entero y de un sensor
sensor
activo
Sí
FIN
invernadero.
INICIO
Seleccionar la operación de
interés: promedio o valor
máximo/mínimo o filtrar
med iciones de los sensores
de un mis mo invernadero
El parámetro del filtro debe
Validar tipo d e operación, ser un valor numérico. El ID
parámetro del filtro e ID debe ser un nú mero entero y
del invernadero de un invernadero activo
¿Operación y parámetro
No
válidos e ID activo?
Sí
FIN
Figura C9 Flujo para visualizar las operaciones basadas en las mediciones de los sensores
Elaboración propia
C.10 Editar atributos de un invernadero
La Figura C10 muestra el flujo para editar los atributos de un invernadero como su
INICIO
Ingresar nombre,
ubicación, latitud,
longitud y descripción
No
¡Coordenad as en formato
inco rrecto! Por favor,
Validar formato
co rregir.
latitud y longitud
Sí
Actualiz ar
atribu tos d el
invernadero
FIN
La Figura C11 muestra el flujo para editar los atributos de un sensor como su tipo,
INICIO
Ingresar tipo de
sensor, latitud,
longitud e ID local
¡Coordenad as en formato
inco rrecto! Por favor, Validar formato
corregir. latitud y lo ngitud
¿Coordenadas en formato
No
válido?
El tipo de sensor debe estar
Sí activo. El ID local deb e s er un
número entero y único d entro
del invernadero.
Validar tipo d e
sensor e ID local
Sí
Actualiz ar
atribu tos d el
senso r
FIN
La Figura C12 muestra el flujo para editar los atributos de un tipo de sensor como su
INICIO
Ingresar n ombre y
unidad de medición
No
Actualiz ar
atribu tos d el
tipo sensor
FIN
La Figura C13 muestra el flujo para borrar un sensor y sus mediciones correspondientes.
INICIO
Seleccionar el
sensor a borrar
El ID debe s er un
número entero y de
Validar ID del
un sen sor activo
sensor
¿ID válido? No
Sí
FIN
La Figura C14 muestra el flujo para borrar un tipo de sensor siempre y cuando no tenga
sensores asociados.
INICIO
Seleccionar el tipo
de sensor a borrar
No
Borrar tipo d e
sensor
FIN
INICIO
Seleccionar el
invernadero a
borrar
El ID d eb e s er un
número entero y de un
Validar ID d el
invernadero activo
invernadero
¿ID válido? No
Sí
FIN
#include <ArduinoJson.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <NTPClient.h>
EthernetUDP ntpUDP;
NTPClient timeClient(ntpUDP);
EthernetClient client;
int sensor_T1 = A0;
int sensor_T2 = A3;
int sensor_T3 = A5;
#define pinLED 2
const char* server = "192.168.1.31"; // IP servidor
const char* resource = "/InvernaderoWatcher/InfoServlet"; //recurso servidor
const unsigned int PORT = 8084;
const unsigned long BAUD_RATE = 9600; // serial connection speed
const unsigned long HTTP_TIMEOUT = 10000; // max respone time from server
const size_t MAX_CONTENT_SIZE = 512; // max size of the HTTP response
// Iniciamos el puerto Serial
void initSerial() {
Serial.begin(BAUD_RATE);
while (!Serial) {
; // esperar hasta que el puerto serial inicie
}
Serial.println("Serial ready");
}
// Iniciamos el puerto Ethernet
void initEthernet() {
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
if (!Ethernet.begin(mac)) {
Serial.println("Failed to configure Ethernet");
return;
}
Serial.println("Ethernet ready");
delay(1000);
}
// Abrir la conexión HTTP hacia el servidor
bool connect(const char* hostName) {
Serial.print("Connect to ");
Serial.println(hostName);
bool ok = client.connect(hostName, PORT);
Serial.println(ok ? "Connected" : "Connection Failed!");
return ok;
}
// Pausa de un minuto
void wait() {
Serial.println("Wait 60 seconds");
delay(60000);
}
// Omitir las cabeceras de la respuesta HTTP del servidor
bool skipResponseHeaders() {
// HTTP headers end with an empty line
char endOfHeaders[] = "\r\n\r\n";
client.setTimeout(HTTP_TIMEOUT);
bool ok = client.find(endOfHeaders);
if (!ok) {
Serial.println("No response or invalid response!");
}
return ok;
}
// Leer el contenido de la respuesta HTTP del servidor
void readReponseContent(char* content, size_t maxSize) {
size_t length = client.readBytes(content, maxSize);
content[length] = 0;
Serial.println(content);
}
// Cerrar la conexión con el servidor
void disconnect() {
Serial.println("Disconnect");
client.stop();
}
/////--INICIO PROGRAMA--//////
void setup() {
initSerial();
initEthernet();
timeClient.begin();
pinMode(pinLED,OUTPUT);
digitalWrite(pinLED,LOW);
}
void loop() {
float T1 = (5.0*analogRead(sensor_T1)*100.0)/1023.0;
float T2 = (5.0*analogRead(sensor_T2)*100.0)/1023.0;
float T3 = (5.0*analogRead(sensor_T3)*100.0)/1023.0;
timeClient.update();
unsigned long timemediciondomo = timeClient.getEpochTime();
StaticJsonBuffer<200> jsonBuffer;
JsonObject& data = jsonBuffer.createObject();
data["timemedicion"] = timemediciondomo;
data["iddomo"] = 1;
JsonArray& sensado = data.createNestedArray("sensado");
JsonObject& sensor1 = jsonBuffer.createObject();
JsonObject& sensor2 = jsonBuffer.createObject();
JsonObject& sensor3 = jsonBuffer.createObject();
sensor1["id"] = 10;
sensor1["valor"] = T1;
sensor2["id"] = 11;
sensor2["valor"] = T2;
sensor3["id"] = 12;
sensor3["valor"] = T3;
sensado.add(sensor1);
sensado.add(sensor2);
sensado.add(sensor3);
data.prettyPrintTo(Serial);
if (connect(server)) {
Serial.print("POST ");
Serial.println(resource);
client.print("POST ");
client.print(resource);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(server);
client.println("Content-Type: application/json");
client.print("Content-Length: ");
client.println(data.measureLength()); //LONGITUD DATA
client.println();
data.printTo(client); //DATA
client.println();
Serial.print("Content-Length: ");
Serial.println(data.measureLength());
Serial.println(Ethernet.localIP());
String temp="";
if (skipResponseHeaders()) {
char response[MAX_CONTENT_SIZE];
readReponseContent(response, sizeof(response));
JsonObject& object = jsonBuffer.parseObject(response);
temp = object.get<String>("ejecuta");
Serial.println(temp);
if(temp == "open"){
digitalWrite(pinLED,HIGH);
}
if(temp == "close"){
digitalWrite(pinLED,LOW);
}
}
disconnect();
}
delay(900000);
}
Anexo F. Código de Programación Java Web
https://github.com/JhordyPozo/InvernaderoWatcher.git
Según el manual del fabricante TPLINK para configurar el producto Access Point TL-
Según el manual del fabricante ZTE para configurar el producto Router Portatil MF920U, se
automáticamente. Para esos casos debe acceder a la ruta del modem a través del explorador y
Ingresar a la Web UI
- A continuación, ingresará al menú para hacer todas las configuraciones del WiFi del equipo:
“Filtro de Puertos”:
- Cuando ingrese a esta opción, la encontrará deshabilitada tal como se muestra a continuación:
- Para configurar el filtro deberá marcar la opción “Habilitar”. Después de ello le aparecerá la