Sadržaj:

ESP8266 NodeMCU pristupna tačka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlažnošću ispisa u pregledniku: 5 koraka
ESP8266 NodeMCU pristupna tačka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlažnošću ispisa u pregledniku: 5 koraka

Video: ESP8266 NodeMCU pristupna tačka (AP) za web poslužitelj s senzorom temperature DT11 i temperaturom i vlažnošću ispisa u pregledniku: 5 koraka

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

Zdravo momci, u većini projekata koristimo ESP8266, a u većini projekata koristimo ESP8266 kao web poslužitelj tako da se podacima može pristupiti na bilo kojem uređaju putem WiFi -a pristupom web -poslužitelju koji hostira ESP8266, ali jedini problem je što nam je potreban radni usmjerivač za to i naš uređaj također mora biti spojen na usmjerivač i moramo staviti svoje WiFi vjerodajnice u kôd, tako da ako promijenite wifi, morate promijeniti vjerodajnice u kodu i morate ga ponovo učitati. Dakle, ovdje 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 ponovo učitati kôd. Dakle, kako bismo izbjegli ovaj problem, umjesto da damo WiFi pristupom 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 biblioteke DHT11

Nabavite biblioteke DHT11
Nabavite biblioteke DHT11
Nabavite biblioteke DHT11
Nabavite biblioteke DHT11

Otvorite svoj Arduino IDE i idite na Sketch> Include Library> Manage Libraries. Upravitelj biblioteke bi se trebao otvoriti. Potražite „DHT“u okviru za pretraživanje i instalirajte DHT biblioteku iz Adafruit -a. Nakon instaliranja DHT biblioteke iz Adafruit -a, unesite „Adafruit Unified Sensor“u okvir za pretraživanje. Pomaknite se do kraja da biste pronašli biblioteku i instalirali je. Nakon instaliranja biblioteka, ponovo pokrenite svoj Arduino IDE.

Korak 3: Veze

Connections
Connections

Kolo je vrlo jednostavno spojiti sve prema prikazanom u shemi

Korak 4: Kôd pristupne tačke

Kod pristupne tačke
Kod pristupne tačke

Iz mojih prethodnih instrukcija ću izmijeniti kod web servera ovih instrukcija:

I pretvorite ga u kôd web poslužitelja pristupne točke. Molimo kopirajte donji 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 senzor // Dekomentirajte vrstu senzora koji se koristi: //#definirajte DHTTYPE DHT11 // DHT 11#definirati DHTTYPE DHT22 // DHT 22 (AM2302) //#definirati DHTTYPE 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 server

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 grešaka Serial.begin (115200); dht.begin (); Serial.print ("Postavljanje AP -a (Pristupna tačka) … "); // Uklonite parametar lozinke, ako želite da AP (pristupna tač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 root / web stranicu server.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 Celzijusa (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 očitavanje sa DHT senzora! "); } else {t = newT; Serial.println (t); } // Očitavanje plutanja vlažnosti newH = dht.readHumidity (); // ako očitavanje vlažnosti nije uspjelo, ne mijenjajte vrijednost h ako (isnan (newH)) {Serial.println ("Neuspjelo očitavanje sa DHT senzora!"); } else {h = newH; Serial.println (h); }}} Prije postavljanja koda, obavezno unesite sljedeće: const char* ssid = "ESP8266"; // koji god ssid wifi želite const char* password = "password"; // prelazimo za povezivanje sa gornjim ssidSet ESP8266 kao pristupna tačka: Da bismo postavili esp8266 kao pristupnu tačku, koristićemo softAP naredbu kao što je prikazano ispod; za kreiranje pristupne tačke. WiFi.softAP (ssid, lozinka); Postoje i drugi opcionalni parametri koje možete prenijeti na metod softAP (). Evo svih parametara: Ako otvorite serijski monitor, možete vidjeti IP pristupne tačke. To se radi 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

Završni korak: Testiranje
Završni korak: Testiranje

Nakon učitavanja koda, otvorite svoj mobilni/pc wifi i povežite se na esp8266 wifi (bez obzira na to koji ssid i lozinku 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 nijednu WiFi mrežu da bismo to učinili, pa tako radi pristupna tačka esp8266.

Preporučuje se: