Sommario:
- Passaggio 1: cose di cui hai bisogno
- Passaggio 2: ottenere le librerie DHT11
- Passaggio 3: connessioni
- Passaggio 4: codice punto di accesso
- Passaggio 5: Passaggio finale: test
Video: ESP8266 NodeMCU Access Point (AP) per server Web con sensore di temperatura DT11 e stampa di temperatura e umidità nel browser: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ciao ragazzi nella maggior parte dei progetti usiamo ESP8266 e nella maggior parte dei progetti usiamo ESP8266 come server web, quindi è possibile accedere ai dati su qualsiasi dispositivo tramite wifi accedendo al server Web ospitato da ESP8266 ma l'unico problema è che abbiamo bisogno di un router funzionante per anche questo e il nostro dispositivo devono essere collegati al router e dobbiamo inserire le nostre credenziali wifi nel codice, quindi se cambi wifi, devi cambiare le credenziali nel codice e devi ricaricarlo. Quindi in pratica abbiamo due problemi qui:1- abbiamo bisogno di una connessione wifi per ospitare il webserver (router) 2- ogni volta che la connessione wifi deve essere cambiata dobbiamo inserire le credenziali e ricaricare il codice. Quindi per evitare tutto questo problema quello che possiamo fare è invece di dare un accesso wifi possiamo fare in modo che ESP8266 crei una connessione wifi propria, quindi se ci colleghiamo a quella connessione wifi possiamo accedere al server web di ESP8266. Quindi in pratica ospiteremo un server web con ESP8266 con punto di accesso. Quindi in questo istruibile noi creerà un webserver utilizzando Access Point con ESP8266 e collegheremo un sensore DHT11 e stamperemo temperatura e umidità sulla pagina del webserver.
Passaggio 1: cose di cui hai bisogno
1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Pochi ponticelli:
Passaggio 2: ottenere le librerie DHT11
Apri il tuo IDE Arduino e vai su Schizzo> Includi libreria> Gestisci librerie. Dovrebbe aprirsi il Gestore della libreria. Cerca "DHT" nella casella di ricerca e installa la libreria DHT da Adafruit. Dopo aver installato la libreria DHT da Adafruit, digita "Adafruit Unified Sensor" nella casella di ricerca. Scorri fino in fondo per trovare la libreria e installarla. Dopo aver installato le librerie, riavvia il tuo IDE Arduino.
Passaggio 3: connessioni
Il circuito è molto semplice collegare tutto Secondo come mostrato in schmatics
Passaggio 4: codice punto di accesso
Dai miei istruttori precedenti modificherò il codice del server web di questo istruibile:
E trasformalo nel codice del server web del punto di accesso. Copia il codice fornito di seguito:
#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 digitale connesso al sensore DHT// Decommenta il tipo di sensore in uso://#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);// temperatura e umidità attuali, aggiornate in loop()float t = 0.0; float h = 0.0;// Crea un oggetto AsyncWebServer sulla porta 80AsyncWebServer server(80);// In genere, dovresti usare "unsigned long" per le variabili che contengono time// Il valore diventerà rapidamente troppo grande per un int da memorizzare unsigned long previousMillis = 0; // memorizzerà l'ultima volta che DHT è stato aggiornato // Aggiorna le letture DHT ogni 10 secondi const long interval = 10000; const char index_html PROGMEM = R"rawliteral(ESP8266 DHT Server
Temperatura %TEMPERATURA% °C
Umidità %UMIDITÀ% %)rawliteral";// Sostituisce il segnaposto con valori DHTString processor(const String& var){ //Serial.println(var); if(var == "TEMPERATURE"){ return String(t); } else if(var == "HUMIDITY"){ return String(h); } return String();}void setup(){ // Porta seriale per il debug Serial.begin(115200); dht.begin(); Serial.print("Setting AP (Access Point)…"); // Rimuovere il parametro password, se si desidera che l'AP (Access Point) sia aperto WiFi.softAP(ssid, password); IPAddress IP = WiFi.softAPIP(); Serial.print(" Indirizzo IP AP: "); Serial.println(IP); // Stampa l'indirizzo IP locale ESP8266 Serial.println(WiFi.localIP()); // Instrada per root/pagina web server.on("/", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, processor); }); server.on("/temperature", HTTP_GET, (AsyncWebServerRequest *request){ request- >send_P(200, "text/plain", String(t).c_str()); }); server.on("/humidity", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "testo/normale", String(h).c_str()); }); // Avvia il server server.begin();}void loop(){ unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { // salva l'ultima volta che hai aggiornato i valori DHT previousMillis = currentMillis; // Legge la temperatura come Celsius (il valore predefinito) float newT = dht.readTemperature(); // Leggi la temperatura come Fahrenheit (isFahrenheit = true) //float newT = dht.readTemperature(true); // se la lettura della temperatura non è riuscita, non modificare il valore t if (isnan(newT)) { Serial.println("Failed per leggere dal sensore DHT!"); } else { t = nuovoT; Serial.println(t); } // Leggi l'umidità float newH = dht.readHumidity(); // se la lettura dell'umidità fallisce, non modificare il valore h if (isnan(newH)) { Serial.println("Impossibile leggere dal sensore DHT!"); } else { h = nuovaH; Serial.println(h); } }}Prima di caricare il codice assicurati di inserire le seguenti cose: const char* ssid = "ESP8266"; // qualunque ssid di wifi desidericonst char* password = "password"; //pass per connettersi a ssidSet sopra L'ESP8266 come punto di accesso: Per impostare esp8266 come punto di accesso utilizzeremo il comando softAP come mostrato di seguito; per creare un punto di accesso. WiFi.softAP(ssid, password);Ci sono anche altri parametri opzionali che puoi passare al metodo softAP(). Ecco tutti i parametri: se apri il monitor seriale puoi vedere l'IP del punto di accesso. Che viene fatto seguendo parte del codice. IPAddress IP = WiFi.softAPIP();Serial.print("AP IP address: ");Serial.println(IP);Per impostazione predefinita l'indirizzo IP è: 192.168.4.1
Passaggio 5: Passaggio finale: test
Dopo aver caricato il codice, apri il tuo cellulare/pc wifi e connettiti al wifi esp8266 (qualunque ssid e password tu abbia inserito nel codice usalo). Dopo la connessione, apri l'IP nel tuo browser che abbiamo ottenuto dal monitor seriale (https://192.168.4.1.) e sarai in grado di vedere la temperatura e l'umidità nel tuo browser come il mio. E non abbiamo usato alcuna rete wifi per farlo, quindi è così che funziona il punto di accesso di esp8266.
Consigliato:
Stampa di assegni senza software speciale o stampante con MS Excel (stampa assegni bancari): 6 passaggi
Stampa di assegni senza software speciale o stampante con MS Excel (stampa di assegni bancari): questa è una semplice cartella di lavoro Excel, che sarà molto utile per qualsiasi azienda per scrivere molti assegni bancari in secondo luogo ai loro fornitori. Non hai bisogno di stampanti o software speciali, ti serve solo un computer con MS Excel e una stampante normale. Sì, ora puoi
Sensore di temperatura e umidità ad energia solare Arduino come sensore Oregon da 433 mhz: 6 passaggi
Sensore di temperatura e umidità ad energia solare Arduino come sensore Oregon da 433 mhz: questa è la costruzione di un sensore di temperatura e umidità ad energia solare. Il sensore emula un sensore Oregon da 433 mhz ed è visibile nel gateway Telldus Net. Cosa ti serve: 1 x "10 LED Sensore di movimento a energia solare" da Ebay. Assicurati che dica batteria a 3,7 V
ESP8266 Nodemcu Monitoraggio della temperatura utilizzando DHT11 su un server Web locale - Ottieni la temperatura e l'umidità della stanza sul tuo browser: 6 passaggi
ESP8266 Nodemcu Monitoraggio della temperatura utilizzando DHT11 su un server Web locale | Ottieni la temperatura e l'umidità della stanza sul tuo browser: Ciao ragazzi, oggi faremo un'umidità e l'umidità; sistema di monitoraggio della temperatura utilizzando ESP 8266 NODEMCU & Sensore di temperatura DHT11. La temperatura e l'umidità saranno ottenute da DHT11 Sensor & può essere visto su un browser quale pagina web verrà gestita
Come utilizzare il sensore di temperatura DHT11 con Arduino e stampare la temperatura di calore e umidità: 5 passaggi
Come utilizzare il sensore di temperatura DHT11 con Arduino e stampare la temperatura Calore e umidità: il sensore DHT11 viene utilizzato per misurare la temperatura e l'umidità. Sono appassionati di elettronica molto popolari. Il sensore di umidità e temperatura DHT11 rende davvero facile aggiungere dati di umidità e temperatura ai tuoi progetti di elettronica fai-da-te. È per
Monitor di umidità wireless (ESP8266 + sensore di umidità): 5 passaggi
Wireless Moisture Monitor (ESP8266 + Moisture Sensor): compro il prezzemolo in vaso e la maggior parte del giorno il terreno era asciutto. Quindi decido di realizzare questo progetto, sul rilevamento dell'umidità del terreno in vaso con prezzemolo, per verificare, quando ho bisogno di versare il terreno con acqua. Penso che questo sensore (sensore di umidità capacitivo v1.2) sia buono perché