INHOUDSOPGAWE:

ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in blaaier: 5 stappe
ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in blaaier: 5 stappe

Video: ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in blaaier: 5 stappe

Video: ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in blaaier: 5 stappe
Video: MAX6675 Температура термопары через WiFi с ESP8266 NodeMCU D1 Mini 2024, November
Anonim
ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in die blaaier
ESP8266 NodeMCU -toegangspunt (AP) vir webbediener met DT11 -temperatuursensor en druk temperatuur en humiditeit in die blaaier

Hallo ouens in die meeste projekte gebruik ons ESP8266 en in die meeste projekte gebruik ons ESP8266 as 'n webbediener, sodat toegang tot data op enige toestel via wifi verkry kan word deur toegang tot die webbediener wat deur ESP8266 aangebied word, maar die enigste probleem is dat ons 'n werkende router nodig het dit en ons toestel moet ook aan die router gekoppel word, en ons moet ons wifi -inskrywings in die kode plaas, so as u van wifi verander, moet u die geloofsbriewe in die kode verander en dit moet herlaai. Dus het ons basies twee probleme hier: 1- ons het 'n wifi-verbinding nodig om die webbediener (router) te huisves 2- elke keer as wifi-verbinding verander moet word, moet ons geloofsbriewe invoer en die kode herlaai. Om hierdie probleem te vermy, is dit in plaas van Met wifi -toegang kan ons die ESP8266 maak om 'n eie wifi -verbinding te skep, so as ons met die wifi -verbinding aansluit, kan ons toegang kry tot die webserver van ESP8266, dus basies bied ons 'n webserver aan met ESP8266 met toegangspunt. sal skep 'n webbediener wat toegangspunt met ESP8266 gebruik, en ons sal 'n DHT11 -sensor verbind en temperatuur en humiditeit op die webbedienerbladsy druk.

Stap 1: Dinge wat u nodig het

Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het

1x ESP 8266 Nodemcu: 1x DHT11: 1x broodbord:.: Paar springers:

Stap 2: Kry die DHT11 -biblioteke

Kry die DHT11 -biblioteke
Kry die DHT11 -biblioteke
Kry die DHT11 -biblioteke
Kry die DHT11 -biblioteke

Maak u Arduino IDE oop en gaan na Skets> Sluit biblioteek in> Bestuur biblioteke. Die biblioteekbestuurder moet oopmaak. Soek na "DHT" in die soekkassie en installeer die DHT -biblioteek vanaf Adafruit. Nadat u die DHT -biblioteek van Adafruit geïnstalleer het, tik "Adafruit Unified Sensor" in die soekkassie. Blaai heeltemal af om die biblioteek te vind en installeer dit. Nadat u die biblioteke geïnstalleer het, herbegin u Arduino IDE.

Stap 3: Verbindings

Verbindings
Verbindings

Die kring is baie maklik om alles aan te sluit, soos getoon in skematika

Stap 4: Toegangspuntkode

Toegangspuntkode
Toegangspuntkode

Uit my vorige instruksies verander ek die webserverkode van hierdie instruksies:

En verander dit in toegangspuntwebbedienerkode. Kopieer die onderstaande kode:

#sluit "Arduino.h" #include "ESP8266WiFi.h" in

#sluit "Hash.h" in

#sluit "ESPAsyncTCP.h" in

#sluit "ESPAsyncWebServer.h" in

#sluit "Adafruit_Sensor.h" in

#sluit "DHT.h" in

const char* ssid = "ESP8266"; const char* password = "password";#definieer DHTPIN 5 // Digitale pen gekoppel aan die DHT -sensor // Los die tipe sensor in gebruik op: //#definieer DHTTYPE DHT11 // DHT 11#definieer DHTTYPE DHT22 // DHT 22 (AM2302) //#definieer DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // huidige temperatuur en humiditeit, opgedateer in lus () float t = 0.0; float h = 0.0; // Skep AsyncWebServer -voorwerp op poort 80AsyncWebServer -bediener (80); // Oor die algemeen moet u 'ongetekende lang' gebruik vir veranderlikes wat tyd hou // Die waarde sal vinnig te groot word vir 'n int om 'n lang vorigeMillis te onderteken = 0; // sal die laaste keer stoor dat DHT opgedateer is/ DHT -lesings elke 10 sekondes opdateer elke 10 sekondes lang interval = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT -bediener

Temperatuur % TEMPERATUUR % ° C

Humiditeit % HUMIDITY % %) rawliteral "; // Vervang plekhouer met DHT valuesString -verwerker (const String & var) {//Serial.println(var); if (var ==" TEMPERATUUR ") {return String (t);} anders if (var == "HUMIDITY") {return String (h);} return String ();} ongeldige opstelling () {// Seriële poort vir ontfoutingsdoeleindes Serial.begin (115200); dht.begin (); Serial.print ("AP instel (Toegangspunt) … "); // Verwyder die wagwoordparameter as u wil hê dat die AP (toegangspunt) oop moet wees WiFi.softAP (ssid, wagwoord); IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP -adres: "); Serial.println (IP); // Druk ESP8266 Plaaslike IP -adres Serial.println (WiFi.localIP ()); // Roete vir root / webbladserver.on (" / ", HTTP_GET, (AsyncWebServerRequest *versoek) {request-> send_P (200, "text/html", index_html, verwerker);}); server.on ("/temperature", HTTP_GET, (AsyncWebServerRequest *versoek) {versoek- > send_P (200, "text/plain", String (t).c_str ());}); server.on ("/humiditeit", HTTP_GET, (AsyncWebServerRequest *versoek) {request-> send_P (200, "teks/vlakte", String (h).c_str ()); }); // Begin bediener server.begin ();} leemte lus () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// stoor die laaste keer dat u die DHT -waardes opgedateer previousMillis = currentMillis; // Lees temperatuur as Celsius (die standaard) dryf newT = dht.readTemperature (); // Lees temperatuur as Fahrenheit (isFahrenheit = true) // float newT = dht.readTemperature (true); // as temperatuur lees misluk, verander nie t waarde as (isnan (newT)) {Serial.println ("misluk om van die DHT -sensor af te lees! "); } anders {t = newT; Serial.println (t); } // Lees Humidity float newH = dht.readHumidity (); // as die humiditeitslesing misluk, moet die h -waarde nie verander word as (isnan (newH)) {Serial.println ("Kan nie lees van DHT -sensor nie!"); } anders {h = newH; Serial.println (h); }}}} Voordat u die kode oplaai, moet u die volgende dinge plaas: const char* ssid = "ESP8266"; // wat ook al die wifi wat u wil hê, konst char* password = "password"; // slaag om verbinding te maak met bogenoemde ssidSet Die ESP8266 as 'n toegangspunt: om esp8266 as 'n toegangspunt in te stel, gebruik ons die softAP -opdrag soos hieronder getoon; om 'n toegangspunt te skep. WiFi.softAP (ssid, wagwoord); Daar is ook ander opsionele parameters wat u na die softAP () -metode kan deurgee. Hier is al die parameters: as u die seriële monitor oopmaak, kan u die IP van toegangspunt sien. Dit word gedoen deur 'n deel van die kode te volg. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP -adres:"); Serial.println (IP); Standaard is IP -adres: 192.168.4.1

Stap 5: Laaste stap: toets

Laaste stap: toets
Laaste stap: toets

Nadat u die kode opgelaai het, maak dan u selfoon/rekenaar wifi oop en maak verbinding met die esp8266 wifi (wat ook al die ssid en wagwoord wat u in die kode ingevoer het). Open daarna die IP in u blaaier wat ons van die seriële monitor gekry het (https://192.168.4.1.) en u kan temperatuur en humiditeit in my blaaier sien as myne. En ons het geen wifi -netwerk gebruik om dit te doen nie, so dit is hoe toegangspunt van esp8266 werk.

Aanbeveel: