Orodha ya maudhui:
- Hatua ya 1: Mkutano
- Hatua ya 2: Kanuni
- Hatua ya 3: Sanidi
- Hatua ya 4: Kitanzi
- Hatua ya 5: Ombi Haikupatikana
- Hatua ya 6: Kurudisha Joto
- Hatua ya 7: Unyevu wa Kurudi
- Hatua ya 8: HTML
- Hatua ya 9: Kuendelea kwa Mtindo wa HTML
- Ufuatiliaji wa DHT
- Hatua ya 10: JavaScript
- Hatua ya 11: Kumaliza ShowMonitor
- Hatua ya 12: Upimaji
Video: ESP8266: Jinsi ya Kufuatilia Joto na Unyevu: Hatua 12
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Katika mafunzo ya leo, tutatumia ESP-01, ambayo ni ESP8266 katika usanidi 01 (na 2 tu GPIO), kwa usomaji wa joto na unyevu wa sensorer ya DHT22. Nitakuonyesha mpango wa umeme na sehemu ya programu ya ESP na Arduino. Mfano ni rahisi, rahisi kueleweka, na pia inakuja na PDF iliyotumiwa kwenye video kusaidia katika mkutano.
Katika muundo, tunayo ESP01, chanzo ambacho hubadilisha 110 au 220 kuwa volts 5, mdhibiti wa voltage ya 3v3, na DHT22, ambayo ni sensor. Kwenye skrini ya smartphone, utakuwa na anwani ya IP ya karibu na nambari ya JavaScript iliyotolewa na ESP. Skrini hii kwa hivyo itapokea vigezo vya joto na unyevu na itachapisha maadili haya, ambayo yatasasishwa kila sekunde tano. Ili kufanya hivyo, hutahitaji programu yoyote kwenye simu na vidonge, na hii inatumika kwa Android OS na IOS.
Hatua ya 1: Mkutano
Mpango wa umeme ni rahisi sana, kama ilivyo sehemu ya mkutano, ambayo itajumuisha ESP01 kama seva. ESPO1 itasanidiwa kana kwamba ni Arduino: kupitia lugha ya C. Ninaonyesha kuwa sehemu ya nambari imechapishwa kutoka kwa kivinjari. Hii inamaanisha kuwa hutuma nambari ya JavaScript kwa kivinjari. Chini, nitaelezea vizuri juu ya jinsi hii inavyofanya kazi.
Kurudi kwenye mchoro wa wiring, niliweka chanzo cha switched 5-volt kilichounganishwa na mdhibiti wa voltage ya 3v3 ili kuwezesha ESP01. Bado tuna DHT22 na pini nne. Moja ya hizi, data, haitumiki. Walakini, inachukua kontena la kuvuta.
Hatua ya 2: Kanuni
Hatua ya kwanza ni pamoja na libs ambazo tutatumia. LibT ya DHT inaweza kuongezwa na chaguo la Mchoro> Jumuisha Maktaba> Dhibiti Maktaba…
Katika dirisha linalofungua, angalia maktaba ya sensorer ya DHT.
Baada ya hapo, tuliunda tofauti ya aina ESP8266WebServer ambayo itakuwa seva yetu na itajibu maombi ya HTTP (bandari 80).
Pia tunaunda kutofautisha kwa DHT na vigezo 0 (ambayo ni pini ya GPIO 0) na aina (kwa upande wetu DHT22).
#jumuisha # pamoja na # pamoja na # pamoja # // Criamos uma variável do tipo ESP8266WebServer que já possui funções // que auxiliam na criação das rotas que o ESP8266 vai responder ESP8266WebServer server (80); // Variável do tipo DHT que possui funções para controlarmos o módulo dht // permitindo ler a temperatura e a umidade DHT dht (0, DHT22);
Hatua ya 3: Sanidi
Katika usanidi, tutaanzisha Serial tu ili tuwe na logi. Hii itatokea ikiwa ESP8266 imeunganishwa kwenye kompyuta kupitia serial ili kutumia mfuatiliaji wa serial.
Tutafanya ESP8266 kuungana na mtandao wetu. Kwa upande wetu, tunatumia mtandao wa TesteESP na nywila 87654321, lakini itabidi ubadilishe hii kulingana na mtandao unaotumia.
// Anzisha Serial apenas caso esteja com o ESP8266 conectado ao computador pela serla queira ter um log // para facilitar saber o que está acontecendo com o ESP8266 Serial.begin (115200); // Instrução para o ESP8266 se conectar na rede. // Hakuna mtu anayeweza kusoma tena Jaribio la Jaribio ni 87654321. // Maoni kwa njia hii usando o Monitor Serial Serial.println (""); Serial.print ("Conectando");
Tunasubiri ESP8266 kuungana na mtandao, na baada ya kuungana, tunatuma mipangilio ya mtandao. Badilisha kulingana na mtandao wako.
// Esperamos até que o módulo se conecte à rede while (WiFi.status ()! = WL_CONNECTED) {kuchelewesha (500); Printa ya serial ("."); } // Configurações kufanya IP fixo. Você pode alterar conforme a sua rede IPAddress ip (192, 168, 3, 11); Lango la IPAdress (192, 168, 3, 1); IPAddress subnet (255, 255, 255, 0); Serial.print ("Configurando IP fixo para:"); Serial.println (ip); // Envia usanidi wa WiFi.config (ip, lango, subnet);
Amri zifuatazo ziko tu ikiwa una ESP8266 iliyounganishwa kwenye kompyuta kupitia serial, ili uwe na maoni kutoka kwa Serial Monitor.
Unaweza kuangalia IP ambayo ESP8266 ilipokea ili kuona ikiwa ni sawa na kwenye mipangilio.
// Mostramos no Monitor Serial o ip com o qual o esp8266 se conectou para ver se está de acordo com o que configuramos Serial.println (""); Serial.println ("Connectado"); Serial.print ("IP:"); Serial.println (WiFi.localIP ());
Hapa, tunaanza kufafanua ni kazi gani zitatekelezwa kwa kila ombi.
Katika maagizo hapa chini, kila wakati ESP8266 inapokea ombi la HTTP la aina GET katika njia / joto, kazi ya Joto itatekelezwa.
// Ufafanuzi wa hali ya juu hufaa kufurahisha kwa kufanya kazi kwa o caminho na tipo dado. // Nesse caso quando houver uma requisição http do tipo GET no caminho https://192.168.2.8/temperature // (pode ser outro ip dependendo da sua configuração) a função getTemperature será executada server.on ("/ joto", HTTP_GET, kupataTemperature);
Katika taarifa hii nyingine, kila wakati ESP8266 inapokea ombi la HTTP la aina GET katika njia / unyevu, kazi ya GetHumidity itatekelezwa.
// Nesse outo caso quando hou uma requisição http do tipo GET no caminho https://192.168.2.8/humidity // (pode ser outro ip dependendo da sua configuração) a função getHumidity será executada server.on ("/ humidity", HTTP_GET, kupataHumidity);
Katika mafundisho haya, kila wakati ESP8266 inapokea ombi la HTTP la aina GET katika njia / mfuatiliaji, onyesho la kaziMonitor litatekelezwa.
Kazi ya showMonitor inawajibika kurudisha html kuu ambayo itaonyesha maadili ya joto na unyevu.
// Nesse caso quando hou uma requisição http do tipo GET no caminho https://192.168.2.8/monitor // (pode ser outro ip dependendo da sua configuração) kipindi cha funçãoMonitor será executada. // Esta função retornará a página main que mostrará os valores // da temperatura and the umidade and recarregará essas informações de tempos em tempos server.on ("/ monitor", HTTP_GET, showMonitor);
Hapa kuna ufafanuzi wa kazi ambao unapaswa kutekelezwa wakati njia iliyoombwa haipatikani.
// Ufafanuzi wa hali inayofaa ni kazi ya kufanya kazi kwa kila mtu kwa sababu unahitaji kufanya kazi kwa seva ya usajili. Kwenye NotFound (onNotFound);
Hapa tunaanzisha seva yetu ambayo tulitangaza hapo awali kwenye bandari 80.
Huu ndio mwisho wa usanidi.
// Inicializamos o server que criamos na porta 80 server.begin (); Serial.println ("Servidor HTTP iniciado"); }
Hatua ya 4: Kitanzi
Shukrani kwa lib ESP8266WebServer, hatuna haja ya kuangalia kitanzi ikiwa kuna wateja na kwa nini njia ya ombi ni. Tunahitaji tu kuita handleClient (), na kitu kitaangalia ikiwa mteja yeyote anafanya maombi yoyote na ataelekeza kwa kazi inayofanana ambayo tulisajili hapo awali.
kitanzi batili () {/ }
Hatua ya 5: Ombi Haikupatikana
Hii ndio kazi ambayo hapo awali tuliingia kutekeleza wakati mteja atatoa maombi yoyote ambayo hayajasajiliwa.
Kazi hiyo inarudisha nambari 404 tu (nambari chaguomsingi wakati rasilimali haipatikani), aina ya data iliyorejeshwa (katika hali ya maandishi wazi), na maandishi yenye maneno "Haikupatikana."
// Função que definitos para ser chamada quando o caminho requisitado não foi registrado void onNotFound () {server.send (404, "text / plain", "Haikupatikana"); }
Hatua ya 6: Kurudisha Joto
Hii ndio kazi ambayo itarudi json na data ya joto wakati mteja atafanya ombi la GET saa / joto.
// Utaftaji wa maelezo haya ni nini unachofanya ikiwa unataka kutumia mahitaji // usipate kupata kitu chochote https://192.168.2.8/temperature (pode ser outro ip dependendo da sua configuração) utupu GetTemperature () {// Fazemos a leitura da temperatura através do módulo dht float t = dht.readTemperature (); // Cria um json com os dados da temperatura String json = "{" joto / ":" + Kamba (t) + "}"; // Envia o json para o cliente com o código 200, que é o código quando a requisição foi realizada com sucesso server.send (200, "application / json", json); }
Hatua ya 7: Unyevu wa Kurudi
Hii ndio kazi ambayo itarudi json na data ya unyevu wakati mteja atafanya ombi la GET ndani / unyevu.
// Utaftaji wa huduma hii ni nini? da umidade através do módulo dht kuelea h = dht.readHumidity (); // Cria um json com os dados da umidade String json = "{" humidity / ":" + String (h) + "}"; // Envia o json para o cliente com o código 200, que é o código quando a requisição foi realizada com sucesso server.send (200, "application / json", json); }
Hatua ya 8: HTML
Hii ndio kazi ambayo itarudisha html wakati mteja anakwenda kufikia / kufuatilia. Ukurasa huu utaonyesha maadili ya joto na unyevu, na itapakia tena data mara kwa mara. Sehemu ambayo iko kati na mtindo>
hufafanua kuonekana kwa ukurasa, na unaweza kuibadilisha kama unavyopenda.
// Utaftaji wa ufafanuzi wa sababu hii ya kufanya kazi kwa njia moja ikiwa unahitaji kutumia // usipate kupata programu https:// 192.168.2.8/monitor (pode ser outro ip dependendo da sua configuração) void showMonitor () {String html = "" "" ""
"Ufuatiliaji wa DHT"
"mwili {"
"padding: 35px;"
"rangi ya asili: # 222222;" "}"
Hatua ya 9: Kuendelea kwa Mtindo wa HTML
rangi "h1 {" ": #FFFFFF;" "font-family: sans-serif;" Rangi ya "}" "p {" ": #EEEEEE;" "font-family: sans-serif;" "saizi ya fonti: 18px;" "}" ""
Hapa tuna sehemu kuu ya html. Ndani yake, tuna aya mbili ambazo zitaonyesha joto na unyevu. Zingatia vitambulisho vya aya, kwa sababu ni kupitia wao kwamba tutapona aya hizi kuingia maadili ya joto na unyevu baada ya mahitaji.
Ufuatiliaji wa DHT
Joto:
Unyevu:
Hatua ya 10: JavaScript
Hapa tunaanza kufafanua hati ambayo itasoma mara kwa mara maadili ya joto na unyevu. Kazi ya kuburudisha () inaita furahishaTemperature () na refreshHumdity () kazi, na setInterval inaita kazi ya kuburudisha kila milliseconds 5000 (sekunde 5).
"furahisha ();" "setInterval (onyesha upya, 5000);" "onyesha kazi ()" "{" "refreshTemperature ()" "refreshHumidity ();" "}"
Kazi ya kutafakariJoto () hufanya ombi kwa / joto, inachambua habari iliyo kwenye json, na inaongeza kwenye aya joto la kitambulisho.
"kazi refreshTemperature ()" "{" "var xmlhttp = XMLHttpRequest mpya ();" "xmlhttp.onreadystatechange = function () {" "if (xmlhttp.readyState == XMLHttpRequest. DONE && xmlhttp.status == 200) {" "document.getElementById ('temperature'). innerHTML = 'Joto:' + JSON. kifungu (xmlhttp.responseText).joto + 'C'; " "}" "};" "xmlhttp.open ('GET', 'https:// 192.168.2.8 / joto', kweli);" "xmlhttp.send ();" "}"
Kazi ya refreshHumidity () hufanya ombi kwa / unyevu, inasambaza habari iliyo kwenye json, na inaongeza kwenye aya unyevu wa id. Na kwa hayo, tunamaliza html ambayo tutatuma maombi katika / kufuatilia.
"kazi refreshHumidity ()" "{" "var xmlhttp = XMLHttpRequest mpya ();" "xmlhttp.onreadystatechange = function () {" "if (xmlhttp.readyState == XMLHttpRequest. DONE && xmlhttp.status == 200) {" "document.getElementById ('humidity'). HTML ya ndani = 'Humidity:' + JSON. kifungu (xmlhttp.responseText). unyevu + '%'; " "}" "};" "xmlhttp.open ('GET', 'https:// 192.168.2.8 / humidity', kweli);" "xmlhttp.send ();" "}"
"";
Hatua ya 11: Kumaliza ShowMonitor
Sasa kwa kuwa kamba iliyo na html ambayo tutatuma iko tayari, tunaweza kuipeleka kwa mteja. Hii inakamilisha kazi ya showMonitor na nambari.
// Envia o html para o cliente com o código 200, que é o código quando a requisção foi realizada com sucesso server.send (200, "text / html", html); }
Hatua ya 12: Upimaji
Sasa fungua kivinjari chako na uingie https:// 192.168.2.8 / monitor (unaweza kuhitaji ip tofauti kulingana na usanidi wako).
Ilipendekeza:
Jinsi ya kutumia DHT22 Unyevu wa unyevu na joto la joto na Arduino: Hatua 6
Jinsi ya kutumia unyevu wa DHT22 na sensorer ya joto na Arduino: Katika mafunzo haya tutajifunza jinsi ya kutumia unyevu wa DHT22 na Sensor ya Joto na Arduino na kuonyesha maadili kwenye OLED Onyesha video
Ufuatiliaji wa Joto la ESP8266 Nodemcu Kutumia DHT11 kwenye Mtandao wa Mtandao - Pata Joto la Chumba na Unyevu kwenye Kivinjari chako: Hatua 6
Ufuatiliaji wa Joto la ESP8266 Nodemcu Kutumia DHT11 kwenye Mtandao wa Mtandao | Pata Joto la Chumba na Unyevu kwenye Kivinjari chako: Halo jamani leo tutafanya unyevu & mfumo wa ufuatiliaji wa joto kwa kutumia ESP 8266 NODEMCU & Sensor ya joto ya DHT11. Joto na unyevu utapatikana kutoka kwa Sensorer ya DHT11 & inaweza kuonekana kwenye kivinjari ambayo ukurasa wa wavuti utasimamia
ESP8266 NodeMCU Access Point (AP) ya Seva ya Wavuti iliyo na Sensor ya Joto la DT11 na Joto la Uchapishaji na Unyevu katika Kivinjari: Hatua 5
ESP8266 NodeMCU Access Point (AP) ya Seva ya Wavuti iliyo na Sensor ya Joto la DT11 na Joto la Uchapishaji na Unyevu katika Kivinjari: Halo jamani katika miradi mingi tunayotumia ESP8266 na katika miradi mingi tunatumia ESP8266 kama seva ya wavuti ili data ipatikane kifaa chochote juu ya wifi kwa kupata Webserver iliyoangaliwa na ESP8266 lakini shida tu ni kwamba tunahitaji router inayofanya kazi
Jinsi ya kutumia Sensor ya Joto la DHT11 na Arduino na Joto la Uchapishaji wa Joto na Unyevu: Hatua 5
Jinsi ya Kutumia Sensorer ya Joto la DHT11 Na Arduino na Joto la Uchapishaji Joto na Unyevu: Sura ya DHT11 hutumiwa kupima joto na unyevu. Unyevu wa DHT11 na sensorer ya joto hufanya iwe rahisi sana kuongeza data ya unyevu na joto kwenye miradi yako ya elektroniki ya DIY. Ni kwa kila
Joto -Joto La Kudhibitiwa la Joto La joto: Hatua 6
Joto -Joto La Kutabasamu La Kudhibiti Joto: ******************************************* ************************************************** +