Obsah:

Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači: 5 krokov
Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači: 5 krokov

Video: Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači: 5 krokov

Video: Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači: 5 krokov
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Júl
Anonim
Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači
Prístupový bod (AP) ESP8266 NodeMCU pre webový server so snímačom teploty DT11 a teplotou a vlhkosťou v prehliadači

Ahoj chlapci, vo väčšine projektov používame ESP8266 a vo väčšine projektov používame ESP8266 ako webový server, takže k údajom je možné pristupovať na akomkoľvek zariadení cez wifi prístupom na webový server hostený ESP8266, ale jediným problémom je, že potrebujeme funkčný router pre to a naše zariadenie sa tiež musí pripojiť k smerovaču a musíme do kódu vložiť naše poverenia wifi, takže ak meníte wifi, musíte zmeniť poverenia v kóde a musíte ho znova načítať. V zásade tu teda máme dva problémy: 1- Potrebujeme wifi pripojenie k hostiteľovi webového servera (smerovača) 2- Vždy, keď je potrebné zmeniť pripojenie Wi-Fi, musíme zadať poverenia a znova načítať kód. Aby sme sa vyhli všetkým týmto problémom, môžeme urobiť namiesto poskytovania wifi prístup, môžeme vytvoriť ESP8266 tak, aby si vytvoril vlastné wifi pripojenie, takže ak sa k nemu pripojíme, budeme mať prístup na webový server ESP8266. Takže v zásade budeme hostiteľom webového servera s ESP8266 s prístupovým bodom. Takže v tomto návode sme bude vytvárať webový server využívajúci prístupový bod s ESP8266 a na stránku webového servera pripojíme snímač DHT11 a teplotu a vlhkosť tlače.

Krok 1: Veci, ktoré potrebujete

Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete

1x ESP 8266 Nodemcu: 1x DHT11: 1x nepájivá doska:.: Niekoľko prepojok:

Krok 2: Získajte knižnice DHT11

Získajte knižnice DHT11
Získajte knižnice DHT11
Získajte knižnice DHT11
Získajte knižnice DHT11

Otvorte svoje Arduino IDE a prejdite na Skica> Zahrnúť knižnicu> Spravovať knižnice. Mal by sa otvoriť Správca knižníc. Do vyhľadávacieho poľa vyhľadajte „DHT“a nainštalujte si knižnicu DHT z Adafruit. Po inštalácii knižnice DHT z Adafruit zadajte do vyhľadávacieho poľa „Adafruit Unified Sensor“. Prejdite úplne nadol, nájdite knižnicu a nainštalujte ju. Po inštalácii knižníc reštartujte Arduino IDE.

Krok 3: Pripojenia

Pripojenia
Pripojenia

Okruh je veľmi jednoduché pripojiť všetko podľa schémy

Krok 4: Kód prístupového bodu

Kód prístupového bodu
Kód prístupového bodu

Z mojich predchádzajúcich inštrukcií upravím kód webového servera týchto inštrukcií:

Zmeňte ho na kód webového servera prístupového bodu. Skopírujte nižšie uvedený kód:

#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* heslo = "heslo";#definujte DHTPIN 5 // Digitálny pin pripojený k snímaču DHT // Odznačte typ použitého snímača: //#definujte DHTTYPE DHT11 // DHT 11#definovať DHTTYPE DHT22 // DHT 22 (AM2302) //#definovať DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // aktuálna teplota a vlhkosť, aktualizované v slučke () float t = 0,0; float h = 0,0; // Vytvorenie objektu AsyncWebServer na porte 80AsyncWebServer server (80); // Vo všeobecnosti by ste pre premenné, ktoré držia čas, mali používať „bez znamienka“// Hodnota sa rýchlo stane príliš veľkou na to, aby sa do int mohol ukladať dlhý predchádzajúci predchádzajúci Millis = 0; // uloží poslednú aktualizáciu DHT // aktualizuje hodnoty DHT každých 10 sekúnd dlhý interval = 10 000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server

Teplota % TEPLOTA % ° C

Vlhkosť % HUMIDITY % %) rawliteral "; // Nahradí zástupný symbol hodnotami DHTStringový procesor (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Serial port for debugging purposes Serial.begin (115200); dht.begin (); Serial.print ("Setting AP (Prístupový bod) … "); // Odstráňte parameter hesla, ak chcete, aby bol AP (prístupový bod) otvorený WiFi.softAP (ssid, heslo); IPAddress IP = WiFi.softAPIP (); Serial.print (" IP adresa AP: "); Serial.println (IP); // Vytlačte lokálnu IP adresu ESP8266 Serial.println (WiFi.localIP ()); // Trasa pre server root / webovú stránku 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 ("/vlhkosť", HTTP_GET, (požiadavka AsyncWebServerRequest *) {request-> send_P (200, "text/obyčajný", Reťazec (h).c_str ()); }); // Spustite server server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// uloženie poslednej aktualizácie hodnôt DHT previousMillis = currentMillis; // Čítanie teploty ako Celzia (predvolené) float newT = dht.readTemperature (); // Čítanie teploty ako Fahrenheit (isFahrenheit = true) // float newT = dht.readTemperature (true); // ak čítanie teploty zlyhalo, nemeňte hodnotu t, ak (isnan (newT)) {Serial.println ("zlyhalo čítať zo senzora DHT! "); } else {t = newT; Serial.println (t); } // Prečítajte si plavák vlhkosti newH = dht.readHumidity (); // ak sa čítanie vlhkosti nepodarilo, nemeňte hodnotu h if (isnan (newH)) {Serial.println ("Čítanie zo senzora DHT zlyhalo!"); } else {h = newH; Serial.println (h); }}} Pred nahraním kódu nezabudnite zadať nasledujúce položky: const char* ssid = "ESP8266"; // akýkoľvek ssid wifi chcete, kontrast char* heslo = "heslo"; // prechod na pripojenie k vyššie uvedenému ssidSet ESP8266 ako prístupový bod: Na nastavenie esp8266 ako prístupového bodu použijeme príkaz softAP, ako je uvedené nižšie; na vytvorenie prístupového bodu. WiFi.softAP (ssid, heslo); Existujú aj ďalšie voliteľné parametre, ktoré môžete odovzdať metóde softAP (). Tu sú všetky parametre: Ak otvoríte sériový monitor, uvidíte IP prístupového bodu. To sa vykonáva nasledujúcou časťou kódu. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP adresa:"); Serial.println (IP); Predvolená adresa IP je: 192.168.4.1

Krok 5: Posledný krok: Testovanie

Posledný krok: Testovanie
Posledný krok: Testovanie

Po nahraní kódu potom otvorte wifi svoj mobil/počítač a pripojte sa k wifi esp8266 (bez ohľadu na to, že ssid a heslo, ktoré ste zadali do kódu, to využite). Po pripojení stačí otvoriť IP adresu v prehliadači, ktorú sme získali zo sériového monitora (https://192.168.4.1.) a vo svojom prehliadači budete môcť sledovať teplotu a vlhkosť ako moju. A na to sme nepoužili žiadnu sieť Wi -Fi, takže prístupový bod esp8266 funguje takto.

Odporúča: