Sadržaj:

ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku: 5 koraka
ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku: 5 koraka

Video: ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku: 5 koraka

Video: ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku: 5 koraka
Video: Как отслеживать и контролировать ESP32 из любой точки мира с помощью RemoteXY IoT Cloud 2024, Srpanj
Anonim
ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku
ESP8266 NodeMCU pristupna točka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlagom ispisa u pregledniku

Pozdrav dečki, u većini projekata koristimo ESP8266, a u većini projekata koristimo ESP8266 kao web poslužitelj pa se podacima može pristupiti na bilo kojem uređaju putem WiFi -a pristupom web -poslužitelju na kojem je ESP8266, ali jedini problem je što nam treba radni usmjerivač za to i naš uređaj također mora biti spojen na usmjerivač i moramo staviti svoje WiFi vjerodajnice u kôd pa ako promijenite wifi, morate promijeniti vjerodajnice u kodu i morate ga ponovno učitati. Dakle, ovdje u osnovi imamo dva problema: 1- potrebna nam je wifi veza za hostiranje web poslužitelja (usmjerivača) 2- svaki put ako je potrebno promijeniti WiFi vezu moramo unijeti vjerodajnice i ponovno učitati kôd. Dakle, kako bismo izbjegli ovaj problem, umjesto da damo Wi -Fi pristup možemo učiniti ESP8266 da stvori vlastitu WiFi vezu pa ako se povežemo na tu WiFi vezu možemo pristupiti web -poslužitelju ESP8266. Dakle, u osnovi ćemo ugostiti web poslužitelj s ESP8266 s pristupnom točkom. Dakle, u ovim uputama mi će stvarati web poslužitelj koji koristi pristupnu točku s ESP8266, a mi ćemo spojiti DHT11 senzor i ispisati temperaturu i vlažnost na stranici web poslužitelja.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate

1x ESP 8266 Nodemcu: 1x DHT11: 1x matična ploča:.: Nekoliko skakača:

Korak 2: Nabavite knjižnice DHT11

Nabavite knjižnice DHT11
Nabavite knjižnice DHT11
Nabavite knjižnice DHT11
Nabavite knjižnice DHT11

Otvorite svoj Arduino IDE i idite na Sketch> Include Library> Manage Libraries. Upravitelj knjižnice bi se trebao otvoriti. Potražite "DHT" u okviru za pretraživanje i instalirajte DHT knjižnicu s Adafruita. Nakon instaliranja knjižnice DHT iz Adafruita, u okvir za pretraživanje upišite "Adafruit Unified Sensor". Pomaknite se dolje do biblioteke i instalirajte je. Nakon instaliranja knjižnica ponovno pokrenite svoj Arduino IDE.

Korak 3: Veze

Veze
Veze

Krug je vrlo jednostavan za povezivanje svega Prema prikazanom u shematici

Korak 4: Kôd pristupne točke

Kôd pristupne točke
Kôd pristupne točke

Iz mojih prethodnih instrukcija promijenit ću kôd web poslužitelja ovih instrukcija:

I pretvorite ga u kôd web poslužitelja pristupne točke. Kopirajte dolje navedeni 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* lozinka = "lozinka";#definirajte DHTPIN 5 // Digitalni pin spojen na DHT osjetnik // Dekomentirajte vrstu osjetnika koji se koristi: //#definirajte DHTTYPE DHT11 // DHT 11#definirati DHTTIP DHT22 // DHT 22 (AM2302) //#definirati DHTTIP DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // trenutna temperatura i vlažnost, ažurirano u loop () float t = 0,0; float h = 0; = 0; // pohranit će zadnji put ažuriranje DHT -a // Ažurira očitanja DHT -a svakih 10 sekundiconst long interval = 10000; const char index_html PROGMEM = R "neobrađeno (ESP8266 DHT poslužitelj

Temperatura % TEMPERATURE % ° C

Vlažnost % HUMIDITY % %) rawliteral "; // Zamjenjuje rezervirano mjesto DHT vrijednostimaString procesor (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Serijski port za potrebe otklanjanja pogrešaka Serial.begin (115200); dht.begin (); Serial.print ("Postavljanje AP -a (Pristupna točka) … "); // Uklonite parametar lozinke ako želite da AP (pristupna točka) bude otvoren WiFi.softAP (ssid, lozinka); IP adresa IP = WiFi.softAPIP (); Serial.print (" AP IP adresa: "); Serial.println (IP); // Ispis ESP8266 Lokalna IP adresa Serial.println (WiFi.localIP ()); // Ruta za poslužitelja root / web stranice.on (" / ", HTTP_GET, (AsyncWebServerRequest *zahtjev) {request-> send_P (200, "text/html", index_html, procesor);}); server.on ("/temperature", HTTP_GET, (AsyncWebServerRequest *zahtjev) {request- > send_P (200, "tekst/običan", String (t).c_str ());}); server.on ("/vlažnost", HTTP_GET, (AsyncWebServerRequest *zahtjev) {request-> send_P (200, "tekst/običan", String (h).c_str ()); }); // Pokretanje poslužitelja server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// spremite zadnji put kada ste ažurirali DHT vrijednosti previousMillis = currentMillis; // Očitavanje temperature kao Celsius (zadano) float newT = dht.readTemperature (); // Očitavanje temperature kao Fahrenheita (isFahrenheit = true) // plutanje newT = dht.readTemperature (true); // ako očitanje temperature nije uspjelo, ne mijenjajte vrijednost t ako (isnan (newT)) {Serial.println ("Nije uspjelo za čitanje s DHT senzora! "); } else {t = newT; Serijski.println (t); } // Očitavanje plutanja vlažnosti newH = dht.readHumidity (); // ako očitanje vlažnosti nije uspjelo, nemojte mijenjati vrijednost h ako (isnan (newH)) {Serial.println ("Nije uspjelo čitanje s DHT senzora!"); } else {h = newH; Serijski.println (h); }}} Prije nego što učitate kôd, obavezno unesite sljedeće: const char* ssid = "ESP8266"; // koji god ssid wifi želite const char* password = "password"; // prolaz za povezivanje s gornjim ssidSet ESP8266 kao pristupna točka: Za postavljanje esp8266 kao pristupne točke koristit ćemo softAP naredbu kao što je prikazano u nastavku; za stvaranje pristupne točke. WiFi.softAP (ssid, lozinka); Postoje i drugi izborni parametri koje možete proslijediti u softAP () metodu. Evo svih parametara: Ako otvorite serijski monitor, možete vidjeti IP pristupne točke. To se postiže slijedeći dio koda. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP adresa:"); Serial.println (IP); Prema zadanim postavkama IP adresa je: 192.168.4.1

Korak 5: Završni korak: Testiranje

Posljednji korak: Testiranje
Posljednji korak: Testiranje

Nakon što učitate kôd, otvorite svoj mobilni/pc wifi i povežite se na esp8266 wifi (bez obzira na to koji ssid i lozinka ste unijeli u kôd to koristite). Nakon povezivanja samo otvorite IP u svom pregledniku koji smo dobili sa serijskog monitora (https://192.168.4.1.) i moći ćete vidjeti temperaturu i vlažnost u svom pregledniku kao moju. I nismo koristili nikakvu WiFi mrežu da bismo to učinili, pa tako radi pristupna točka esp8266.

Preporučeni: