Tabla de contenido:
- Paso 1: Cosas que necesita
- Paso 2: Obtenga las bibliotecas DHT11
- Paso 3: Conexiones
- Paso 4: Código de punto de acceso
- Paso 5: Paso final: prueba
Video: Punto de acceso (AP) NodeMCU ESP8266 para servidor web con sensor de temperatura DT11 y temperatura y humedad de impresión en el navegador: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Hola chicos, en la mayoría de los proyectos usamos ESP8266 y en la mayoría de los proyectos usamos ESP8266 como servidor web para que se pueda acceder a los datos en cualquier dispositivo a través de wifi accediendo al servidor web alojado en ESP8266, pero el único problema es que necesitamos un enrutador que funcione para eso y nuestro dispositivo también debe conectarse al enrutador y debemos poner nuestras credenciales de wifi en el código, por lo que si cambia el wifi, debe cambiar las credenciales en el código y debe volver a cargarlo. Así que, básicamente, tenemos dos problemas aquí: 1- Necesitamos una conexión wifi para alojar el servidor web (enrutador) 2- Siempre que sea necesario cambiar la conexión wifi, debemos ingresar las credenciales y volver a cargar el código, así que para evitar todo este problema lo que podemos hacer es en lugar de dar un acceso wifi podemos hacer que el ESP8266 cree una conexión wifi propia por lo que si nos conectamos a esa conexión wifi podemos acceder al servidor web de ESP8266, así que básicamente estaremos hospedando un servidor web con ESP8266 con punto de acceso. estaremos creando un servidor web que usa Access Point con ESP8266 y conectaremos un sensor DHT11 e imprimiremos la temperatura y la humedad en la página del servidor web.
Paso 1: Cosas que necesita
1x ESP 8266 Nodemcu: 1x DHT11: 1x placa de pruebas:.: Pocos saltadores:
Paso 2: Obtenga las bibliotecas DHT11
Abra su IDE de Arduino y vaya a Sketch> Incluir biblioteca> Administrar bibliotecas. El Administrador de bibliotecas debería abrirse. Busque "DHT" en el cuadro de búsqueda e instale la biblioteca DHT de Adafruit. Después de instalar la biblioteca DHT de Adafruit, escriba "Adafruit Unified Sensor" en el cuadro de búsqueda. Desplácese hacia abajo para encontrar la biblioteca e instálela. Después de instalar las bibliotecas, reinicie su IDE de Arduino.
Paso 3: Conexiones
El circuito es muy fácil de conectar todo según se muestra en schmatics
Paso 4: Código de punto de acceso
De mis instrucciones anteriores, voy a modificar el código del servidor web de estas instrucciones:
Y conviértalo en código de servidor web de punto de acceso. Copie el código que se proporciona a continuación:
#include "Arduino.h" #include "ESP8266WiFi.h"
#include "Hash.h"
#include "ESPAsyncTCP.h"
#include "ESPAsyncWebServer.h"
#include "Adafruit_Sensor.h"
#include "DHT.h"
const char * ssid = "ESP8266"; const char * password = "password"; # define DHTPIN 5 // Pin digital conectado al sensor DHT // Descomenta el tipo de sensor en uso: // # define DHTTYPE DHT11 // DHT 11 # define DHTTYPE DHT22 // DHT 22 (AM2302) // # define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // temperatura y humedad actuales, actualizado en loop () float t = 0.0; float h = 0.0; // Crea un objeto AsyncWebServer en el puerto 80AsyncWebServer server (80); // Generalmente, debes usar "unsigned long" para las variables que mantienen el tiempo // El valor se volverá rápidamente demasiado grande para que un int lo almacene = 0; // almacenará la última vez que se actualizó DHT // Actualiza las lecturas de DHT cada 10 segundos const long interval = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server
Temperatura% TEMPERATURA% ° C
Humedad% HUMEDAD%%) rawliteral "; // Reemplaza el marcador de posición con valores DHT Procesador de cadenas (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMEDAD") {return String (h);} return String ();} void setup () {// Puerto serie para fines de depuración Serial.begin (115200); dht.begin (); Serial.print ("Configuración de AP (Punto de acceso)… "); // Elimine el parámetro de contraseña, si desea que el AP (Punto de acceso) esté abierto WiFi.softAP (ssid, contraseña); IPAddress IP = WiFi.softAPIP (); Serial.print (" Dirección IP AP: "); Serial.println (IP); // Imprime la dirección IP local ESP8266 Serial.println (WiFi.localIP ()); // Ruta para la raíz / servidor de página web.on (" / ", HTTP_GET, (AsyncWebServerRequest * solicitud) {solicitud-> send_P (200, "texto / html", index_html, procesador);}); server.on ("/ temperatura", HTTP_GET, (AsyncWebServerRequest * solicitud) {solicitud- > send_P (200, "text / plain", String (t).c_str ());}); server.on ("/ humedad", HTTP_GET, (AsyncWebServerRequest * request) {request-> send_P (200, "Texto sin formato", Cadena (h).c_str ()); }); // Iniciar el servidor server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// guarda la última vez que actualizaste los valores de DHT previousMillis = currentMillis; // Lee la temperatura como Celsius (por defecto) float newT = dht.readTemperature (); // Lee la temperatura como Fahrenheit (isFahrenheit = true) // float newT = dht.readTemperature (true); // si la lectura de la temperatura falló, no cambie el valor t if (isnan (newT)) {Serial.println ("Failed para leer del sensor DHT! "); } else {t = newT; Serial.println (t); } // Leer humedad float newH = dht.readHumidity (); // si la lectura de humedad falla, no cambie el valor h if (isnan (newH)) {Serial.println ("¡Error al leer del sensor DHT!"); } else {h = newH; Serial.println (h); }}} Antes de cargar el código, asegúrese de poner lo siguiente: const char * ssid = "ESP8266"; // cualquier ssid de wifi que deseeconst char * password = "contraseña"; // pasar para conectarse al ssidSet anterior El ESP8266 como un punto de acceso: Para configurar el esp8266 como un punto de acceso, usaremos el comando softAP como se muestra a continuación; para crear un punto de acceso. WiFi.softAP (ssid, contraseña); También hay otros parámetros opcionales que puede pasar al método softAP (). Aquí están todos los parámetros: Si abre el monitor en serie, puede ver la IP del punto de acceso. Lo cual se hace siguiendo parte del código. IPAddress IP = WiFi.softAPIP (); Serial.print ("Dirección IP AP:"); Serial.println (IP); Por defecto, la dirección IP es: 192.168.4.1
Paso 5: Paso final: prueba
Después de cargar el código, abra su wifi móvil / pc y conéctese al wifi esp8266 (cualquier ssid y contraseña que ingresó en el código, haga uso de eso). Después de conectarse, simplemente abra la IP en su navegador que obtuvimos del monitor serial (https://192.168.4.1.) y podrás ver la temperatura y la humedad en tu navegador como la mía. Y no usamos ninguna red wifi para hacer esto, así es como funciona el punto de acceso de esp8266.
Recomendado:
Control de acceso a la comida para gatos (ESP8266 + servomotor + impresión 3D): 5 pasos (con imágenes)
Control de acceso a la comida para gatos (ESP8266 + Servomotor + Impresión 3D): este proyecto repasa el proceso que utilicé para crear un tazón de comida para gatos automatizado, para mi gato anciano diabético Chaz. Mira, necesita desayunar antes de que pueda recibir su insulina, pero a menudo me olvido de recoger su plato de comida antes de irme a la cama, lo cual spo
ESP8266 Monitorización de temperatura Nodemcu mediante DHT11 en un servidor web local - Obtenga la temperatura y la humedad ambiente en su navegador: 6 pasos
ESP8266 Monitorización de temperatura Nodemcu mediante DHT11 en un servidor web local | Obtenga la temperatura y la humedad de la habitación en su navegador: Hola chicos, hoy haremos una humedad & sistema de control de temperatura mediante ESP 8266 NODEMCU & Sensor de temperatura DHT11. La temperatura y la humedad se obtendrán del sensor DHT11 & se puede ver en un navegador qué página web se administrará
Cree un punto de acceso WiFi y proporcione un servidor web en NodeMCU V3: 4 pasos
Cree un punto de acceso WiFi y proporcione un servidor web en NodeMCU V3: en el artículo anterior ya hablé sobre cómo usar NodeMCU ESP8266. En el artículo explico cómo agregar NodeMCU ESP8266 a Arduini IDE. Hay varias formas de comunicarse a través de Internet usando NodeMCU ESP8266. Haciendo de NodeMCU como
Cómo usar el sensor de temperatura DHT11 con Arduino y temperatura de impresión Calor y humedad: 5 pasos
Cómo utilizar el sensor de temperatura DHT11 con Arduino y temperatura de impresión Calor y humedad: El sensor DHT11 se utiliza para medir la temperatura y la humedad. Son aficionados a la electrónica muy populares. El sensor de humedad y temperatura DHT11 hace que sea realmente fácil agregar datos de humedad y temperatura a sus proyectos de electrónica de bricolaje. Es por
Punto de acceso Wifi Raspberry Pi Zero con una antena PCB personalizada: 6 pasos (con imágenes)
Punto de acceso Wifi Raspberry Pi Zero con una antena PCB personalizada: ¿Qué estamos haciendo? El título de este tutorial tiene muchos términos técnicos. Vamos a analizarlo. ¿Qué es una Raspberry Pi Zero (Rπ0)? Una Raspberry Pi Zero es una computadora diminuta. Es la versión más pequeña de la computadora de placa única Raspberry Pi