Sisällysluettelo:

ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa: 5 vaihetta
ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa: 5 vaihetta

Video: ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa: 5 vaihetta

Video: ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa: 5 vaihetta
Video: NodeMCU/ESP8266 act as AP (Access Point) and web server to control GPIO 2024, Heinäkuu
Anonim
ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa
ESP8266 NodeMCU -tukiasema (AP) verkkopalvelimelle, jossa on DT11 -lämpötila -anturi ja tulostuslämpötila ja -kosteus selaimessa

Hei kaverit useimmissa projekteissa käytämme ESP8266: a ja useimmissa projekteissa käytämme ESP8266: ta verkkopalvelimena, joten dataa voidaan käyttää millä tahansa laitteella wifi -yhteyden kautta käyttämällä ESP8266: n isännöimää verkkopalvelinta, mutta ainoa ongelma on, että tarvitsemme toimivan reitittimen että laitteemme on myös yhdistettävä reitittimeen ja meidän on asetettava wifi -tunnuksemme koodiin, joten jos muutat wifi -yhteyttä, sinun on muutettava koodin tunnistetiedot ja sinun on ladattava se uudelleen.: 1- tarvitsemme wifi-yhteyden verkkopalvelimen (reitittimen) isännöimiseen 2- joka kerta, jos wifi-yhteys on muutettava, meidän on syötettävä kirjautumistiedot ja ladattava koodi uudelleen. wifi -yhteyden avulla voimme saada ESP8266: n luomaan oman wifi -yhteyden, joten jos muodostamme yhteyden tähän wifi -yhteyteen, voimme käyttää ESP8266: n verkkopalvelinta, joten periaatteessa isännöimme verkkopalvelinta, jossa on ESP8266 ja jossa on tukiasema. tulee luomaan verkkopalvelin, joka käyttää tukiasemaa ESP8266: n kanssa, ja yhdistämme DHT11 -anturin sekä tulostuslämpötilan ja kosteuden verkkopalvelinsivulle.

Vaihe 1: Tarvitsemasi asiat

Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat

1x ESP 8266 Nodemcu: 1x DHT11: 1x leipälauta:.: Harvat hyppääjät:

Vaihe 2: Hanki DHT11 -kirjastot

Hanki DHT11 -kirjastot
Hanki DHT11 -kirjastot
Hanki DHT11 -kirjastot
Hanki DHT11 -kirjastot

Avaa Arduino IDE ja valitse Luonnos> Sisällytä kirjasto> Hallitse kirjastoja. Kirjastohallinnan pitäisi avautua. Etsi "DHT" hakukentästä ja asenna DHT -kirjasto Adafruitista. Kun olet asentanut DHT -kirjaston Adafruitista, kirjoita hakukenttään "Adafruit Unified Sensor". Etsi kirjasto vierittämällä se alas ja asenna se. Kirjastojen asentamisen jälkeen käynnistä Arduino IDE uudelleen.

Vaihe 3: Liitännät

Liitännät
Liitännät

Piiri on erittäin helppo liittää kaikki Kuten skmatiikassa on esitetty

Vaihe 4: Tukiaseman koodi

Tukiaseman koodi
Tukiaseman koodi

Aiemmista ohjeistani aion muuttaa näiden ohjeiden verkkopalvelinkoodia:

Kopioi alla oleva koodi:

#Sisällytä "Arduino.h"#Sisällytä "ESP8266WiFi.h"

#include "Hash.h"

#include "ESPAsyncTCP.h"

#include "ESPAsyncWebServer.h"

#include "Adafruit_Sensor.h"

#sisältää "DHT.h"

const char* ssid = "ESP8266"; const char* password = "password";#define DHTPIN 5 // DHT -anturiin kytketty digitaalinen nasta // Poista käytettävän anturin tyyppi: //#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // nykyinen lämpötila ja kosteus, päivitetty silmukassa () float t = 0.0; float h = 0.0; // Luo AsyncWebServer -objekti porttiin 80AsyncWebServer -palvelin (80); // Yleensä kannattaa käyttää "unsigned long" -muuttujia, jotka pitävät aikaa // Arvo muuttuu nopeasti liian suureksi, jotta int voidaan tallentaa pitkäaikainen edellinenMillis = 0; // tallentaa DHT: n viimeisimmän päivityksen // Päivittää DHT -lukemat 10 sekunnin välein pitkä aikaväli = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT -palvelin

Lämpötila % LÄMPÖTILA % ° C

Kosteus % KOSTEUS % %) rawliteral "; // Korvaa paikkamerkin DHT -arvoillaString -prosessori (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "KOSTEUS") {return String (h);} return String ();} void setup () {// Sarjaportti virheenkorjausta varten Serial.begin (115200); dht.begin (); Serial.print ("Asetus AP (Tukiasema)… "); // Poista salasanaparametri, jos haluat, että tukiasema (tukiasema) on avoin WiFi.softAP (ssid, salasana); IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP -osoite: "); Serial.println (IP); // Tulosta ESP8266 Paikallinen IP -osoite Serial.println (WiFi.localIP ()); // Reitti pää- / verkkosivun palvelimelle.on (" / ", HTTP_GET, (AsyncWebServerRequest *-pyyntö) {request-> send_P (200, "text/html", index_html, prosessori);}); server.on ("/lämpötila", HTTP_GET, (AsyncWebServerRequest *-pyyntö) {request- > send_P (200, "teksti/tavallinen", merkkijono (t).c_str ());}); server.on ("/kosteus", HTTP_GET, (AsyncWebServerRequest *-pyyntö) {request-> send_P (200, "teksti/tavallinen", Jono (h).c_str ()); }); // Käynnistä palvelinpalvelin.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = intervalli) {// tallenna viimeksi päivitetty DHT -arvot previousMillis = currentMillis; // Lue lämpötila celsiusasteina (oletus) float newT = dht.readTemperature (); // Lue lämpötila Fahrenheitina (isFahrenheit = true) // float newT = dht.readTemperature (true); // jos lämpötilan lukeminen epäonnistui, älä muuta t -arvoa, jos (isnan (newT)) {Serial.println ("Epäonnistui lukea DHT -anturista! "); } muu {t = newT; Sarja.println (t); } // Lue Kosteuden float newH = dht.readHumidity (); // jos kosteuden lukeminen epäonnistui, älä muuta h -arvoa, jos (isnan (newH)) {Serial.println ("Lukeminen epäonnistui DHT -anturista!"); } muu {h = newH; Sarja.println (h); }}} Ennen kuin lähetät koodin, muista kirjoittaa seuraavat asiat: const char* ssid = "ESP8266"; // mitä tahansa wifi -palvelua haluatconst char* password = "password"; // pass liittääksesi yllä olevaan ssidSet ESP8266 tukiasemana: Jos haluat asettaa esp8266: n liityntäpisteeksi, käytämme softAP -komentoa alla olevan kuvan mukaisesti; Wi -Fi.softAP (ssid, salasana); On myös muita valinnaisia parametreja, jotka voit siirtää softAP () -menetelmään. Tässä on kaikki parametrit: Jos avaat sarjamonitorin, näet tukiaseman IP -osoitteen. Tämä tapahtuu noudattamalla koodin osaa. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP address:"); Serial.println (IP); Oletuksena IP -osoite on: 192.168.4.1

Vaihe 5: Viimeinen vaihe: Testaus

Viimeinen vaihe: Testaus
Viimeinen vaihe: Testaus

Kun olet ladannut koodin, avaa matkapuhelimesi/tietokoneesi wifi ja muodosta yhteys esp8266 wifi -verkkoon (mitä koodia syöttämäsi SSID ja salasana käyttävät sitä). https://192.168.4.1.) ja voit nähdä selaimesi lämpötilan ja kosteuden minun omana. Emme käyttäneet mitään wifi -verkkoa tämän suorittamiseen, joten esp8266 -tukiasema toimii näin.

Suositeltava: