Tabla de contenido:

Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos
Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos

Video: Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos

Video: Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos
Video: IOT con ESP32 - Control Desde Todo El Mundo 2024, Noviembre
Anonim
Conceptos básicos de IoT: conexión de su IoT a la nube con Mongoose OS
Conceptos básicos de IoT: conexión de su IoT a la nube con Mongoose OS
Conceptos básicos de IoT: conexión de su IoT a la nube con Mongoose OS
Conceptos básicos de IoT: conexión de su IoT a la nube con Mongoose OS

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

Introducción a MQTT
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:

  1. Laurel le dice a Tom que quiere vender su colección de tarjetas (datos o carga útil) y le da las tarjetas.
  2. 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:

  1. Iniciar sesión en Losant
  2. Crear un dispositivo (tipo independiente)
  3. 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
  4. Genere una clave de acceso y anote el ID del dispositivo y la clave de acceso
  5. 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

Image
Image

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:

  1. Instale la herramienta mos para su sistema operativo.
  2. Abra la herramienta y ejecute los siguientes comandos:

    1. clon de mos
    2. cd losant-temp-sensor
    3. mos build - plataforma esp32
    4. mos flash
  3. Después de flashear exitosamente, permita que el dispositivo se reinicie y luego ejecute los siguientes comandos:

    1. mos wifi "tu wifi ssid" "tu contraseña wifi", por ejemplo. mos wifi "Casa" "casa @ 123"
    2. mos config-set temperature.basis =

      unidad de temperatura ="

      "por ejemplo, mos config-set temperature.basis = 33 / temperature.unit =" celsius"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

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

Image
Image
Nota
Nota

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: