Cuprins:
- Pasul 1: Lucruri de care aveți nevoie
- Pasul 2: obțineți bibliotecile DHT11
- Pasul 3: Conexiuni
- Pasul 4: Codul punctului de acces
- Pasul 5: Pasul final: Testarea
Video: Punct de acces (AP) NodeMCU ESP8266 pentru server web cu senzor de temperatură DT11 și temperatură și umiditate de imprimare în browser: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Bună băieți în majoritatea proiectelor folosim ESP8266 și în majoritatea proiectelor folosim ESP8266 ca server web, astfel încât datele să poată fi accesate de pe orice dispozitiv prin Wi-Fi accesând Webserver-ul găzduit de ESP8266, dar singura problemă este că avem nevoie de un router funcțional pentru asta și dispozitivul nostru trebuie, de asemenea, să se conecteze la router și trebuie să punem acreditările noastre wifi în cod, deci dacă schimbați wifi, atunci trebuie să schimbați acreditările în cod și trebuie să îl reîncărcați. Deci, practic, avem două probleme aici: 1- avem nevoie de o conexiune wifi pentru a găzdui serverul web (router) 2- de fiecare dată dacă conexiunea wifi trebuie schimbată, trebuie să introducem acreditări și să încărcăm din nou codul. acces wifi putem face ESP8266 pentru a crea o conexiune wifi proprie, deci dacă ne conectăm la acea conexiune wifi putem accesa serverul web al ESP8266. Deci, practic vom găzdui un server web cu ESP8266 cu punct de acces. va crea un server web folosind Access Point cu ESP8266 și vom conecta un senzor DHT11 și vom imprima temperatura și umiditatea pe pagina serverului web.
Pasul 1: Lucruri de care aveți nevoie
1x ESP 8266 Nodemcu: 1x DHT11: 1x panou:.: Puțini săritori:
Pasul 2: obțineți bibliotecile DHT11
Deschideți ID-ul Arduino și accesați Schiță> Includeți bibliotecă> Gestionați bibliotecile. Managerul bibliotecii ar trebui să se deschidă. Căutați „DHT” în caseta Căutare și instalați biblioteca DHT de la Adafruit. După instalarea bibliotecii DHT de la Adafruit, tastați „Adafruit Unified Sensor” în caseta de căutare. Derulați până la capăt pentru a găsi biblioteca și instalați-o. După instalarea bibliotecilor, reporniți ID-ul Arduino.
Pasul 3: Conexiuni
Circuitul este foarte ușor conectați totul în conformitate cu schematicele
Pasul 4: Codul punctului de acces
Din instructables-urile mele anterioare, voi modifica codul serverului web al acestor instructables:
Și transformați-l în codul serverului web al punctului de acces. Vă rugăm să copiați codul furnizat mai jos:
#include "Arduino.h" #include "ESP8266WiFi.h"
#includeți „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 conectat la senzorul DHT // Decomentați tipul de senzor utilizat: // # define DHTTYPE DHT11 // DHT 11 # define DHTTYPE DHT22 // DHT 22 (AM2302) // # define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // temperatura și umiditatea curente, actualizate în bucla () float t = 0,0; float h = 0.0; // Creați un obiect AsyncWebServer pe portul 80 Server AsyncWebServer (80); // În general, ar trebui să utilizați „nesemnat lung” pentru variabilele care păstrează timpul // Valoarea va deveni rapid prea mare pentru ca un int să stocheze nesemnat mult timp anterior = 0; // va stoca ultima dată când DHT a fost actualizat // Actualizează citirile DHT la fiecare 10 secunde interval lung = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server
Temperatura% TEMPERATURĂ% ° C
Umiditate% UMIDITATE%%) rawliteral "; // Înlocuiește substituentul cu valorile DHT Processor șir (const String & var) {//Serial.println(var); if (var ==" TEMPERATURĂ ") {return String (t);} else if (var == "UMIDITATE") {return String (h);} return String ();} void setup () {// Port serial pentru depanare Serial.begin (115200); dht.begin (); Serial.print ("Setarea AP (Punct de acces) … "); // Eliminați parametrul de parolă, dacă doriți ca AP (Punct de acces) să fie deschis WiFi.softAP (ssid, parolă); Adresă IP = WiFi.softAPIP (); Serial.print (" Adresă IP AP: "); Serial.println (IP); // Print ESP8266 Local IP Address Serial.println (WiFi.localIP ()); // Route for root / web page server.on (" / ", HTTP_GET, (AsyncWebServerRequest * request) {request-> send_P (200, "text / html", index_html, procesor);}); server.on ("/ temperature", HTTP_GET, (AsyncWebServerRequest * request) {request- > send_P (200, "text / plain", String (t).c_str ());}); server.on ("/ umiditate", HTTP_GET, (cerere AsyncWebServerRequest *) {request-> send_P (200, „text / simplu”, String (h).c_str ()); }); // Porniți serverul server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// salvați ultima dată când ați actualizat valorile DHT previousMillis = currentMillis; // Citiți temperatura ca Celsius (implicit) float newT = dht.readTemperature (); // Citiți temperatura ca Fahrenheit (isFahrenheit = true) // float newT = dht.readTemperature (true); // dacă citirea temperaturii a eșuat, nu modificați valoarea t dacă (isnan (newT)) {Serial.println ("Failed pentru a citi din senzorul DHT! "); } else {t = newT; Serial.println (t); } // Citire Umiditate float newH = dht.readHumidity (); // dacă citirea umidității a eșuat, nu modificați valoarea h dacă (isnan (newH)) {Serial.println ("Nu s-a citit de la senzorul DHT!"); } else {h = newH; Serial.println (h); }}} Înainte de a încărca codul, asigurați-vă că puneți următoarele lucruri: const char * ssid = "ESP8266"; // oricare ar fi ssid-ul de wifi pe care-l dorițiconst char * password = "password"; // treceți pentru a vă conecta la ssidSet de mai sus ESP8266 ca punct de acces: Pentru a seta esp8266 ca punct de acces vom folosi comanda softAP așa cum se arată mai jos; pentru a crea un punct de acces. WiFi.softAP (ssid, parolă); Există și alți parametri opționali pe care îi puteți trece la metoda softAP (). Iată toți parametrii: Dacă deschideți monitorul serial, puteți vedea adresa IP a punctului de acces. Ceea ce se face urmărind o parte a codului. IPAddress IP = WiFi.softAPIP (); Serial.print ("Adresa IP AP:"); Serial.println (IP); Implicit, adresa IP este: 192.168.4.1
Pasul 5: Pasul final: Testarea
După încărcarea codului, deschideți wifi-ul mobil / PC și conectați-vă la wifi-ul esp8266 (indiferent de SSID și parola pe care le-ați introdus în cod utilizați acest lucru). https://192.168.4.1.) și veți putea vedea temperatura și umiditatea în browserul dvs. ca ale mele. Și nu am folosit nicio rețea wifi pentru a face acest lucru, astfel încât să funcționeze punctul de acces al esp8266.
Recomandat:
Control acces acces la hrană pentru pisici (ESP8266 + servomotor + imprimare 3D): 5 pași (cu imagini)
Controlul accesului la hrană pentru pisici (ESP8266 + Servomotor + imprimare 3D): Acest proiect trece peste procesul pe care l-am folosit pentru a crea un castron automat pentru hrană pentru pisici, pentru pisica mea în vârstă, diabetică Chaz. Vezi, trebuie să mănânce micul dejun înainte să-și poată lua insulina, dar uit de multe ori să-i iau mâncarea înainte să mă culc, ceea ce strică
Verificați Imprimare fără software special sau imprimantă cu MS Excel (Imprimare cecuri bancare): 6 pași
Verificați tipărirea fără software special sau imprimantă cu MS Excel (imprimarea cecurilor bancare): Acesta este un registru de lucru Excel excelent, care va fi foarte util pentru orice companie să scrie multe cecuri bancare în al doilea rând pentru furnizorii lor. Nu aveți nevoie de imprimantă sau software special, doar tu ai nevoie de computer cu MS Excel și imprimantă normală. Da, acum poți să
Creați un punct de acces WiFi și furnizați un server web pe NodeMCU V3: 4 pași
Creați un punct de acces WiFi și furnizați un server web pe NodeMCU V3: în articolul anterior am discutat deja despre cum să utilizați NodeMCU ESP8266. În articol vă explic cum să adăugați NodeMCU ESP8266 la Arduini IDE. Există mai multe moduri de a comunica prin internet folosind NodeMCU ESP8266. Se face NodeMCU ca
Cum se utilizează senzorul de temperatură DHT11 cu Arduino și temperatura de imprimare căldură și umiditate: 5 pași
Cum se utilizează senzorul de temperatură DHT11 cu Arduino și temperatura de imprimare căldură și umiditate: Senzorul DHT11 este utilizat pentru a măsura temperatura și umiditatea. Sunt senzori de umiditate și temperatură DHT11 ușor de adăugat cu ușurință date privind umiditatea și temperatura proiectelor dvs. de electronice DIY. Este pe
Cum se face un indicator cu punct roșu pentru punct roșu: 9 pași
Cum se realizează un indicator cu punct roșu cu punct roșu: Acesta este un instructiv cu privire la modul de realizare a unui indicator cu punct roșu cu punct roșu pentru a juca jocuri video. Acesta este un mod la îndemână de a trage arma cu precizie atunci când obiectivele furnizate sunt dificil de vizat sau nu sunt furnizate. Eu folosesc