Tartalomjegyzék:

ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: 5 lépés
ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: 5 lépés

Videó: ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: 5 lépés

Videó: ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: 5 lépés
Videó: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, November
Anonim
ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben
ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben

Sziasztok srácok, a legtöbb projektben ESP8266 -ot használunk, és a legtöbb projektben ESP8266 -ot használunk webszerverként, így az adatok bármilyen eszközön elérhetők wifi -n keresztül az ESP8266 által üzemeltetett webszerver elérésével, de az egyetlen probléma az, hogy működő útválasztóra van szükségünk és az eszközünknek is csatlakoznia kell az útválasztóhoz, és be kell helyeznünk a wifi hitelesítő adatainkat a kódba, így ha megváltoztatja a wifit, akkor meg kell változtatnia a hitelesítő adatokat a kódban, és újra kell töltenie. Tehát alapvetően két kérdésünk van itt: 1- wifi kapcsolatra van szükségünk a webszerver (útválasztó) üzemeltetéséhez 2- minden alkalommal, ha a wifi kapcsolaton változtatni kell, be kell írnunk a hitelesítő adatokat és újra fel kell töltenünk a kódot. Tehát, hogy elkerüljük ezt a problémát, nem tehetünk wifi -hozzáféréssel az ESP8266 -ot saját wifi -kapcsolat létrehozására késztethetjük, így ha ehhez a wifi -kapcsolathoz csatlakozunk, akkor hozzáférhetünk az ESP8266 webszerveréhez. Tehát alapvetően egy ESP8266 -os webszervert fogunk üzemeltetni hozzáférési ponttal. Tehát ebben az útmutatóban alkotni fog egy webkiszolgáló, amely hozzáférési pontot használ az ESP8266 segítségével, és csatlakoztatunk egy DHT11 érzékelőt, valamint a nyomtatási hőmérsékletet és páratartalmat a webszerver oldalon.

1. lépés: A szükséges dolgok

A szükséges dolgok
A szükséges dolgok
A szükséges dolgok
A szükséges dolgok

1x ESP 8266 Csomópont: 1x DHT11: 1x kenyérlap:.: Kevés jumper:

2. lépés: Szerezze be a DHT11 könyvtárakat

Szerezze be a DHT11 könyvtárakat
Szerezze be a DHT11 könyvtárakat
Szerezze be a DHT11 könyvtárakat
Szerezze be a DHT11 könyvtárakat

Nyissa meg Arduino IDE -jét, és lépjen a Vázlat> Könyvtár beillesztése> Könyvtárak kezelése menüpontba. A Könyvtárkezelőnek meg kell nyitnia. Keresse meg a „DHT” szót a Keresés mezőben, és telepítse a DHT könyvtárat az Adafruitból. Miután telepítette a DHT könyvtárat az Adafruitból, írja be a „Adafruit Unified Sensor” szót a keresőmezőbe. Görgessen lefelé a könyvtár megtalálásához és telepítéséhez. A könyvtárak telepítése után indítsa újra az Arduino IDE -t.

3. lépés: Kapcsolatok

Kapcsolatok
Kapcsolatok

Az áramkör nagyon könnyű csatlakoztatni mindent A skmatikák szerint

4. lépés: Hozzáférési pont kódja

Hozzáférési pont kódja
Hozzáférési pont kódja

Korábbi utasításomból módosítani fogom ezen utasítások webszerver kódját:

És változtassa meg hozzáférési pont webszerver kódjává. Kérjük, másolja az alábbi kódot:

#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* password = "password";#define DHTPIN 5 // Digitális tű a DHT szenzorhoz csatlakoztatva 11#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // aktuális hőmérséklet és páratartalom, frissítve a ciklusban () float t = 0,0; float h = 0.0; // AsyncWebServer objektum létrehozása a 80 -as portonAsyncWebServer szerver (80); // Általában az "unsigned long" értéket kell használni az időt tartó változókhoz // Az érték gyorsan túl nagy lesz ahhoz, hogy az int tárolható legyen. = 0; // tárolja a DHT utolsó frissítésének időpontját // Frissíti a DHT értékeket 10 másodpercenként a hosszú intervallum = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT szerver

Hőmérséklet % HŐMÉRSÉKLET % ° C

Páratartalom % HUMIDITY % %) rawliteral "; // A helyőrzőt DHT -értékekkel helyettesíti "HUMIDITY") {return String (h);} return String ();} void setup () {// Soros port hibakeresési célokra Serial.begin (115200); dht.begin (); Serial.print ("AP beállítása (Hozzáférési pont)… "); // Távolítsa el a jelszóparamétert, ha azt szeretné, hogy az AP (hozzáférési pont) nyitva legyen WiFi.softAP (ssid, jelszó); IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP -cím: "); Serial.println (IP); // ESP8266 nyomtatása Helyi IP -cím Serial.println (WiFi.localIP ()); // Útvonal a gyökér / weblap szerverhez.on (" / ", HTTP_GET, (AsyncWebServerRequest *kérés) {request-> send_P (200, "text/html", index_html, processzor);}); server.on ("/hőmérséklet", HTTP_GET, (AsyncWebServerRequest *kérés) {request- > send_P (200, "text/plain", String (t).c_str ());}); server.on ("/páratartalom", HTTP_GET, (AsyncWebServerRequest *kérés) {request-> send_P (200, "szöveg/sima", Karakterlánc (h).c_str ()); }); // Indítsa el a szerver szervert.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = intervallum) {// mentse el a DHT értékek utolsó frissítésének időpontját previousMillis = currentMillis; // A hőmérséklet olvasása Celsius -ban (alapértelmezett) float newT = dht.readTemperature (); // A hőmérséklet olvasása Fahrenheit -ként (isFahrenheit = igaz) // float newT = dht.readTemperature (true); // ha a hőmérséklet leolvasása sikertelen, ne változtassa meg a t értéket, ha (isnan (newT)) {Serial.println ("Sikertelen olvasni a DHT érzékelőből! "); } else {t = newT; Soros.println (t); } // Olvasás Nedvesség float newH = dht.readHumidity (); // ha a páratartalom leolvasása sikertelen, ne változtassa meg a h értéket, ha (isnan (newH)) {Serial.println ("Nem sikerült leolvasni a DHT érzékelőből!"); } else {h = newH; Soros.println (h); }}} Mielőtt feltöltené a kódot, feltétlenül írja be a következőket: const char* ssid = "ESP8266"; // bármilyen ssid wifi -t is szeretnélconst char* password = "password"; // pass, hogy csatlakozzon a fenti ssidSethez Az ESP8266 hozzáférési pontként: Az esp8266 hozzáférési pontként való beállításához a softAP parancsot fogjuk használni az alábbiak szerint; hozzáférési pont létrehozásához. WiFi.softAP (ssid, password); Vannak más opcionális paraméterek is, amelyeket átadhat a softAP () metódusnak. Íme az összes paraméter: Ha kinyitja a soros monitort, láthatja a hozzáférési pont IP -címét. Ez a kód egy részének követésével történik. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP address:"); Serial.println (IP); Alapértelmezett IP -cím: 192.168.4.1

5. lépés: Utolsó lépés: tesztelés

Utolsó lépés: tesztelés
Utolsó lépés: tesztelés

A kód feltöltése után nyissa meg mobil/pc wifi -jét, és csatlakozzon az esp8266 wifi -hez (bármilyen kódot és kódot is megadott a kódban, ezt használja). Csatlakozás után nyissa meg az IP -t a böngészőben, amelyet a soros monitorról kaptunk (https://192.168.4.1.), és az enyémként láthatja a hőmérsékletet és a páratartalmat a böngészőben. És nem használtuk semmilyen wifi hálózatot ennek eléréséhez, így működik az esp8266 hozzáférési pont.

Ajánlott: