Tabla de contenido:
- Suministros
- Paso 1: Introducción a MQTT
- Paso 2: Introducción a la plataforma de IoT
- Paso 3: preparar el editor MQTT
- Paso 4: nota a pie de página
- Paso 5: Créditos y asistencia
Video: Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Si eres una persona a la que le gustan los retoques y la electrónica, la mayoría de las veces te encontrarás con el término Internet de las cosas, generalmente abreviado como IoT, y que se refiere a un conjunto de dispositivos que pueden conectarse a Internet. Siendo yo mismo una persona así, me fascinó saber que tan buenos dispositivos eran fácilmente accesibles para mí. La mera idea de poder conectar mis proyectos a Internet usando una pequeña pieza de hardware y solo pensar en las innumerables puertas que abriría para mis ideas de proyectos me entusiasmó.
Pero decirle al IoT que se conecte a Internet no es tan simple como comprarlo y encenderlo. Y además de hacer que el dispositivo se conecte a Internet, también necesitamos enviar algunos datos útiles a Internet. Este Instructable trata sobre el procedimiento involucrado para lograr el objetivo mencionado anteriormente, y está destinado a lectores de cualquier nivel de experiencia, desde principiantes hasta veteranos que son nuevos en IoT.
En este Instructable, como ejemplo, demostraré cómo trazar el gráfico de las lecturas del sensor de temperatura interno de la placa de desarrollo ESP32, lo que debería dar a los lectores una buena idea del proceso.
Aunque este Instructable usa ESP32 y Mongoose OS, ¡el procedimiento se puede extender a todos los IoT y firmware que existen!
Suministros
Para poder implementar este Instructable usted mismo, necesitará solo una cantidad mínima de hardware, y son:
- Un Internet de las cosas (IoT): he usado un clon de placa de desarrollo ESP32 barato. Si planea comprar una nueva placa de desarrollo ESP32, debe consultar la placa ESP32 de DFRobot.
- Un cable de datos: use un cable que su IoT requiera para flashear, etc.
- Una batería (opcional): compre esto solo si tiene la intención de encender su IoT durante períodos prolongados.
- Una mini placa de pruebas (opcional)
Sugiero al lector que use un IoT diferente de ESP32 para que pueda entender realmente lo que se está haciendo aquí, en lugar de simplemente imitarme. Créame, disfrutará implementando este proceso usando su propia mente en algún otro IoT, por ejemplo, ESP8266 sería una buena opción.
Paso 1: Introducción a MQTT
¿Qué es MQTT?
"MQTT es un protocolo de mensajería simple, diseñado para dispositivos restringidos con poco ancho de banda. Por lo tanto, es la solución perfecta para aplicaciones de Internet de las cosas. MQTT le permite enviar comandos para controlar salidas, leer y publicar datos desde nodos sensores y mucho más. " (De RandomNerdTutorials)
¿Cómo funciona MQTT?
Antes de volvernos técnicos, pensemos primero en nuestro mundo real. Suponga que está interesado en una colección de tarjetas que pertenece al amigo de su amigo, digamos, Laurel, a quien no conoce personalmente. Como eres muy exigente con esa colección de cartas, le preguntarás a tu amigo, supongamos que Tom, si Laurel está dispuesta a venderla o no. Mientras lo hace, le pedirá a Tom que compre la colección de tarjetas él mismo si Laurel está dispuesta a vender, ya que no quiere que otra persona tenga en sus manos la colección que está deseando. A medida que pasa el tiempo, Tom y Laurel interactúan y, de mutuo acuerdo, Laurel le da su colección de tarjetas a Tom a cambio de dinero. Después de este intercambio, Tom se queda con las cartas hasta que se vuelve a encontrar contigo, que es cuando finalmente te da la colección de cartas. Así es como se desarrolla un intercambio normal en nuestra vida diaria.
En MQTT, los elementos básicos involucrados en el intercambio son el editor (Laurel), un suscriptor (Usted) y el corredor (Tom). Su flujo de trabajo también es similar al ejemplo del mundo real mencionado anteriormente, ¡excepto por una gran diferencia! En MQTT, el intercambio lo inicia el corredor, es decir, Laurel sería la primera en comunicarse con Tom para decirle que quiere vender su colección de tarjetas. Si comparamos el funcionamiento de MQTT con nuestro ejemplo del mundo real, sería como sigue:
- Laurel le dice a Tom que quiere vender su colección de tarjetas (datos o carga útil) y le da las tarjetas.
- Tom toma esas cartas en su poder y está abierto a ofertas para la colección de cartas. Cuando tú y Tom se encuentran y él descubre que estás interesado en las tarjetas (se suscribe a un tema). Tom luego te da las cartas.
Como todo el proceso depende del corredor y no hay interacción directa entre el suscriptor y el editor, MQTT elimina la molestia de sincronizar tanto al editor como al suscriptor. La presencia de un corredor intermedio es una bendición para los dispositivos con recursos limitados como IoT y microprocesadores, ya que su potencia de procesamiento es insuficiente para llevar a cabo la transferencia de datos de forma normal, lo que implicaría gastos generales adicionales como autenticación, cifrado, etc. MQTT tiene muchas otras características, como ser liviano, distribución de uno a muchos, etc., lo que lo hace ideal para redes y clientes restringidos.
Paso 2: Introducción a la plataforma de IoT
¿Qué es una plataforma de IoT?
"En un nivel alto, una plataforma de Internet de las cosas (IoT) es el software de soporte que conecta el hardware perimetral, los puntos de acceso y las redes de datos con otras partes de la cadena de valor (que generalmente son las aplicaciones del usuario final). Las plataformas de IoT generalmente manejar las tareas de administración en curso y la visualización de datos, lo que permite a los usuarios automatizar su entorno ". (De Link-Labs)
En resumen, una plataforma de IoT actúa como el medio entre el usuario y los agentes de recopilación de datos que es responsable de representar los datos recopilados.
En este Instructable, planeamos enviar las lecturas de temperatura de nuestro ESP32 en línea. Nuestro ESP32 actuará como editor de MQTT y el corredor de MQTT será una plataforma de IoT de nuestra elección. Tenga en cuenta que en nuestro proyecto, no hay función de un suscriptor de MQTT ya que los datos están siendo representados por la propia plataforma de primera mano. La plataforma de IoT será responsable de almacenar nuestros datos publicados y representarlos de manera agradable, aquí, como un gráfico de líneas. Usaré Losant como mi plataforma de IoT aquí, ya que es de uso gratuito y ofrece algunas buenas formas de representar datos. Algunos otros ejemplos de plataformas de IoT son Google Cloud, Amazon AWS y Adafruit, Microsoft Azure, etc. Me gustaría aconsejar al lector que consulte la documentación de su plataforma de IoT elegida.
Configuración de Losant:
- Iniciar sesión en Losant
- Crear un dispositivo (tipo independiente)
- Agregue algunos tipos de datos al dispositivo 1. Nombre: temperatura, Tipo de datos: Número 2. Nombre: desplazamiento, Tipo de datos: Número 3. Nombre: unidad, Tipo de datos: Cadena
- Genere una clave de acceso y anote el ID del dispositivo y la clave de acceso
- Crea un gráfico 1. Cree un tablero 2. Agregue el bloque "Gráfico de serie temporal" utilizando la variable de temperatura y el dispositivo que creó.
El "ID de dispositivo" tiene el propósito de actuar como una huella digital única para un dispositivo. Las "claves de acceso", como sugiere el nombre, permiten que IoT publique en Losant bajo la identidad del dispositivo.
Paso 3: preparar el editor MQTT
Ahora que hemos preparado la plataforma de IoT para recibir y representar los datos, necesitamos preparar un editor de MQTT que sea responsable de recopilar y enviar los datos a la plataforma.
El esquema de la preparación del editor MQTT es el siguiente:
- Escriba el código: para instruir al editor (IoT) cómo recopilar datos, procesarlos y enviarlos a la plataforma de IoT. Las instrucciones están escritas en lenguajes de programación de alto nivel legibles por humanos, lo que normalmente se conoce como código.
- Actualice el firmware: IoT no entenderá fácilmente estas instrucciones, ya que inicialmente no conoce ningún idioma. Para salvar esta barrera del idioma entre el ser humano y la máquina, el código se compila en un conjunto de instrucciones burdas, básicamente conjuntos de valores hexadecimales o binarios específicos de las ubicaciones de memoria dentro del IoT, conocido como el firmware que luego se transmite al IoT.
En este Instructable, dado que estoy usando mi práctico ESP32, le mostraré el firmware del sistema operativo Mongoose, que acepta programas escritos en C y JavaScript tanto. Además de la compatibilidad con JS, Mongoose OS todavía tiene mucho que ofrecer, como actualizaciones por aire, para ajustar su programa en línea y un tablero dedicado para dispositivos (mDash), etc.
He desarrollado una aplicación de código abierto para Mongoose OS para este Instructable. Es una aplicación simple llamada losant-temp-sensor, que emplea MQTT para enviar las lecturas de temperatura ambiente aproximadas, basadas en las lecturas de temperatura interna del ESP32, a Losant (una plataforma de IoT de uso gratuito). Se recomienda revisar el código de la aplicación para una mejor comprensión. Estaremos mostrando esta aplicación para este Instructable.
Si eres del tipo aventurero, entonces puedes intentar lograr el mismo objetivo con el firmware Arduino-ESP32 que permite usar el ESP32 como un Arduino (con capacidad WiFi).
Un resumen rápido de la aplicación de flasheo con Mongoose OS:
- Instale la herramienta mos para su sistema operativo.
-
Abra la herramienta y ejecute los siguientes comandos:
- clon de mos
- cd losant-temp-sensor
- mos build - plataforma esp32
- mos flash
- mos wifi "tu wifi ssid" "tu contraseña wifi", por ejemplo. mos wifi "Casa" "casa @ 123"
-
mos config-set temperature.basis =
unidad de temperatura ="
"por ejemplo, mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Después de flashear exitosamente, permita que el dispositivo se reinicie y luego ejecute los siguientes comandos:
Después de completar todos estos pasos correctamente, terminará con un ESP32 que envía las lecturas de temperatura a Losant periódicamente, después de cada 10 minutos. La publicación exitosa se indica mediante el LED azul, como se muestra en el video de arriba.
Paso 4: nota a pie de página
Si puede replicar los pasos anteriores correctamente, ahora tendrá un proyecto de trabajo con la ayuda del cual podrá observar las tendencias de temperatura dentro de su habitación, o donde quiera que planee colocar el proyecto. Dado que he mantenido este Instructable tan general como pude hacerlo, por lo tanto, puede usar su IoT para recopilar datos de todo tipo y tratar de concluir algo útil a partir de él, o puede hacerlo solo por el simple hecho de retocar si ' He entendido correctamente este Instructable.
Para mí, la mejor parte de IoT es el hecho de que nos permite recopilar grandes cantidades de datos, no concluyentes si se toman solos, y convertirlos en algo concluyente. Esto realmente impacta en el espíritu de la ciencia. Para mí, fue muy satisfactorio y esclarecedor notar la caída de temperatura dentro de mi habitación durante las horas de lluvia a través de mi gráfico.
La aplicación losant-temp-sensor-app se ha optimizado para el consumo de energía, ya que utiliza la función de sueño profundo de ESP32, por lo que puede usarla durante largos períodos de tiempo sin preocuparse por la batería. Puede ampliar aún más la eficiencia energética quitando el LED en la placa de desarrollo. El consumo actual de toda la configuración se muestra arriba.
El objetivo de este Instructable, desde el principio, fue solo brindarle una introducción al mundo de IoT. Al terminar este Instructable, tendrá un buen dominio de los conceptos básicos que puede fortalecer aún más a través de otros recursos en línea.
Aunque no podrá realizar proyectos complejos en esta etapa, siempre debe tenerse en cuenta que si tiene un ladrillo lo suficientemente fuerte y una forma de combinarlos, entonces puede hacer cualquier estructura imaginable, desde simple a complejo. Del mismo modo, tener un buen conocimiento de los conceptos básicos y saber cómo aplicarlos correctamente le permitirá montar multitud de artilugios. Por lo tanto, dese una palmada en la espalda por dar el primer paso.
Paso 5: Créditos y asistencia
Este Instructable consta de ilustraciones, p. Ej. el que explica el intercambio MQTT, que yo mismo hice. Esas ilustraciones solo han sido posibles gracias a los siguientes paquetes SVG gratuitos:
- Vector de infografía creado por freepik - www.freepik.com
- Vector de infografía creado por starline - www.freepik.com
- Vector de personas creado por pikisuperstar - www.freepik.com
- Vector abstracto creado por macrovector - www.freepik.com
- Vector abstracto creado por macrovector - www.freepik.com
- Vector de infografía creado por pikisuperstar - www.freepik.com
Este Instructable ha sido patrocinado por DFRobot. DFRobot tiene una increíble colección de productos electrónicos, así que asegúrese de revisarla.
Si sientes que te gustó este Instructable y quieres más Instructables como este, entonces puedes apoyarme en Patreon. Si no puede llegar tan lejos, puede seguirme aquí en Instructables.
Recomendado:
Soldadura de componentes de montaje en superficie - Conceptos básicos de soldadura: 9 pasos (con imágenes)
Soldadura de componentes de montaje en superficie | Conceptos básicos de soldadura: Hasta ahora, en mi Serie de conceptos básicos de soldadura, he discutido suficientes conceptos básicos sobre la soldadura para que pueda comenzar a practicar. En este Instructable, lo que discutiré es un poco más avanzado, pero son algunos de los conceptos básicos para soldar Surface Mount Compo
Soldadura de componentes de orificio pasante - Conceptos básicos de soldadura: 8 pasos (con imágenes)
Soldadura de componentes de orificio pasante | Conceptos básicos de soldadura: En este Instructable, discutiré algunos conceptos básicos sobre la soldadura de componentes de orificios pasantes a placas de circuito. Asumiré que ya ha revisado los primeros 2 Instructables para mi serie de Conceptos básicos de soldadura. Si no ha revisado mi In
Controladores Tiny H-Bridge - Conceptos básicos: 6 pasos (con imágenes)
Controladores Tiny H-Bridge | Conceptos básicos: ¡Hola y bienvenido de nuevo a otro Instructable! En el anterior, les mostré cómo creé bobinas en KiCad usando un script de Python. Luego creé y probé algunas variaciones de bobinas para ver cuál funciona mejor. Mi objetivo es reemplazar el enorme
Conexión de un sensor DHT11 / DHT22 a la nube con una placa basada en ESP8266: 9 pasos
Conexión de un sensor DHT11 / DHT22 a la nube con una placa basada en ESP8266: en el artículo anterior, conecté mi placa NodeMCU basada en ESP8266 a un servicio Cloud4RPi. ¡Ahora es el momento de un proyecto real
Conceptos básicos del motor - Concepto súper fácil de entender con un experimento: 7 pasos (con imágenes)
Conceptos básicos del motor | Concepto súper fácil de entender con un experimento: en este instructivo, voy a enseñarle sobre el principio fundamental subyacente de los motores. Todos los motores que nos rodean funcionan según este principio. Incluso los generadores funcionan en la declaración recíproca de esta regla. Estoy hablando de la mano izquierda Ru de Fleming