Prototipo de un sistema de monitoreo inteligente usando el internet de las cosas y Amazon Web Services - Experimentality
1197
post-template-default,single,single-post,postid-1197,single-format-standard,ajax_fade,page_not_loaded,,qode_grid_1300,qode-theme-ver-10.1.2,wpb-js-composer js-comp-ver-5.1,vc_responsive

Prototipo de un sistema de monitoreo inteligente usando el internet de las cosas y Amazon Web Services

Prototipo de un sistema de monitoreo inteligente usando el internet de las cosas y Amazon Web Services

Prototipo de un sistema de monitoreo inteligente usando el internet de las cosas y Amazon Web Services

El internet de las cosas (IoT) es la interconexión en red de objetos o cosas a través de identificadores como sensores, etiquetas RFID (identificación por radiofrecuencia) y direcciones IP (Protocolo de Internet). Ha tenido un crecimiento considerable en los últimos tiempos, se estima que para el 2020 estén conectados a internet cerca de 31 billones de dispositivos, lo que representa un número enorme, esta tendencia se da por las múltiples aplicaciones que se pueden desarrollar en salud, marketing, ciudades inteligentes, automatización de hogares e industrias, agricultura entre otros.

En la realización del prototipo se deben definir varias actividades para lograr el desarrollo del mismo.

 

Configuración de dispositivos

Wemos D1 Mini integrado con Shield DHT22

Wemos D1 Mini integrado con Shield DHT22

Para el prototipo se usa un Wemos D1 Mini, microcontrolador basado en el Esp8266 el cual posee una antena wifi integrada que nos permite una comunicación directa a internet, además se usa un sensor de temperatura y humedad DHT22, para este caso en forma de shield para integrarlo fácilmente con el Wemos.

La comunicación con AWS se realiza por medio del servicio AWS IoT, plataforma que nos permite administrar la comunicación y la seguridad de los dispositivos. Para comunicar el Wemos con AWS IoT usamos la plataforma Mongoose OS la cual nos facilita la programación y la integración con el servicio de Amazon.

 

 

Arquitectura general del prototipo

Arquitectura general del prototipo

Configuración del BackEnd

Para crear el API, utilizamos los servicios  Lambda con la que podemos manejar una arquitectura serverless creando funciones independientes, DynamoDB, base de datos NoSQL perfecta para almacenar una gran cantidad de información, sin una estructura demasiado compleja y API Gateway, quien nos facilita la administración del API.

Para almacenar los valores registrados por el sensor hacemos uso de AWS IoT, configurando reglas en las cuales se guarde en DynamoDB el valor registrado cuando la plataforma reciba los valores del sensor. Para obtener los valores se crea una función lambda que obtenga los datos almacenados en DynamoDB y se hace accesible a los clientes por medio API Gateway.

La arquitectura general del prototipo se puede observar la siguiente figura:

 

En este diagrama se puede ver que las “cosas” se comunican con AWS IoT por medio de un protocolo llamado MQTT, similar a HTTP pero más liviano y con un modelo publicador suscriptor; cuando un sensor envía un valor a AWS IoT, este actualiza su shadow (Entidad que almacena el último estado del dispositivo) y a su vez publica en un tópico que puede activar reglas previamente definidas, como almacenar un valor en Dynamo o ejecutar una función lambda.

La aplicación web (Frontend descrito a continuación) es alojada en Amazon S3 y desplegada por medio de CloudFront; dicha aplicación consume los servicios de API Gateway para obtener los valores registrados por los sensores.

Pantallazo de aplicación web

Pantallazo de aplicación web

Configuración del FrontEnd

Se crea una aplicación web usando ReactJS framework para crear interfaces dinámicas, Redux para manejar el estado de la aplicación en general, Ant Design para usar componentes ya desarrollados y estilos que le den un mejor aspecto y Recharts, librería que permite usar gráficas dinámicas para visualizar los datos.

 

La función lambda usada para obtener los registros se puede ver a continuación:

getOrders Lambda function

getOrders Lambda function

 

El API Gateway se tiene una configuración como la que se muetra

 

API Gateway

API Gateway

El repositorio del proyecto front-end puedes encontrarlo en: https://github.com/experimentality/experimentality-iot-monitoring-system-frontend

Conclusión

El internet de las cosas es una herramienta eficiente para optimizar procesos de medición, obteniendo grandes ventajas para manejar y analizar información de sensores, ahorrando tiempo y dinero. Usar plataformas en la nube como Amazon Web Services ayuda bastante a la hora de desarrollar este tipo de aplicaciones, esto porque sus muchos servicios satisfacen todas las necesidades, permitiendo escalar cómodamente, con precios justos sin preocuparse por infraestructura.

 

 

No Comments

Sorry, the comment form is closed at this time.