Tabla de contenido:

Introducción a Amazon AWS IoT y ESP8266: 21 pasos
Introducción a Amazon AWS IoT y ESP8266: 21 pasos

Video: Introducción a Amazon AWS IoT y ESP8266: 21 pasos

Video: Introducción a Amazon AWS IoT y ESP8266: 21 pasos
Video: Introducción a AWS IoT - Curso desde cero 2024, Mes de julio
Anonim
Introducción a Amazon AWS IoT y ESP8266
Introducción a Amazon AWS IoT y ESP8266

Este proyecto le muestra cómo tomar el módulo ESP8266 y conectarlo directamente a AWS IOT usando Mongoose OS. Mongoose OS es un sistema operativo de código abierto para microcontroladores que enfatiza la conectividad en la nube. Fue desarrollado por Cesanta, una empresa de software integrado con sede en Dublín y al final del proyecto, debería poder medir los valores de temperatura y humedad del sensor de temperatura DHT11 y publicarlo en la plataforma AWS IOT

Para este proyecto, necesitaremos:

 Una placa NodeMCU basada en ESP8266

 Sensor de temperatura DHT 11

 La herramienta de actualización de Mongoose OS

 Un cable USB para conectar la placa NodeMCU a la computadora

 Alambres Jumber

 Cuenta de AWS que tiene la intención de utilizar

Paso 1: Una placa NodeMCU basada en ESP8266

Una placa NodeMCU basada en ESP8266
Una placa NodeMCU basada en ESP8266

El ESP8266 es el nombre de un microcontrolador diseñado por Espressif Systems. El propio ESP8266 es una solución de red Wi Fi autónoma que se ofrece como un puente entre el microcontrolador existente y Wi Fi y también es capaz de ejecutar aplicaciones autónomas. Este módulo viene con un conector USB integrado y una amplia variedad de pines. Con un cable micro USB, puede conectar el devkit NodeMCU a su computadora portátil y flashearlo sin ningún problema, al igual que Arduino

Especificación

• Voltaje: 3.3V.

• Wi-Fi Direct (P2P), Soft-AP.

• Consumo de corriente: 10uA ~ 170mA.

• Memoria flash acoplable: 16 MB como máximo (512 K normal).

• Pila de protocolo TCP / IP integrada.

• Procesador: Tensilica L106 de 32 bits.

• Velocidad del procesador: 80 ~ 160 MHz.

• RAM: 32K + 80K.

• GPIOs: 17 (multiplexados con otras funciones).

• Analógico a digital: 1 entrada con resolución de 1024 pasos.

• + 19,5 dBm de potencia de salida en modo 802.11b

• Compatibilidad con 802.11: b / g / n.

• Número máximo de conexiones TCP simultáneas: 5

Paso 2: diagrama de pines

Diagrama de pines
Diagrama de pines

Paso 3: DHT11 - Sensor de temperatura y humedad

DHT11 - Sensor de temperatura y humedad
DHT11 - Sensor de temperatura y humedad

El DHT11 es un sensor de temperatura y humedad digital básico y de bajo costo. Utiliza un sensor de humedad capacitivo y un termistor para medir el aire circundante, y escupe una señal digital en el pin de datos (no se necesitan pines de entrada analógica). Es bastante simple de usar, pero requiere una sincronización cuidadosa para capturar los datos. La única desventaja real de este sensor es que solo puede obtener nuevos datos una vez cada 2 segundos

Características

 Temperatura de rango completo compensada

 Medición de temperatura y humedad relativa

 Señal digital calibrada

 Excelente estabilidad a largo plazo

 Componentes adicionales no necesarios

 Larga distancia de transmisión

 Bajo consumo de energía

Proceso de comunicación (un solo cable bidireccional)

Lo interesante de este módulo es el protocolo que utiliza para transferir datos. Todas las lecturas del sensor se envían utilizando un bus de un solo cable, lo que reduce el costo y extiende la distancia. Para enviar datos a través de un bus, debe describir la forma en que se transferirán los datos, de modo que el transmisor y el receptor puedan entender lo que se dicen entre sí. Esto es lo que hace un protocolo. Describe la forma en que se transmiten los datos. En DHT-11, el bus de datos de 1 cable se eleva con una resistencia a VCC. Entonces, si no ocurre nada, el voltaje en el bus es igual a VCC. El formato de comunicación se puede dividir en tres etapas

1) Solicitud

2) Respuesta

3) Lectura de datos

Paso 4: Introducción al sistema operativo Mongoose

Mongoose OS es un sistema operativo de código abierto para pequeños sistemas integrados. Está diseñado para ejecutarse en dispositivos como microcontroladores, que a menudo están limitados con memoria del orden de decenas de kilobytes, al tiempo que expone una interfaz de programación que proporciona acceso a las API modernas que normalmente se encuentran en dispositivos más potentes. Un dispositivo que ejecuta Mongoose OS tiene acceso a la funcionalidad del sistema operativo, como sistemas de archivos y redes, además de software de nivel superior, como un motor JavaScript y API de acceso a la nube.

Herramienta de flasheo de Mongoose OS

La herramienta de flasheo se utiliza para actualizar el sistema operativo Mongoose en ESP8266. Primero, obtenga una de las placas compatibles, como la ESP8266 NodeMCU, y conéctela a su computadora, luego siga estos pasos:

 Navegue a la página web de descarga de Mongoose OS y descargue la herramienta Mos. (Pero en este proyecto, usaremos la versión anterior de Mongoose OS)

 Ejecute el archivo de instalación de Mos (Mongoose OS) y siga el asistente de instalación:

Paso 5: el asistente de configuración de Mongoose

El asistente de configuración de Mongoose
El asistente de configuración de Mongoose
El asistente de configuración de Mongoose
El asistente de configuración de Mongoose
El asistente de configuración de Mongoose
El asistente de configuración de Mongoose

Paso 6: Estado del dispositivo: en línea

Estado del dispositivo: en línea
Estado del dispositivo: en línea

Después de completar los tres pasos, recibirá el mensaje que se indica a continuación y el estado del dispositivo se volverá en línea. Ahora nuestro módulo ESP8266 puede comunicarse con cualquier dispositivo remoto

Paso 7: aprovisionar el dispositivo en AWS IOT

Aprovisionar dispositivo en AWS IOT
Aprovisionar dispositivo en AWS IOT

Antes de que podamos enviar eventos a AWS, debemos poder establecer una conexión segura con AWS IOT. Para hacerlo, debemos aprovisionar el ESP con los certificados de AWS. En el asistente de configuración de Mongoose OS, elija el menú Configuración de dispositivo y luego elija la región de AWS adecuada y la política de AWS para su entorno de AWS. Haga clic en el botón Aprovisionar con AWS IOT. El dispositivo se configurará con la información correcta para conectarse al servicio de AWS. Los certificados se instalarán automáticamente.

Nota:

El usuario puede seleccionar la región de AWS y la política de AWS adecuadas. En nuestro escenario, seleccionamos la región de AWS como ap-sureste-1 y la política de AWS como mos-default.

Después de completar el dispositivo de aprovisionamiento en AWS IOT, ahora el módulo Wi-Fi esp8266 puede comunicarse con AWS -IOT

Paso 8: carga del código de muestra en la placa NodeMCU

Carga del código de muestra en la placa NodeMCU
Carga del código de muestra en la placa NodeMCU

Después de ejecutar el asistente de configuración de Mongoose, si hace clic en el menú de archivos del dispositivo, hay un archivo llamado init.js. Dentro de ese archivo hay un código de muestra. Si hace clic en el botón Guardar + Reiniciar, se cargará el código de muestra y el la salida se puede ver en los registros del dispositivo

Paso 9: Introducción a la cuenta de AWS

¿Qué es AWS?

Amazon Web Services (AWS) es un proveedor de servicios en la nube de Amazon, que brinda servicios en forma de bloques de construcción, estos bloques de construcción se pueden utilizar para crear e implementar cualquier tipo de aplicación en la nube. Estos servicios o componentes básicos están diseñados para funcionar entre sí y dan como resultado aplicaciones sofisticadas y altamente escalables.

¿Como instalar?

Hay dos formas de configurar los servicios de AWS

 Uso de la utilidad de línea de comandos de AWS CLI

 Uso de la GUI de AWS

Paso 10: Utilidad de línea de comandos de la AWS CLI (opcional)

Primero necesitamos instalar AWS CLI. AWS CLI es una herramienta de línea de comandos que proporciona comandos para interactuar con los servicios de AWS. Le permite utilizar la funcionalidad proporcionada por la Consola de administración de AWS desde el terminal. Mongoose utiliza esta herramienta para aprovisionar el dispositivo IOT en AWS IOT. La AWS CLI necesita sus credenciales para poder conectarse a AWS. Para configurar, ejecute aws configure desde la línea de comando e ingrese su información de acceso (sus credenciales). En palabras simples, puede acceder y administrar Amazon Web Services a través de una interfaz de usuario basada en web simple e intuitiva. Si lo que le preocupa es acceder a algunas de las funciones mediante un teléfono móvil, la aplicación móvil de la consola de AWS le permite ver rápidamente los recursos sobre la marcha.

Paso 11: Amazon Web Services (GUI)

Servicios web de Amazon (GUI)
Servicios web de Amazon (GUI)

Después de aprovisionarnos con AWS, podemos iniciar sesión en la consola de administración de AWS, en la pestaña de servicios tenemos diferentes categorías. Antes de comenzar a explorar las funciones de esta consola, debe crear una cuenta en AWS. Las personas que no tienen una cuenta pueden visitar el sitio web de AWS y crear una cuenta gratuita. Debe ingresar los datos de su tarjeta de crédito / débito. AWS no le cobrará durante su suscripción gratuita siempre que utilice los servicios según los límites especificados.

Paso 12: AWS IOT Core

AWS IOT Core
AWS IOT Core

Después de iniciar sesión, se lo dirigirá a la siguiente página y, en Internet de las cosas, seleccione el núcleo de IOT

Paso 13: AWS IOT - Monitor

AWS IOT: monitor
AWS IOT: monitor

Una vez que seleccione el núcleo de IOT, aparecerá la página anterior y luego seleccione el menú de prueba

Paso 14: AWS IOT - Suscripciones

AWS IOT: suscripciones
AWS IOT: suscripciones

Después de seleccionar el menú Prueba, será dirigido a Suscripciones. En el tema de suscripción, especifique el tema apropiado que está utilizando y haga clic en el botón Suscribirse al tema.

Paso 15: Publicar el mensaje predeterminado

Publicar el mensaje predeterminado
Publicar el mensaje predeterminado

Después de eso, será dirigido a la página anterior. Si hace clic en Publicar en tema, tendremos el mensaje de muestra que se mostrará aquí de forma predeterminada.

Nota: Si desea escribir un nuevo código y cargarlo en la placa NodeMCU (el código que escribimos debe cargarse en el administrador de archivos del dispositivo> archivo init.js, entonces debe incluir el nombre del tema en el código. Después de incluir el nombre del tema, debe usar el mismo nombre de tema en la sección de suscripciones para poder publicar el resultado

Paso 16: Publicar la información presionada sobre el botón

Publicar la información presionada sobre el botón
Publicar la información presionada sobre el botón

Paso 17: Publique los valores de temperatura y humedad en la plataforma AWS IOT

Publique los valores de temperatura y humedad en la plataforma AWS IOT
Publique los valores de temperatura y humedad en la plataforma AWS IOT

Paso 18: Tarea

Conecte el circuito como se muestra a continuación

 Actualice el sistema operativo mongoose en el módulo ESP8266

 Aprovisionar dispositivo en AWS IOT

 Cargue el código de programación en la placa NodeMCU

 Verifique la salida en los registros del dispositivo (vea la figura 9)

 Inicie sesión en la cuenta de AWS

 Seleccione el submenú principal de IOT

 Seleccione la opción Prueba de la sección del cliente MQTT

 Especifique el tema apropiado en las suscripciones.

 Haga clic en el botón publicar en tema

 Asegúrese de que cada vez que presione el botón de flash obtenga los valores de temperatura y humedad como mensajes

Recomendado: