Tabla de contenido:

ESP8266 y Visuino: servidor web de temperatura y humedad DHT11: 12 pasos
ESP8266 y Visuino: servidor web de temperatura y humedad DHT11: 12 pasos

Video: ESP8266 y Visuino: servidor web de temperatura y humedad DHT11: 12 pasos

Video: ESP8266 y Visuino: servidor web de temperatura y humedad DHT11: 12 pasos
Video: Clase N°4 Configurando Sensor DHT11 para Leer Temperatura y Humedad con ESP32 y Blynk 2024, Noviembre
Anonim
Image
Image

Los módulos ESP8266 son excelentes controladores independientes de bajo costo con Wi-Fi incorporado, y ya hice varios Instructables sobre ellos.

DTH11 / DTH21 / DTH22 y AM2301 son sensores Arduino combinados de temperatura y humedad muy populares, y también hice varios Instructables con ellos, incluido un Instructable en termómetro remoto y sensor de humedad con 2 ESP8266 conectados juntos en su propia red privada de Wi-Fi.

En este Instructable, le mostraré cómo puede crear un servidor web de temperatura y humedad con ESP8266 y DHT11 y conectarse a él en su red Wi-Fi existente desde múltiples dispositivos con un navegador web.

Paso 1: componentes

Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
  1. Placa OneNodeMCU ESP8266 (utilicé la versión NodeMCU 0.9, pero cualquier otra, o incluso independiente ESP-12 o ESP-01 funcionará)
  2. Un módulo de sensor DHT11 que obtuve de este juego de 37 sensores baratos
  3. 3 cables de puente hembra-hembra

Paso 2: Conecte el DHT11 al módulo NodeMCU ESP8266

Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
Conecte el DHT11 al módulo NodeMCU ESP8266
  1. Conecte la alimentación (cable rojo), tierra (cable negro) y datos (cable gris) al módulo DHT11 (la imagen 1 muestra 2 tipos diferentes de módulos de sensor DHT11. Como puede ver, los pines pueden diferir, ¡así que conéctelo con cuidado!)
  2. Conecte el otro extremo del cable de tierra (cable negro) al pin de tierra del módulo ESP8266 (Imagen 2)
  3. Conecte el otro extremo del cable de alimentación (cable rojo) al pin de alimentación de 3,3 V del módulo ESP8266 (Imagen 2)
  4. Conecte el otro extremo del cable de datos (cable gris) al pin digital 2 del módulo ESP8266 (Imagen 3)
  5. La imagen 4 muestra dónde están los pines de tierra, alimentación de 3,3 V y 2 pines digitales del NodeMCU 0.9

Paso 3: Inicie Visuino y seleccione el tipo de placa ESP8266

Inicie Visuino y seleccione el tipo de placa ESP8266
Inicie Visuino y seleccione el tipo de placa ESP8266
Inicie Visuino y seleccione el tipo de placa ESP8266
Inicie Visuino y seleccione el tipo de placa ESP8266

Para comenzar a programar el Arduino, necesitará tener el IDE de Arduino instalado desde aquí:

Tenga en cuenta que hay algunos errores críticos en Arduino IDE 1.6.6

¡Asegúrese de instalar 1.6.7 o superior, de lo contrario, este Instructable no funcionará!

Si no lo ha hecho, siga los pasos de este Instructable para configurar el IDE de Arduino para programar ESP 8266

Visuino: https://www.visuino.com también necesita estar instalado.

  1. Inicie Visuinoas que se muestra en la primera imagen
  2. Haga clic en el botón "Herramientas" en el componente Arduino (Imagen 1) en Visuino
  3. Cuando aparezca el cuadro de diálogo, seleccione "NodeMCU ESP-12" como se muestra en la Imagen 2

Paso 4: En Visuino: establezca un nombre de host y un punto de acceso

En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso
En Visuino: establezca un nombre de host y un punto de acceso

Primero necesitamos configurar el módulo para que se conecte a un punto de acceso existente y asignarle un nombre de host para que podamos descubrirlo en la red.

  1. En el Inspector de objetos, expanda la propiedad "Módulos", luego la propiedad secundaria "WiFi"
  2. En el Inspector de objetos, establezca el valor de la propiedad "HostName" en "dht11server" (Imagen 1)
  3. En el Inspector de objetos, expanda la subpropiedad "AccessPoints" de "WiFi" y haga clic en el botón "…" junto a su valor (Imagen 2)
  4. En el editor "AccessPoins", seleccione "Punto de acceso WiFi" en la vista derecha, y luego haga clic en el botón "+" a la izquierda para agregar el punto de acceso (Imagen 2)
  5. En el Inspector de objetos, establezca el valor de la propiedad "SSID" en el SSID de su punto de acceso Wi-Fi (punto de acceso) (Imagen 4)
  6. Si su punto de acceso Wi-Fi (punto de acceso) requiere una contraseña, en el Inspector de objetos, establezca la contraseña en el valor de la propiedad "Contraseña" (Imagen 4)
  7. Cierre el cuadro de diálogo "Puntos de acceso"

Paso 5: En Visuino: agregue un socket de servidor TCP / IP para la comunicación

En Visuino: agregue un socket de servidor TCP / IP para la comunicación
En Visuino: agregue un socket de servidor TCP / IP para la comunicación
En Visuino: agregue un socket de servidor TCP / IP para la comunicación
En Visuino: agregue un socket de servidor TCP / IP para la comunicación
En Visuino: agregue un socket de servidor TCP / IP para la comunicación
En Visuino: agregue un socket de servidor TCP / IP para la comunicación

A continuación, debemos agregar un socket de servidor TCP / IP para la comunicación.

  1. En el Inspector de objetos, haga clic en el botón "…" junto al valor de la subpropiedad "Sockets" del WiFi (Imagen 1)
  2. En el editor de Sockets, seleccione "Servidor TCP / IP", y luego haga clic en el botón "+" (Imagen 2) para agregar uno (Imagen 3)
  3. Cerrar el cuadro de diálogo "Sockets"

Paso 6: En Visuino: agregue DTH11 y el componente de texto formateado con 2 canales analógicos

En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos
En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos
En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos
En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos
En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos
En Visuino: agregue DTH11 y componente de texto formateado con 2 canales analógicos

Para controlar y leer la temperatura y la humedad del DHT11, necesitamos agregarle un componente en Visuino.

También necesitamos generar la página web a partir de los datos. La página es solo un documento de texto HTML, por lo que podemos usar el componente de texto con formato para generarlo.

  1. Escriba "dht" en el cuadro Filtro de la Caja de herramientas de componentes, luego seleccione el componente "Humedad y termómetro DHT11 / 21/22 / AM2301" (Imagen 1) y colóquelo en el área de diseño.
  2. Escriba "formulario" en el cuadro Filtro de la Caja de herramientas de componentes, luego seleccione el componente "Texto formateado" (Imagen 2) y suéltelo en el área de diseño
  3. Haga clic en el botón "Herramientas" del componente FormattedText1 (Imagen 3)
  4. En el editor de Elementos, seleccione el Elemento Analógico de la derecha y haga clic 2 veces en el botón "+" de la izquierda (Imagen 4), para agregar 2 de ellos (Imagen 5)
  5. Cerrar el editor "Elementos"

Paso 7: En Visuino: establezca el texto formateado para la respuesta del servidor

En Visuino: establecer texto formateado para la respuesta del servidor
En Visuino: establecer texto formateado para la respuesta del servidor
En Visuino: establecer texto formateado para la respuesta del servidor
En Visuino: establecer texto formateado para la respuesta del servidor

Necesitamos especificar el texto HTML que se generará cuando un cliente web se conecte al servidor.

Especificaremos la conexión que se cerrará después de los datos que envié, y también le indicaremos al navegador que se vuelva a conectar (Refrescar) después de 5 segundos agregando "Refresh: 5" al documento. De esta forma, la página web se actualizará cada 5 segundos.

  1. En el Área de diseño, seleccione el componente FormattedText1 (Imagen 1)
  2. En el Inspector de objetos, seleccione la propiedad "Texto" y haga clic en el botón "…" junto a su valor (Imagen 1)
  3. En el editor de "Texto", escriba: "HTTP / 1.1 200 OK" "Tipo de contenido: texto / html" "Conexión: cerrar" "Actualizar: 5" "" """"""" Temperatura:% 0 "" Humedad:% 1 "" "" "(Imagen 2) El% 0 se reemplazará con el valor de AnalogElement1, y% 1 se reemplazará con el valor de AnalogElement2
  4. Haga clic en el botón Aceptar para cerrar el cuadro de diálogo.

Paso 8: En Visuino: conecte el componente DHT11

En Visuino: conecte el componente DHT11
En Visuino: conecte el componente DHT11
En Visuino: conecte el componente DHT11
En Visuino: conecte el componente DHT11
En Visuino: conecte el componente DHT11
En Visuino: conecte el componente DHT11
  1. Conecte el pin de salida "Temperature" del componente HumidityThermometer1 al pin "In" del AnalogElement1 del componente FormattedText1 (Imagen 1)
  2. Conecte el pin de salida "Humidity" del componente HumidityThermometer1 al pin "In" del AnalogElement2 del componente FormattedText1 (Imagen 2)
  3. Conecte el pin "Sensor" del componente HumidityThermometer1 al pin de entrada "Digital" del canal "Digital [2]" del componente Arduino (Imagen 3)

Paso 9: En Visuino: agregue y conecte el componente de detección de bordes

En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes
En Visuino: agregue y conecte el componente de detección de bordes

Necesitamos enviar el texto HTML cada vez que haya una nueva conexión. Antes de enviar, debemos esperar un poco, ya que los navegadores web tienen que enviar una solicitud antes de esperar ver el resultado. Para hacer eso usaremos el componente Delay conectado al pin "Connected" del TCP / IP Server Socket.

  1. Escriba "retraso" en el cuadro Filtro de la caja de herramientas de componentes, luego seleccione el componente "Retraso" (Imagen 1) y suéltelo en el área de diseño
  2. En Propiedades, establezca el valor de la propiedad "Intervalo (uS)" en 200000 (Imagen 2)
  3. Conecte el pin "Connected" de los "Modules. WiFi. Sockets. TCPServer1" del componente "NodeMCU ESP-12", al pin "In" del componente Delay1 (Imagen 3)
  4. Conecte el pin "Out" del componente Delay1 al pin de entrada "Clock" del componente FormattedText1 (Imagen 4)

Paso 10: En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo

En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
En Visuino: conecte el componente de texto formateado y agregue y conecte el componente de retardo
  1. Conecte el pin "Out" del componente FormattedText1 al pin "In" de los "Modules. WiFi. Sockets. TCPServer1" del componente "NodeMCU ESP-12" (Imagen 1)
  2. Escriba "retraso" en el cuadro Filtro de la caja de herramientas de componentes, luego seleccione el componente "Retraso" (Imagen 2) y suéltelo en el área de diseño
  3. Conecte el pin "Out" del componente FormattedText1 al pin "In" del componente Delay2 (Imagen 3)
  4. Conecte el pin "Out" del componente Delay2 al pin de entrada "Disconnect" de los "Modules. WiFi. Sockets. TCPServer1" del componente "NodeMCU ESP-12" (Imagen 4)

El componente Delay desconectará el enchufe poco después de que se haya enviado el texto.

Paso 11: Genere, compile y cargue el código Arduino

Genere, compile y cargue el código Arduino
Genere, compile y cargue el código Arduino
Genere, compile y cargue el código Arduino
Genere, compile y cargue el código Arduino
  1. En Visuino, presione F9 o haga clic en el botón que se muestra en la Imagen 1 para generar el código Arduino y abra el IDE de Arduino
  2. Conecte el módulo NodeMCU con un cable USB a la computadora
  3. Seleccione el tipo de placa y el puerto serie como le he mostrado en este Instructable
  4. En el IDE de Arduino, haga clic en el botón Cargar, para compilar y cargar el código (Imagen 2)

Paso 12: Y juega …

Image
Image
Y juega…
Y juega…

¡Felicidades! Ha creado un servidor web de temperatura y humedad Wi-Fi.

En la Imagen 1 y en el Video puede ver el proyecto conectado y encendido. Usé un pequeño banco de energía USB para alimentar el módulo.

¡Asegúrese de que en el proyecto del paso 4 haya ingresado el SSID y la contraseña correctos para su punto de acceso Wi-Fi

Si abre un navegador web en su computadora o dispositivo móvil y escribe:

dht11server./

Y presione Enter, verá la temperatura y la humedad medidas por el módulo. La lectura se actualizará cada 5 segundos como se especifica en el Paso 7.

Asegúrese de agregar el punto al final del nombre; de lo contrario, Windows no podrá resolver el nombre de dominio

En la Imagen 2 puede ver el diagrama completo de Visuino.

También se adjunta el proyecto Visuino, que creé para este Instructable. Puede descargarlo y abrirlo en Visuino:

Recomendado: