Satura rādītājs:

ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūra un mitrums pārlūkprogrammā: 5 soļi
ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūra un mitrums pārlūkprogrammā: 5 soļi

Video: ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūra un mitrums pārlūkprogrammā: 5 soļi

Video: ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūra un mitrums pārlūkprogrammā: 5 soļi
Video: Как сделать 4-канальное реле Wi-Fi ESP8266 ESP01 | ESP01 Домашняя автоматизация | УдаленныйXY 2024, Jūlijs
Anonim
ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūru un mitrumu pārlūkprogrammā
ESP8266 NodeMCU piekļuves punkts (AP) tīmekļa serverim ar DT11 temperatūras sensoru un drukāšanas temperatūru un mitrumu pārlūkprogrammā

Sveiki, puiši, lielākajā daļā projektu mēs izmantojam ESP8266, un lielākajā daļā projektu mēs izmantojam ESP8266 kā tīmekļa serveri, lai datiem varētu piekļūt jebkurā ierīcē, izmantojot Wi -Fi, piekļūstot tīmekļa serverim, kuru mitina ESP8266, taču vienīgā problēma ir tā, ka mums ir nepieciešams strādājošs maršrutētājs un arī mūsu ierīcei ir jābūt savienotai ar maršrutētāju, un mums ir jāievada mūsu wifi akreditācijas dati kodā, tāpēc, ja maināt wifi, jums ir jāmaina akreditācijas dati kodā un tas ir jāpārlādē. Tātad būtībā mums ir divas problēmas: 1- mums ir nepieciešams wifi savienojums, lai mitinātu tīmekļa serveri (maršrutētāju) 2- katru reizi, ja jāmaina wifi savienojums, mums jāievada akreditācijas dati un jāpārlādē kods. Tātad, lai izvairītos no visas šīs problēmas, mēs varam darīt, nevis dot Izmantojot Wi -Fi piekļuvi, mēs varam likt ESP8266 izveidot savu wifi savienojumu, tāpēc, ja mēs izveidojam savienojumu ar šo wifi savienojumu, mēs varam piekļūt ESP8266 tīmekļa serverim. Tātad būtībā mēs mitināsim tīmekļa serveri ar ESP8266 ar piekļuves punktu. Tātad šajā instrukcijā mēs veidos tīmekļa serveris, izmantojot piekļuves punktu ar ESP8266, un mēs tīmekļa servera lapā pievienosim DHT11 sensoru un drukas temperatūru un mitrumu.

1. darbība. Nepieciešamās lietas

Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas

1x ESP 8266 Nodemcu: 1x DHT11: 1x rīvdēlis:.: Daži džemperi:

2. darbība: iegūstiet DHT11 bibliotēkas

Iegūstiet DHT11 bibliotēkas
Iegūstiet DHT11 bibliotēkas
Iegūstiet DHT11 bibliotēkas
Iegūstiet DHT11 bibliotēkas

Atveriet savu Arduino IDE un dodieties uz Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas. Bibliotēkas pārvaldniekam vajadzētu atvērties. Meklēšanas lodziņā meklējiet “DHT” un instalējiet DHT bibliotēku no Adafruit. Pēc DHT bibliotēkas instalēšanas no Adafruit meklēšanas lodziņā ierakstiet “Adafruit Unified Sensor”. Ritiniet līdz galam, lai atrastu bibliotēku un to instalētu. Pēc bibliotēku instalēšanas restartējiet Arduino IDE.

3. darbība. Savienojumi

Savienojumi
Savienojumi

Ķēde ir ļoti viegli savienot visu Saskaņā ar shmatiku

4. darbība: piekļuves punkta kods

Piekļuves punkta kods
Piekļuves punkta kods

No iepriekšējiem norādījumiem es mainīšu šo norādījumu tīmekļa servera kodu:

Un pārvērtiet to par piekļuves punkta tīmekļa servera kodu. Lūdzu, nokopējiet tālāk norādīto kodu:

#iekļaut "Arduino.h"#iekļaut "ESP8266WiFi.h"

#include "Hash.h"

#include "ESPAsyncTCP.h"

#include "ESPAsyncWebServer.h"

#include "Adafruit_Sensor.h"

#ietver "DHT.h"

const char* ssid = "ESP8266"; const char* parole = "parole";#define DHTPIN 5 // Digitālā tapa, kas savienota ar DHT sensoru // Norakstiet izmantojamā sensora veidu: //#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // pašreizējā temperatūra un mitrums, atjaunināts cilpas () pludiņā t = 0,0; float h = 0.0; // Izveidot AsyncWebServer objektu portā 80AsyncWebServer serveris (80); // Parasti mainīgajiem, kas aiztur laiku, jāizmanto "unsigned long" // Vērtība ātri kļūs pārāk liela, lai to varētu uzglabāt neparakstīts ilgi iepriekšMillis = 0; // tiks saglabāts pēdējo reizi, kad DHT tika atjaunināts // Atjaunina DHT rādījumus ik pēc 10 sekundēm, garais intervāls = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT serveris)

Temperatūra % TEMPERATURE % ° C

Mitrums % HUMIDITY % %) rawliteral "; // Vietturi aizstāj ar DHT vērtībāmString procesors (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Sērijas ports atkļūdošanas nolūkiem Serial.begin (115200); dht.begin (); Serial.print ("AP iestatīšana (Piekļuves punkts)… "); // Noņemiet paroles parametru, ja vēlaties, lai AP (piekļuves punkts) būtu atvērts WiFi.softAP (ssid, parole); IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP adrese: "); Serial.println (IP); // Drukāt ESP8266 vietējo IP adresi Serial.println (WiFi.localIP ()); // Saknes / tīmekļa lapas servera maršruts.on (" / ", HTTP_GET, (AsyncWebServerRequest *pieprasījums) {request-> send_P (200, "text/html", index_html, procesors);}); server.on ("/temperatūra", HTTP_GET, (AsyncWebServerRequest *pieprasījums) {request- > send_P (200, "text/plain", String (t).c_str ());}); server.on ("/mitrums", HTTP_GET, (AsyncWebServerRequest *pieprasījums) {request-> send_P (200, "teksts/vienkāršs", String (h).c_str ()); }); // Start server server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = intervāls) {// saglabāt pēdējo reizi, kad atjauninājāt DHT vērtības previousMillis = currentMillis; // Lasīt temperatūru pēc Celsija (noklusējuma) float newT = dht.readTemperature (); // Lasīt temperatūru kā Fārenheita (isFahrenheit = true) // float newT = dht.readTemperature (true); // ja temperatūras nolasīšana neizdevās, nemainiet t vērtību, ja (isnan (newT)) {Serial.println ("Neizdevās lasīt no DHT sensora! "); } cits {t = newT; Sērijas.println (t); } // Lasīt mitruma pludiņu newH = dht.readHumidity (); // ja mitruma nolasīšana neizdevās, nemainiet h vērtību, ja (isnan (newH)) {Serial.println ("Neizdevās nolasīt no DHT sensora!"); } cits {h = newH; Sērijas.println (h); }}} Pirms koda augšupielādes noteikti ievietojiet šādas lietas: const char* ssid = "ESP8266"; // neatkarīgi no wifi ssid vēlatiesconst char* parole = "parole"; // iziet, lai izveidotu savienojumu ar iepriekšminēto ssidSet ESP8266 kā piekļuves punktu: Lai iestatītu esp8266 kā piekļuves punktu, mēs izmantosim softAP komandu, kā parādīts zemāk; Wi -Fi.softAP (ssid, parole); Ir arī citi izvēles parametri, kurus varat pārsūtīt uz metodi softAP (). Šeit ir visi parametri: Ja atverat seriālo monitoru, varat redzēt piekļuves punkta IP. To veic, sekojot koda daļai. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP adrese:"); Serial.println (IP); Pēc noklusējuma IP adrese ir: 192.168.4.1

5. solis: pēdējais solis: pārbaude

Pēdējais solis: pārbaude
Pēdējais solis: pārbaude

Pēc koda augšupielādes atveriet savu mobilo/datora wifi un izveidojiet savienojumu ar esp8266 wifi (neatkarīgi no kodā ievadītā SSID un paroles izmantojiet to). Pēc savienojuma izveidošanas vienkārši atveriet IP savā pārlūkprogrammā, ko saņēmām no sērijas monitora (https://192.168.4.1.), un jūs savā pārlūkprogrammā varēsit redzēt temperatūru un mitrumu kā manējo. Un mēs to neizmantojām, lai to paveiktu, tāpēc esp8266 piekļuves punkts darbojas šādi.

Ieteicams: