Está en la página 1de 6

Desarrollo de plataforma IoT interconectada

a microcontroladores de bajo costo

Development of an interconnected IoT platform


to low-cost microcontrollers
Anthony Victoria1, Elías Cuevas2, Asesor Nacarí Marín3
1
Ingenieria Electromecánica, Facultad de Ingeniería Eléctrica, 2Ingenieria Electromecánica, Facultad de Ingeniería Eléctrica

Resumen La internet de las cosas (IoT) es un tema emergente de importancia técnica, social y económica. En este momento se
están combinando productos de consumo, bienes duraderos, automóviles, componentes industriales y de servicio público, sensores
y otros tipos de objetos de uso cotidiano con capacidad de conectividad eléctrica.
El objetivo de nuestro proyecto es brindar una solución creando una plataforma intuitiva y amigable vía web donde se podrá
acceder en tiempo real y monitorear los dispositivos conectados a nuestro microcontrolador ESP8266.

Palabras clave Cliente, Hosting web, Internet de las cosas, I.P, Microcontrolador, Servidor web.

Abstract The Internet of Things (IoT) is an emerging issue of technical, social and economic importance. At this time, consumer
products, durable goods, automobiles, industrial and utility components, sensors and other types of everyday objects with electrical
connectivity capabilities are being combined. The objective of our project is to provide a solution by creating an intuitive and friendly
platform via the web where you can access in real time and monitor the devices connected to our ESP8266 microcontroller.

Keywords Client, Hosting web, Internet of things, I.P, Microcontroller, Web server.
Correo del autor: anthony.victoria@utp.ac.pa.

1. Introducción todos los términos abordados en el artículo y de todos los


Desde su creación en 1969, la internet, el mayor conjunto de conceptos aplicados al proyecto.
información, personas, computadoras y software funcionando
de manera cooperativa; lo ha cambiado todo. A partir de los 1.1 ¿Qué es el internet de las cosas?
avances tecnológicos, el acceso a internet de alta velocidad se Podemos definir a la Internet de las cosas o IoT como una
ha hecho omnipresente; y con la introducción de los colección de cosas u objetos que se conectan a internet, y entre
dispositivos móviles y la banda ancha móvil a través de las sí. Estos objetos podrían ser casi cualquier cosa desde una
redes celulares, ha surgido una cultura siempre alerta y siempre computadora, una tableta o un smartphone, a un dispositivo de
conectada. aire acondicionado, una cerradura de una puerta, un libro, un
Hoy en día, cada dispositivo conectado a la internet recibe motor de vehículo, o una heladera. Cada uno de estos
una dirección IP y esta dirección permite que cada dispositivo dispositivos o cosas tiene un número de identificación único
se conecte a otros dispositivos, incluyendo teléfonos (UID) y una dirección IP. Estos objetos se pueden conectar a
inteligentes, tabletas, consolas de juegos, automóviles, través de cables, fibra óptica o tecnologías inalámbricas, como
heladeras, lavadoras, sistemas de iluminación, y muchas cosas ser redes celulares, redes satelitales, Wi-Fi y Bluetooth.
más. Esto ha permitido que en los últimos años haya surgido Utilizan circuitos electrónicos incorporados, así como
una gran variedad de sistemas y plataformas interconectadas, capacidades de identificación por radiofrecuencia (RFID) o de
un fenómeno que se conoce con el nombre de Internet de las comunicación de campo cercano (NFC) que se añaden
cosas. En el siguiente articulo daremos una de tantas posibles posteriormente a través de chips y plaquetas.
soluciones a la interconexión de diferentes componentes Independientemente del enfoque exacto, el IoT implica el
eléctricos a una plataforma web para su análisis y control de movimiento de datos a través de internet para permitir procesos
datos. Al final de este trabajo se espera la comprensión total de desde una ubicación en particular hacia alguna parte al otro
lado del mundo.
2. Hardware
1.2 Comunicación IoT Un Microcontrolador es el elemento de hardware
Desde el punto de vista operativo, es útil saber la manera programable capaz de interactuar con múltiples dispositivos ya
en cómo se conectan y comunican los dispositivos de la IoT en sean sensores o actuadores. Estos dispositivos cuentan con la
términos de sus modelos de comunicación. El Comité de capacidad de ejecutar órdenes previamente programadas en su
Arquitectura de Internet (IAB) dio a conocer un documento memoria. Disponen para llevar a cabo estas tareas de una
para guiar la creación de redes de objetos inteligentes el cual unidad central de procesamiento (CPU), una memoria y
describe un marco de cuatro modelos de comunicación el cual periféricos de entrada y de salida.
se explicarán dos en este documento: En este proyecto se utilizó la tarjeta de desarrollo ESP8266
NODEMCU 12-E (figura 3) este microcontrolador posee la
• Comunicación de dispositivo a dispositivo: El modelo característica de comunicarse mediante Wifi.
de comunicación dispositivo a dispositivo representa
dos o más dispositivos que se conectan y se
comunican directamente entre sí y no a través de un
servidor de aplicaciones intermediario. Estos
dispositivos se comunican sobre muchos tipos de
redes, entre ellas las redes IP o la Internet

Figura 3. Placa de desarrollo ESP8266 NODEMCU 12-E.

Figura 1. Esquema de comunicación “dispositivo a dispositivo”.[4]


2.1 Especificaciones del ESP8266
• Comunicación de dispositivo a la nube: En un modelo ESP8266 es un microcontrolador creado y fabricado por la
de comunicación de dispositivo a la nube, el empresa Espressif, actualmente los módulos de estos
dispositivo de la IoT se conecta directamente a un microcontroladores cuentan con un precio alrededor de 1 a 4
servicio en la nube, como por ejemplo un proveedor dólares y las tarjetas de desarrollo cuentan con un precio
de servicios de aplicaciones para intercambiar datos y alrededor de 6 a 20 dólares. Las especificaciones con que
controlar el tráfico de mensajes. Este enfoque suele cuentan el módulo ESP8266 son:
aprovechar los mecanismos de comunicación
existentes (por ejemplo, las conexiones Wi-Fi o Hardware:
Ethernet cableadas tradicionales) para establecer una • Utiliza una CPU Tensilica L106 32-bit
conexión entre el dispositivo y la red IP, que luego se • Voltaje de operación entre 2,7V y 3,6V
conecta con el servicio en la nube. • Corriente de operación media 80 mA
• Temperatura de operación -20ºC ~ 70ºC

Conectividad:
• Soporta IPv4 y los protocolos TCP/UDP/HTTP/FTP
• Soporta HTTP mediante software tanto en cliente
como servidor TLS1.2.
• Soporta Wi-Fi 802.11 b/g/n
• Soporta seguridad Wi-Fi WPA/WPA2

Puertos GPIO (de propósito general): Dispone de 19


puertos GPIO. El GPIO16 es especial ya que está conectado al
Figura 2. Esquema de comunicación “dispositivo a nube”. [4] RTC (Real Time Clock).
petición y por último un posible dato a introducir. El servidor
contesta con una línea de estado que incluye la línea del
protocolo y un código de éxito o error, en las siguientes líneas
enviara las cabeceras de la petición y por último y si fuera
necesario algún tipo de datos.
Ajax es el acrónimo de Asíncrono JavaScript + XML que
es el término que describe la posibilidad de hacer peticiones al
servidor sin tener que volver a cargar la página y la posibilidad
de trabajar y analizar documentos XML.
Al hacer uso de AJAX no es necesario recargar toda la
página cuando se picha en un enlace o en un botón, ya que con
JAX es posible hacer una conexión al servidor desde el
servidor web usando un programa JavaScript mediante XML
HTTPRequest.
Figura 4. Modulo ESP8266.
4. Desarrollo del proyecto
Los pines pueden ser configurados con resistencia Pull-up Como primer paso en nuestro desarrollo fue realizar
o Pull-down Estos puertos soportan los principales buses de nuestro circuito (Figura 10) el cual cuenta con cuatro
comunicación (SPI, I2C, UART). actuadores los cuales serán simulados por 2 led (cuadro
amarillo), 2 relay (cuadro rojo) y por 2 sensores los cuales
3. Software estarán simulados por un sensor ultrasónico (cuadro azul), y un
Para el software de este proyecto se va a crear una potenciómetro (cuadro naranja) conectado a la entrada
plataforma la cual se interconectará con nuestros dispositivos analógica además tendremos la tarjeta de desarrollo ESP8266
ya sean sensores o actuadores conectados en nuestro NODEMCU (cuadro morado).
microcontrolador.
Al desarrollar la plataforma IoT se tiene la ventaja de que
el servidor web estará alojado en la red local esto quiere decir
que, el microcontrolador (Cliente) y la plataforma ( Servidor
Web) seguirán conectados a la red local a pesar de que no
exista una conexión a internet de esta manera si se está
conectado a la red local con un celular o una computadora se
podrá acceder a la plataforma y podremos monitorear nuestros
sensores o accionar nuestros dispositivos conectados al
microcontrolador.

3.1 Estándares y protocolos


Luego de que se eligió el hardware se procedió a analizar
los estándares y protocolos de comunicación que se
implementaran en el proyecto para la comunicación de
hardware software.
Figura 5 Montaje de circuito de prueba (Hardware).
HTTP es un protocolo de transferencia de hipertexto que
trabaja a nivel de aplicación utilizado para la trasferencia de
Para la programación del microcontrolador ESP8266 se
información. HTTP define la sintaxis y semántica que es
utilizó el software de Arduino IDE ya que mediante la descarga
utilizada para la comunicación entre los diversos elementos de de una librería la cual hace que sea posible la comunicación del
la arquitectura del software. Este protocolo es usado por software de Arduino y nuestra placa, además debemos
arquitecturas cliente-servidor con un esquema petición- descargar los drivers que hacen posible la comunicación serial
respuesta. entre el microcontrolador y la computadora, debemos
El protocolo sigue una especie de esquema que podría ser diferenciar el chip de comunicación serial de nuestra placa de
el siguiente. Un cliente realiza una petición que estará formada desarrollo para descargar los drivers correspondientes. En
por un método, una URI, y una versión del protocolo en la internet se puede encontrar bastante información tanto en foros
primera línea, a continuación, se mandaran las cabeceras de la como en videos que explican sobre este tema.
corriente que en que se trabaje, ya que estos
microcontroladores son empleados en subestaciones de energía
o usados como PLC.
Luego de tener nuestro hardware listo se procedió a realizar
la integración del programa de Arduino con nuestro servidor
web. Como primer paso descargamos unas librerías en Arduino
que nos permiten conectar el ESP8266 a nuestra red wifi, luego
se procedió a descargar la librería llamada
ESPASYNCWEBSERVER esta librería permite cargar una
establecer el protocolo Ajax en nuestro Servidor Web. Luego
procedimos a descargar la librería de SPIFFS que nos permite
Figura 6. Arduino IDE leyendo la tarjeta de desarrollo NODEMCU alojar nuestro servidor web en la memoria flash de nuestro
ESP8266. microcontrolador, Cuando se cargue el programa en la
memoria del microcontrolador nuestro servidor web adquiere
Posterior a esto se procede a cargar el programa al una dirección I.P la cual será la ruta de acceso que se debe
microcontrolador. Este hará la función de cliente ya que escribir en cualquier navegador web. Es posible que cualquier
mediante Wifi se conectará al servidor web y por medio del dispositivo dentro de nuestra red local se podrá conectar y tener
protocolo HTTPRequest se realizará una petición de envió de acceso a la plataforma. Esta conexión permite que varios
datos desde Cliente-Servidor Web o viceversa. dispositivos puedan interactuar con el servidor web al mismo
tiempo, pero tiene sus limitantes ya que al tratar de acceder
desde una red ajena a nuestra red local no podrá ser posible ya
que se debe crear un acceso primero a la red local para
posteriormente poder acceder a nuestro servidor web, pero esto
se puede corregir adquiriendo un servicio de hosting web que
sería una opción más económica que rentar un servicio de pago
mensual de plataformas IoT.
La plataforma del proyecto no es más que un servidor web.
El mismo fue realizado mediante el lenguaje de estructuración
web HTML 5.

Figura 7. Programación en Arduino de HTTPRequest por protocolo GET.

Figura 8. Programación en HTML de HTTPRequest por protocolo GET


Figura 9. Estructuración de la web mediante HTML 5.
Es importante saber que se puede controlar cualquier tipo
de señal con estos microcontroladores, es posible desarrollar
una tarjeta o circuito impreso (PCB) que puede ser llevado a
ambientes industriales sin importar los valores de voltajes o
Para añadirle los colores y estilos a nuestra estructura web https://drive.google.com/drive/folders/1WoiQXuqlksIzth1YF
creada en HTML 5 y para crear un interfaz intuitivo y amigable hpwRYH8-RkpGaqR?usp=sharing
para el usuario se usó un archivo de CSS. Por último, hicimos
uso del lenguaje de JavaScript para añadir unas graficas a
nuestro servidor web en las cuales se le pueden asignar
cualquier tipo de señal ya sea de un sensor o también la
posibilidad de enviar datos los cuales se deseen graficar.

Figura 12 Web Server desde la computadora analizando datos en tiempo


real.

5. Conclusiones
Figura 10. Archivos CSS y JAVASCRIPT en el servidor web.
Este es el resultado de nuestra plataforma IoT, es • Realizar una plataforma IoT nos brinda muchos
totalmente una web responsiva ya que se adapta a celulares. beneficios ya que podemos adecuarlas a los
distintos dispositivos que conectaremos.
• Al hacer una plataforma IoT nos da la libertad
que podemos utilizar diferentes marcas de
dispositivos y no estamos sujeto a una marca.
• Tener un servidor web asíncrono nos da la
posibilidad de ampliar el código. Las nuevas
funciones que se le agreguen a la web podrán
ejecutarse incluso cuando el servidor no haya
devuelto la información que se le haya solicitado
para estas.
• El inconveniente de desarrollar una plataforma
IoT es la cantidad de tiempo que puede tomar un
proyecto por más sencillo que sea, además la falta
de seguridad que pueden tener nuestros sistemas,
al momento de que el usuario se presente con
errores o problemas debe solucionarlo el
desarrollador de la plataforma ya que no se cuenta
con un soporte al usuario.
Figura 11 Web Server desde un dispositivo móvil.

Si se desea revisar el código de los distintos archivos de


programación de este artículo, dejare el siguiente enlace el cual
pueden acceder a mi plataforma de Google drive y ahí podrán
descargar los archivos con su respectiva indentación, además
se dejará un video de la prueba del proyecto en
funcionamiento.
AGRADECIMIENTOS
Agradezco a la profesora Nacarí Marín por motivarnos a
participar en la Jornada de iniciación científica 2020 ya que
este proyecto puso a prueba mucho nuestros conocimientos
además de que se aprendió bastante en el desarrollo del
proyecto.
Agradezco el apoyo de los compañeros de la carrera por la
motivación que siempre me brindan y el conocimiento que
comparten conmigo.

REFERENCIAS
[1] M.U. Farooq, Muhammad Waseemm, Sadia Mazhar. “A Review
on Internet of Things (IoT).”, March 2015.
[2] Dave Evans. “Internet de las cosas.” Cómo la próxima evolución
de Internet lo cambia todo, April, 2011.
[3] Marcelo Alcaraz. “Internet de las cosas.” June 2014.
[4] Karen Rose, Scott Eldridge, Lyman Chapin. “La internet de las
cosa - una breve reseña” disponible:
https://www.internetsociety.org/wp-
content/uploads/2017/09/report-InternetOfThings-20160817-es-
1.pdf [octubre, 2015].

También podría gustarte