Kazalo:

ESP8266 NodeMCU Access Point (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku: 5 korakov
ESP8266 NodeMCU Access Point (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku: 5 korakov

Video: ESP8266 NodeMCU Access Point (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku: 5 korakov

Video: ESP8266 NodeMCU Access Point (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku: 5 korakov
Video: Web server based led on/off using Nodemcu esp8266 #diy 2024, Julij
Anonim
ESP8266 Dostopna točka NodeMCU (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku
ESP8266 Dostopna točka NodeMCU (AP) za spletni strežnik s temperaturnim senzorjem DT11 ter temperaturo in vlažnostjo tiskanja v brskalniku

Pozdravljeni fantje, v večini projektov uporabljamo ESP8266, v večini projektov pa ESP8266 uporabljamo kot spletni strežnik, tako da lahko do podatkov dostopate na kateri koli napravi prek wifi z dostopom do spletnega strežnika, ki ga gosti ESP8266, vendar je edina težava, da potrebujemo delujoč usmerjevalnik za to in naša naprava mora biti povezana tudi z usmerjevalnikom, zato moramo v kodo vnesti poverilnice za wifi, tako da če spremenite wifi, morate spremeniti poverilnice v kodi in jo morate znova naložiti.: 1- potrebujemo povezavo Wi-Fi za gostovanje spletnega strežnika (usmerjevalnika) 2- vsakič, ko je treba povezavo Wi-Fi spremeniti, moramo vnesti poverilnice in znova naložiti kodo. Torej, da se izognemo vsem tem težavam, namesto dostop do wifi lahko naredimo ESP8266, da ustvari lastno povezavo wifi, tako da če se povežemo s to povezavo wifi, lahko dostopamo do spletnega strežnika ESP8266. Tako bomo v bistvu gostili spletni strežnik z ESP8266 z dostopno točko. bo ustvarjal spletnega strežnika, ki uporablja dostopno točko z ESP8266, mi pa bomo povezali senzor DHT11 ter natisnili temperaturo in vlažnost na strani spletnega strežnika.

Korak: Stvari, ki jih potrebujete

Stvari, ki jih potrebujete
Stvari, ki jih potrebujete
Stvari, ki jih potrebujete
Stvari, ki jih potrebujete

1x ESP 8266 Nodemcu: 1x DHT11: 1x matična plošča:.: Nekaj skakalcev:

2. korak: Pridobite knjižnice DHT11

Pridobite knjižnice DHT11
Pridobite knjižnice DHT11
Pridobite knjižnice DHT11
Pridobite knjižnice DHT11

Odprite svoj Arduino IDE in pojdite na Sketch> Include Library> Manage Libraries. Odpre se upravitelj knjižnice. V iskalnem polju poiščite »DHT« in namestite knjižnico DHT iz Adafruit. Po namestitvi knjižnice DHT iz Adafruit v iskalno polje vnesite »Adafruit Unified Sensor«. Pomaknite se do konca, da poiščete knjižnico in jo namestite. Po namestitvi knjižnic znova zaženite Arduino IDE.

3. korak: Povezave

Povezave
Povezave

Vezje je zelo enostavno povezati vse v skladu s shemo

4. korak: Koda dostopne točke

Koda dostopne točke
Koda dostopne točke

Iz prejšnjih navodil bom spremenil kodo spletnega strežnika teh navodil:

In ga spremenite v kodo spletnega strežnika dostopne točke. Kopirajte spodnjo kodo:

#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* geslo = "geslo";#definiraj DHTPIN 5 // Digitalni pin priključen na senzor DHT // Odkomentiraj vrsto uporabljenega senzorja: //#definiraj DHTTYPE DHT11 // DHT 11#definiraj DHTTYPE DHT22 // DHT 22 (AM2302) //#definiraj DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // trenutna temperatura in vlažnost, posodobljeno v zanki () float t = 0,0; float h = 0; = 0; // shrani zadnjič, ko je bil DHT posodobljen // Posodobi odčitke DHT vsakih 10 sekundconst long interval = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 strežnik DHT

Temperatura % TEMPERATURE % ° C

Vlažnost % HUMIDITY % %) rawliteral "; // nadomesti nadomestno mesto z vrednostmi DHTString procesor (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Serijska vrata za namene odpravljanja napak Serial.begin (115200); dht.begin (); Serial.print ("Nastavitev AP (Access Point) … "); // Odstranite parameter gesla, če želite, da je dostopna točka (Access Point) odprta WiFi.softAP (ssid, geslo); IPAddress IP = WiFi.softAPIP (); Serial.print (" Naslov IP AP: "); Serial.println (IP); // Natisni ESP8266 Lokalni naslov IP Serial.println (WiFi.localIP ()); // Poti za strežnik korenske / spletne strani.on (" / ", HTTP_GET, (AsyncWebServerRequest *zahteva) {request-> send_P (200, "text/html", index_html, procesor);}); server.on ("/temperature", HTTP_GET, (AsyncWebServerRequest *zahteva) {request- > send_P (200, "besedilo/navaden", String (t).c_str ());}); server.on ("/vlažnost", HTTP_GET, (AsyncWebServerRequest *zahteva) {request-> send_P (200, "besedilo/navaden", Niz (h).c_str ()); }); // Zaženite strežnik server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// shranite zadnjič, ko ste posodobili vrednosti DHT previousMillis = currentMillis; // Temperatura se bere kot Celzij (privzeto) float newT = dht.readTemperature (); // Temperatura se bere kot Fahrenheit (isFahrenheit = true) // plava newT = dht.readTemperature (true); // če temperatura ne uspe prebrati, ne spreminjajte vrednosti t, če (isnan (newT)) {Serial.println ("Neuspešno za branje s senzorja DHT! "); } else {t = newT; Serial.println (t); } // Preberi plavajočo vlažnost newH = dht.readHumidity (); // če odčitavanje vlažnosti ni uspelo, ne spreminjajte vrednosti h if (isnan (newH)) {Serial.println ("Ni bilo mogoče prebrati s senzorja DHT!"); } else {h = newH; Serial.println (h); }}} Preden naložite kodo, vnesite naslednje: const char* ssid = "ESP8266"; // kateri koli ssid wifi želite const char* password = "password"; // prehod za povezavo z zgornjim ssidSet ESP8266 kot dostopno točko: Za nastavitev esp8266 kot dostopne točke bomo uporabili ukaz softAP, kot je prikazano spodaj; za ustvarjanje dostopne točke. WiFi.softAP (ssid, geslo); Obstajajo tudi drugi neobvezni parametri, ki jih lahko prenesete na metodo softAP (). Tu so vsi parametri: Če odprete serijski monitor, lahko vidite IP dostopne točke. To naredite tako, da sledite delu kode. IPAddress IP = WiFi.softAPIP (); Serial.print ("Naslov IP AP:"); Serial.println (IP); Privzeto je naslov IP: 192.168.4.1

5. korak: Zadnji korak: Testiranje

Zadnji korak: Testiranje
Zadnji korak: Testiranje

Ko naložite kodo, odprite svoj mobilni telefon/računalnik wifi in se povežite z esp8266 wifi (kar uporabite ssid in geslo, ki ste ga vnesli v kodo). Po povezavi odprite IP v brskalniku, ki smo ga dobili od serijskega monitorja (https://192.168.4.1.) in v brskalniku boste lahko videli temperaturo in vlažnost kot mojo. In za to nismo uporabili nobenega omrežja wifi, tako deluje dostopna točka esp8266.

Priporočena: