Obsah:

Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči: 5 kroků
Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči: 5 kroků

Video: Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči: 5 kroků

Video: Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči: 5 kroků
Video: Jak monitorovat a ovládat ESP32 odkudkoli na světě pomocí RemoteXY IoT Cloud 2024, Červenec
Anonim
Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči
Přístupový bod (AP) ESP8266 NodeMCU pro webový server se snímačem teploty DT11 a teplotou a vlhkostí tisku v prohlížeči

Ahoj kluci, ve většině projektů používáme ESP8266 a ve většině projektů používáme ESP8266 jako webový server, takže k datům lze přistupovat na jakémkoli zařízení přes wifi přístupem na webový server hostovaný ESP8266, ale jediným problémem je, že potřebujeme funkční router pro to a naše zařízení se také musí připojit ke směrovači a musíme do kódu vložit naše pověření wifi, takže pokud měníte wifi, musíte změnit přihlašovací údaje v kódu a musíte je znovu načíst. Takže v zásadě zde máme dva problémy: 1- potřebujeme wifi připojení k hostiteli webového serveru (routeru) 2- pokaždé, když je potřeba změnit wifi připojení, potřebujeme zadat přihlašovací údaje a znovu načíst kód. Abychom se vyhnuli tomuto problému, můžeme místo toho dát wifi access we can make the ESP8266 to create a wifi connection of its own so if we connect to that wifi connection we can access the webserver of ESP8266. So podstate we will be hosting a webserver with ESP8266 with access point. So in this instructables we bude tvořit webový server využívající přístupový bod s ESP8266 a na stránku webového serveru připojíme snímač DHT11 a teplotu a vlhkost tisku.

Krok 1: Věci, které potřebujete

Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete

1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Několik propojek:

Krok 2: Získejte knihovny DHT11

Získejte knihovny DHT11
Získejte knihovny DHT11
Získejte knihovny DHT11
Získejte knihovny DHT11

Otevřete své Arduino IDE a přejděte na Sketch> Include Library> Manage Libraries. Měl by se otevřít Správce knihoven. Do pole Hledat vyhledejte „DHT“a nainstalujte knihovnu DHT z Adafruit. Po instalaci knihovny DHT z Adafruit zadejte do vyhledávacího pole „Adafruit Unified Sensor“. Přejděte úplně dolů, najděte knihovnu a nainstalujte ji. Po instalaci knihoven restartujte Arduino IDE.

Krok 3: Připojení

Připojení
Připojení

Obvod je velmi snadné připojit vše podle schématu

Krok 4: Kód přístupového bodu

Kód přístupového bodu
Kód přístupového bodu

Z mých předchozích instructables upravím kód webserveru těchto instructables:

A proměňte jej v kód webového serveru přístupového bodu. Zkopírujte prosím níže 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ální pin připojený k senzoru DHT // Odkomentujte typ používaného senzoru: //#definujte DHTTYPE DHT11 // DHT 11#definovat DHTTYPE DHT22 // DHT 22 (AM2302) //#definovat DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // aktuální teplota a vlhkost, aktualizováno ve smyčce () float t = 0,0; float h = 0,0; // Vytvoření objektu AsyncWebServer na portu 80AsyncWebServer server (80); // Obecně byste měli používat "unsigned long" pro proměnné, které drží čas // Hodnota bude rychle příliš velká pro int, aby ukládal nepodepsaný dlouhý předchozí Millis = 0; // uloží naposledy aktualizovaný DHT // aktualizuje hodnoty DHT každých 10 sekund dlouhý interval = 10 000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server

Teplota % TEPLOTA % ° C

Vlhkost % VLHKOST % %) 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 (Přístupový bod)… "); // Odstraňte parametr hesla, pokud chcete, aby byl AP (přístupový bod) otevřený WiFi.softAP (ssid, heslo); IPAddress IP = WiFi.softAPIP (); Serial.print (" IP adresa AP: "); Serial.println (IP); // Vytisknout ESP8266 Místní IP adresa Serial.println (WiFi.localIP ()); // Trasa pro root / webovou stránku server.on (" / ", HTTP_GET, (AsyncWebServerRequest *požadavek) {požadavek-> send_P (200, "text/html", index_html, procesor);})); server.on ("/teplota", HTTP_GET, (požadavek AsyncWebServerRequest *) {požadavek- > send_P (200, "text/plain", String (t).c_str ());}); server.on ("/vlhkost", HTTP_GET, (požadavek AsyncWebServerRequest *) {request-> send_P (200, "text/prostý", Řetězec (h).c_str ()); }); // Spusťte server server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// uložení poslední aktualizace hodnot DHT previousMillis = currentMillis; // Čtení teploty jako Celsia (výchozí) float newT = dht.readTemperature (); // Čtení teploty jako Fahrenheit (isFahrenheit = true) // float newT = dht.readTemperature (true); // pokud se čtení teploty nezdařilo, neměňte hodnotu t if (isnan (newT)) {Serial.println ("Selhalo číst ze snímače DHT! "); } else {t = newT; Serial.println (t); } // Přečíst vlhkost float newH = dht.readHumidity (); // pokud se čtení vlhkosti nezdařilo, neměňte hodnotu h if (isnan (newH)) {Serial.println ("Čtení ze snímače DHT se nezdařilo!"); } else {h = newH; Serial.println (h); }}} Před nahráním kódu nezapomeňte zadat následující položky: const char* ssid = "ESP8266"; // cokoli chcete ssid wifi, kontrast char* heslo = "heslo"; // pass to connect to above ssidSet ESP8266 jako přístupový bod: K nastavení esp8266 jako přístupového bodu použijeme příkaz softAP, jak je ukázáno níže; k vytvoření přístupového bodu. WiFi.softAP (ssid, heslo); Existují také další volitelné parametry, které můžete předat metodě softAP (). Zde jsou všechny parametry: Pokud otevřete sériový monitor, uvidíte IP přístupového bodu. Což se provádí podle následující části kódu. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP adresa:"); Serial.println (IP); Ve výchozím nastavení je IP adresa: 192.168.4.1

Krok 5: Poslední krok: Testování

Poslední krok: Testování
Poslední krok: Testování

Po nahrání kódu otevřete mobilní/PC wifi a připojte se k wifi esp8266 (toho použijte ssid a heslo, které jste zadali v kódu). Po připojení stačí otevřít IP v prohlížeči, který jsme získali ze sériového monitoru (https://192.168.4.1.) a ve svém prohlížeči budete moci sledovat teplotu a vlhkost jako moji. A k tomu jsme nepoužili žádnou síť WiFi, takže přístupový bod esp8266 funguje.

Doporučuje: