IoT - Jesus2Perea/Lab-comunicaciones-22-2 GitHub Wiki
Bienvenidos a IOT: ¡wiki!
Para esta guía de laboratorio se propone implementar una solución IOT basada en el protocolo MQTT (MQ Telemetry Transport) ampliamente utilizado en aplicaciones de internet de las cosas. Se propone utilizar la plataforma de servicios en la nube de IOT “Ubidots” tanto como Broker MQTT como para el procesamiento, almacenamiento y visualización de datos, así como para el envío de alertas, notificaciones o acciones de control.
IOT
El Internet de las cosas (IOT) incorporan diferentes sensores y microcontroladores que realizan el intercambio de datos con otros dispositivos que permitan la fácil transmisión de estos. Se puede encontrar desde los objetos domésticos de uso diario, hasta equipos industriales. Se visualiza un crecimiento exponencial a través de los años, puesto que en estos momentos hay más de 7mil millones de dispositivos, por lo que para el 2025 se espera más de 25 mil millones de dispositivos conectados. Oracle cuenta con una red de socios de dispositivos.
¿Qué tecnologías han hecho posible el IOT?
El sencillo acceso a la tecnología está haciendo posible que nuevas tecnologías como el IOT se expanda a nivel mundial. Debido a los diferentes protocolos de comunicación a internet ha permitido que la obtención y transmisión sea más sencilla y rápido por medio de algunas plataformas como nubes. Dado a la disponibilidad de plataformas en la nube permite que cualquier persona u organización pueda acceder a la infraestructura en cualquier lugar o momento sin necesidad de tener un conocimiento avanzado sobre estas plataformas. La inteligencia artificial, ha tomado como ejemplo las redes neuronales del ser humano y lo ha convertido a una forma artificial creando así una forma de para el procesamiento de la información como una red neuronal donde se puede abarcar muchas fuentes de información como lo hacen los asistentes personales digitales Alexa, Cortana y Siri. Además de esto se han hecho más atractivos para las personas debido a su utilidad en algunas tareas sin olvidar que poco a poco las empresas intentan sacar asistentes virtuales asequibles y viables para uso doméstico, así como los nuevos dispositivos de realidad virtual (VR) o de realidad aumentada (AR), donde puedes estar en un mundo virtual pero controlar el computador para ofrecer distintas maneras de comunicación e interrelación para un trabajo eficaz, además lo que se puede esperar en el futuro es una integración más fluida entre la tecnología y la experiencia humana, si bien estas tecnologías aún puede tardar algunos años, el audio 3D, la realidad virtual avanzada y las sensaciones tácticas significarán que la interacción con los dispositivos que rodean a las personas día a día permitirán una experiencia sensorial cada vez más "reales". Sin olvidar, la conectividad 5G que llega como una alternativa de conexión y navegación rápida por internet que abre todo un panorama de posibilidades para comunicarse de formas más rápida y efectiva a todos los rincones del mundo, esto no solo abre el panorama sobre la comunicación entre las personas, si no que también ayudara a contribuir de mejor forma la conectividad de las personas y las maquinas realizando muchas tareas con mayor facilidad, agilizando así mejor los procesos industriales o cualquier procesos donde se empleen estas tecnologías.
MQTT
"MQTT son las siglas MQ Telemetry Transport, aunque en primer lugar fue conocido como Message Queing Telemetry Transport." (“MQTT: Características e Importancia en el IoT - Murky Robot”) Es un protocolo de comunicación machine-to-machine de tipo message queue. Está basado en la pila TCP/IP como base para la comunicación. En el caso de MQTT cada conexión se mantiene abierta y se “reutiliza” en cada comunicación. MQTT fue creado por el Dr. Andy Stanford-Clark de IBM y Arlen Nipper de Arcom en 1999 como un mecanismo para conectar dispositivos empleados en la industria petrolera.(“¿Qué es MQTT? Su importancia como protocolo IoT - Luis Llamas”)
Funcionamiento del protocolo: El protocolo MQTT se maneja como un servicio de mensajería entre un maestro y aprendiz, de tal manera que el primero dirige los datos y el siguiente los publica y transmite a infraestructuras de clientes, donde estos se conectan a un servidor central que se le denomina broker. La transmisión de los datos o mensajes (topics) se realiza a través de suscriciones donde el cliente recibirá información únicamente filtrada por la suscripción a la cual se encuentra adscrito.
Seguridad del MQTT: La seguridad siempre debe ser un factor importante a considerar en cualquier sistema de comunicación M2M. (“¿Qué es MQTT? Su importancia como protocolo IoT - Luis Llamas”) El protocolo MQTT propone distintas medidas de seguridad que se pueden implementar para proteger los datos que contienen las comunicaciones entre dispositivos, el SLL/TLS puede ser una solución para suplir la necesidad de proteger los datos, pues es una forma de encriptar todos los contenidos que se envían por la comunicación. En muchos casos, la autentificación consiste en una contraseña y usuario. Por último, también es posible configurar el bróker esto para monitorear las conexiones externas o anónimas para proteger los datos del usuario.
UBIDOTS
La plataforma Ubidots refleja nuestros valores y nuestra cultura. Conozca los principios que guían a nuestro equipo, nuestro desarrollo de productos y nuestro compromiso con el cliente, ayudando a construir juntos nuestro futuro conectado. Creemos que la visión del mundo de los países "desarrollados" frente a los "en desarrollo" está desactualizada. En cambio, hay lugares mágicos, no países, que se convierten en imanes de ideas, capital y talento de todo el mundo, inspirando a equipos con un propósito para construir productos globales que generen riqueza y cambio en las comunidades locales. América Latina es el hogar de muchos de estos lugares, y el crecimiento de Ubidots desde Medellín solo ha fortalecido este espíritu mientras alienta a miles de compañeros emprendedores de IOT a construir negocios de clase mundial sin salir de casa.
Materiales a usar:
Se aplicará el protocolo de comunicación hacia la agricultura específicamente a un cultivo de tomate Cherry donde se tendrán que registrar datos como temperatura, humedad ambiente y humedad de tierra. Para la medición de temperatura y humedad del ambiente se utilizará el sensor de Arduino DHT11, una de las ventajas de este módulo es que no se verá presente el ruido en las mediciones que este envíe, lo que lo hace una gran alternativa para recolectar datos de humedad y temperatura por su precisión y además por su bajo costo, este sensor cuenta con tres pines, un pin de alimentación el cual recibe de 3.3v a 5v, un pin digital para la transmisión de datos y por último un pin con conexión a tierra. Para la medición de temperatura este sensor varía de 0°C hasta los 50°C y su resolución es de 1°C(8 bits). Por otra parte, para las mediciones de humedad su rango va de los de 20% RH a 90% RH con una resolución de 1% RH.
Pensando en las necesidades del cultivo de tomates será necesario conocer la humedad del suelo o de la tierra donde estos tomates serán plantados, para ello se utiliza un sensor FC-28 el cual es un sensor que permite conocer de una forma muy sencilla la humedad de la tierra por medio de dos electrodos resistivos, esta resistencia entre los dos electrodos dependerá directamente de la humedad, a más humedad menos resistencia, este sensor debe ir conectado a una tarjeta o a un sistema embebido para el procesamiento y colección de los datos. La resistencia entre los electrodos proporciona un voltaje de 0v hasta 5 voltios cuando el suelo se encuentra muy seco, además de esto tienen un pin de salida analógica, digital y tierra. Este sensor es muy utilizado debido a su fácil uso y accesibilidad siendo implementado en muchas ocasiones en el monitoreo y sistemas automatizados de riego
Tarjeta ESP32, módulo para aplicaciones IOT.
Modulo WIFI que integra un receptor/emisor Bluetooth, con 32 entradas E/S digitales sobre una CPU de 32 bits.
Especificaciones:
- Procesador Tensilica Xtensa 32bits LX6 hasta 240MHz.
- Wi-Fi: 802.11b/g/n/e/i (802.11n @ 2.4 Ghz hasta 150 Mbit/s).
- Bluetooth: v4.2 BR/EDR y Bluetooth Low Energy (BLE).
- Rom:448 KiB.
- SRAM: 520 KiB.
- RTC slow SRAM: 8 KiB.
- RTC fast SRAM: 8 KiB.
- eFuse: 1 Kbit.
- Flash embebida: 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips); 2 MiB (ESP32-D2WD chip); 4 MiB (ESP32-PICO-D4 SIP module).
- Periféricos compatibles: ADC, DAC, I2C, UART, Interfaz CAN 2.0, SPI, I2S, RMII y PWM entre otros.
- Seguridad tipo IEEE 802.11, WFA, WPA/WPA2 y WAPI.
- Encriptación de memoria Flash.
- Criptografía soportada por acelerador de hardware: AES, SHA-2, RSA, ECC, RNG.
- Voltaje de trabajo 3.3VDC.
- Energía y datos vía conector microUSB 5VDC.
El LM35 es un sensor que puede medir temperatura. Su salida es analógica, el sensor tiene un rango de trabajo desde −55°C a 150°C. Es uno de los sensores más utilizados dado a que no es necesario de un microprocesador o microcontrolador para medir la temperatura. Dado que el sensor LM35 es analógico, basta con medir con un multímetro, el voltaje a salida del sensor y realizar su conversión adecuada.
Características principales
- Resolución: 10mV por cada grado centígrado.
- Voltaje de alimentación. Por ejemplo, esté sensor se puede alimentar desde 4Vdc hasta 20Vdc.
- Tipo de medición. Salida analógica.
- Numero de pines: 3 pines, GND, VCC y VSalida.
- No requiere calibración.
- Tiene una precisión de ±¼°C.
- Esta calibrado para medir °C.
- Consumo de corriente: 60 μA
- Empaquetados comunes:
- TO-CAN.
- TO-220.
- TO-92. SOIC8.
Esquematico
Resultados
El video del funcionamiento se dejara dentro de la carpeta asignada para el respectivo laboratorio.
El internet de las cosas puede ser una herramienta muy útil y eficaz en muchos casos, con esta herramienta podremos obtener información fácilmente almacenándolas en una nube para su posterior estudio y no solo queda acá pues podremos configurarla de forma que nos mande alertas por correo electrónico o por SMS en ciertas circunstancias bajo ciertos requisitos. En nuestro laboratorio implementamos la plataforma IoT Ubidost para poder hacer lo ya mencionado, para conectarnos a ubidost y censar los datos usamos la tarjeta de desarrollo ESP Wroom ESP322, para su comunicación con ubidost usamos el protocolo MQTT por medio del WIFI, su comunicación solo estará correcta si se programa con el token y variables que nos proporciona la plataforma. Para poder usar el protocolo se instaló una librería de ubidost que nos brinda el código para efectuar la comunicación correcta, por ultimo como ya mencionamos configuramos la alertas, la primera alerta se activa cuando la plataforma registra que la humedad de suelo esta por encima de 8(suelo con mucha humedad) cuando pasen más de 4 minutos, la segunda alerta se activa cuando se detecta una temperatura superior a los 40°C y por ultima la tercera alerta se activa cuando la humedad supere el 90%. Todos los factores antes mencionados afectan el cultivo de tomates por tal motivo tiene que ser alertado el usuario.
Concluciones:
Para poder generar una optima comunicación con el protocolo MQTT se debe implementar el token que proporciona la plataforma y de igual forma se debe implementar el "API_Label" de cada variable a la que se le desea enviar los datos censados lo que se le llamaría como "publish", y de igual forma ocurre a la hora de recibir algún dato de la plataforma a lo que se le llama "subscribe"
Referencias:
¿Qué es el Internet de las cosas (IoT)?. (2022). from https://www.oracle.com/co/internet-of-things/what-is-iot/ "SENSOR DE HUMEDAD Y TEMPERATURA DHT11", MACTRONICA. [Online]. Available: https://www.mactronica.com.co/sensor-de-humedad-y-temperatura-dht11. "Modulo Wifi Nodemcu V3 Esp8266 Arduino", embtronik. [Online]. Available: https://www.embtronik.com/producto/modulo-wifi-nodemcu-v3-esp8266-arduino/. "Construcción de un sensor de humedad de suelo – Automatismos Mar del Plata", Automatismos-mdq.com.ar. [Online]. Available: https://www.automatismos-mdq.com.ar/blog/2020/11/construccion-de-un-sensor-de-humedad-de-suelo.html. L. Llamas, “¿Qué es mqtt? Su Importancia como protocolo iot,” Luis Llamas, 17-Apr-2019. [Online]. Available: https://www.luisllamas.es/que-es-mqtt-su-importancia-como-protocolo-iot/.