Orodha ya maudhui:

Mlango na Hali ya Joto Mradi wa Magogo: Hatua 21
Mlango na Hali ya Joto Mradi wa Magogo: Hatua 21

Video: Mlango na Hali ya Joto Mradi wa Magogo: Hatua 21

Video: Mlango na Hali ya Joto Mradi wa Magogo: Hatua 21
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Mlango na Joto Mradi wa Logger
Mlango na Joto Mradi wa Logger

Hii inayoweza kufundishwa itakuonyesha jinsi ya kutengeneza logger rahisi ya mlango na hali ya joto kwa chini ya $ 10.00 ukitumia ESP8266 NodeMCU, joto la DHT11 na sensorer ya unyevu, swichi ya mlango / dirisha, kisima cha 10K ohm na waya fulani wa hookup.

Mwanzo wa mradi huu ulitoka kwa hamu yangu ya kufanya mitambo ya nyumbani zaidi na bodi ya Arduino, Kwa kuwa nilikuwa nikisoma mengi juu ya EPS8266 NodeMCU inayoendana na Arduino, niliamua bodi hii itakuwa bodi ya gharama nafuu kabisa ya kujaribu. Baada ya kutafuta mtandao kwa miradi ya kiotomatiki ya nyumbani kwa kutumia bodi za ESP8266, nilitulia juu ya kuchanganya hali ya joto na hali ya mlango kwa jaribio langu la kwanza. Hatimaye mradi huu utajumuishwa na servos, sensorer za unyevu na vifaa vingine vya elektroniki kuwezesha nyumba ndogo ya kijani babu yangu iliyoundwa na kujengwa miaka 50 iliyopita. Sensorer ya joto itatumika kuamua ikiwa mfumo wa joto unapaswa kushirikishwa au kutenganishwa na vile vile kuashiria servos kufungua na kufunga mfumo wa upepo inapohitajika. Hali ya mfumo wa upepo itafuatiliwa na utumiaji wa swichi za mwanzi wa sumaku. Mwishowe, sensorer za unyevu zitatumika kugeuza mfumo wa kumwagilia.

Hatua ya 1: Kanusho

Kanusho la haraka kusema kwamba hatuchukui jukumu la chochote kinachotokea kama matokeo ya kufuata mafundisho haya. Daima ni bora kufuata maagizo ya wazalishaji na karatasi za usalama wakati wa kujenga kitu chochote kwa hivyo tafadhali wasiliana na hati hizo kwa sehemu yoyote na zana unazotumia kujenga yako mwenyewe. Tunatoa tu habari juu ya hatua tulizotumia kuunda zetu. Sisi sio wataalamu. Kwa kweli, 2 kati ya 3 ya watu walioshiriki katika ujenzi huu ni watoto.

Hatua ya 2: Sanidi Akaunti ya IFTTT ya Bure

Sanidi Akaunti ya IFTTT ya Bure
Sanidi Akaunti ya IFTTT ya Bure

Ikiwa huna moja tayari, sasa ni wakati wa kuanzisha akaunti ya bure ya IFTTT kwa kwenda kwenye ukurasa wao wa nyumbani.. IFTTT inasimama kama hii basi hiyo na ni jukwaa la bure ambalo hukuruhusu unganisha huduma za mtandao kwa njia mpya za kukuwezesha kupata huduma hizo kwa njia mpya. Kwa mradi huu tutatumia IFTTT kuruhusu ESP8266 kuingiza hali ya mlango kupitia swichi ya mwanzi na joto na unyevu kupitia sensorer ya DHT11 kwenye hati ya Google Sheets.

Hatua ya 3: Unda Applet IFTTT

Unda Applet ya IFTTT
Unda Applet ya IFTTT

Wakati ungali katika IFTTT, endelea kwenye sehemu ya "My Applets" na uunda applet mpya kwa kubofya kitufe cha "Applet Mpya".

Hatua ya 4: Sanidi Sehemu ya "hii" ya Applet Yako

Sanidi faili ya
Sanidi faili ya

Bonyeza neno "hili" ambalo lina rangi ya hudhurungi - kama ilivyoonyeshwa kwenye takwimu hapo juu.

Hatua ya 5: Ongeza Huduma ya WebHooks kwenye Applet yako

Ongeza Huduma ya WebHooks kwenye Applet yako
Ongeza Huduma ya WebHooks kwenye Applet yako

Katika upau wa utaftaji, tafuta huduma ya "Webhooks" na uchague ikoni ya Webhooks.

Mara tu unapopata huduma ya "Webhooks", bonyeza juu yake.

Hatua ya 6: Sanidi Pokea Kichocheo cha Ombi la Wavuti

Sanidi Pokea Kichocheo cha Ombi la Wavuti
Sanidi Pokea Kichocheo cha Ombi la Wavuti

Chagua kichocheo cha "Pokea ombi la wavuti".

Hatua ya 7: Toa Jina la Tukio

Toa Jina la Tukio
Toa Jina la Tukio

Katika kisanduku cha maandishi toa applet yako mpya jina la tukio. Nilichagua "Logger Data" lakini unaweza kuchagua chochote unachopenda.

Hatua ya 8: Sanidi Sehemu ya "hiyo" ya Applet yako

Sanidi faili ya
Sanidi faili ya

Bonyeza kwenye neno "hilo" ambalo lina rangi ya hudhurungi - kama ilivyoonyeshwa kwenye takwimu hapo juu.

Hatua ya 9: Sanidi Huduma ya Vitendo

Sanidi Huduma ya Vitendo
Sanidi Huduma ya Vitendo

Katika kisanduku cha utaftaji, tafuta huduma ya "Google Majedwali ya Google", na ubonyeze ikoni ya Majedwali ya Google.

Hatua ya 10: Unganisha kwenye Majedwali ya Google

Unganisha kwenye Majedwali ya Google
Unganisha kwenye Majedwali ya Google

Ikiwa haujafanya hivyo tayari, hautahitaji kuunganisha akaunti yako ya IFTTT kwenye Majedwali ya Google. Bonyeza kitufe cha Unganisha kilichoonyeshwa hapo juu na ufuate maagizo kwenye skrini.

Hatua ya 11: Chagua Kitendo

Chagua Kitendo
Chagua Kitendo

Bonyeza "Ongeza Mstari kwa Lahajedwali".

Hatua ya 12: Sanidi Kitendo

Sanidi Kitendo
Sanidi Kitendo

Toa jina katika sanduku la maandishi la "jina la lahajedwali". Ninachagua kutumia "Data_Logger" kwa uthabiti. Acha mipangilio yote peke yake (unaweza kujaribu na mipangilio hiyo wakati mwingine) na bonyeza kitufe cha "Unda Kitendo" chini ya skrini.

Hatua ya 13: Pitia na Maliza Applet yako

Pitia na Maliza Applet yako
Pitia na Maliza Applet yako

Mara baada ya kuridhika na usanidi wako wa applet bonyeza kitufe cha "Maliza".

Hatua ya 14: Pata Habari ya Usanidi Inayohitajika Baadaye

Pata Habari ya Usanidi Inayohitajika Baadaye
Pata Habari ya Usanidi Inayohitajika Baadaye

Bonyeza kwenye "Webhooks" kama ilivyoonyeshwa hapo juu.

Hatua ya 15: Endelea kwa Hati za Wavuti za Kitufe cha API

Endelea kwa Hati za Wavuti za Kitufe cha API
Endelea kwa Hati za Wavuti za Kitufe cha API

Inaweza kuonekana kuwa ya kushangaza lakini bonyeza kitufe cha Hati juu kulia ili kuendelea na ukurasa na Ufunguo wako wa kipekee wa API.

Hatua ya 16: Hifadhi Kitufe cha API

Hifadhi Kitufe cha API
Hifadhi Kitufe cha API
Hifadhi Kitufe cha API
Hifadhi Kitufe cha API

Mstari wa kwanza wa skrini ya Nyaraka unaonyesha Ufunguo wako wa kipekee wa API. Nakili na Hifadhi ufunguo huu kwa matumizi baadaye.

Pia ni wazo nzuri kupima applet hapa. Kumbuka kubadilisha {event} kuwa Data_Logger au chochote ulichokipa jina la tukio lako na uongeze data kwenye nambari 3 tupu kisha bonyeza kitufe cha "Jaribu" chini ya ukurasa. Unapaswa kuona ujumbe wa kijani ukisema "Tukio limesababishwa". Ikiwa ndivyo, endelea kwa Hati za Google na uthibitishe kuwa data uliyoingiza kwenye ukurasa wa jaribio ilionyeshwa kwenye hati ya Majedwali ya Google.

Hatua ya 17: Kusanya Vipengele

Kukusanya Vipengele
Kukusanya Vipengele
Kukusanya Vipengele
Kukusanya Vipengele
Kukusanya Vipengele
Kukusanya Vipengele

Utahitaji tu sehemu chache.

1) ESP8266 Bodi ya Maendeleo ya NodeMcu

2) DHT11 Joto / sensorer ya unyevu

3) Kubadili Mlango / Dirisha

4) 10k Mpingaji wa Ohm

5) Waya wa Kuunganisha

Hatua ya 18: Unganisha Vipengele

1) Unganisha moja ya pini ya 3v3 kwenye ESP8266 hadi pini ya vcc kwenye DHT11.

2) Unganisha moja ya pini za ardhini kwenye ESP8266 hadi pini ya ardhini kwenye DHT11.

3) Unganisha pini D4 (aka pin 2 katika IDE) kwenye ESP8266 hadi pini ya data kwenye DHT11.

4) Unganisha pini nyingine 3v3 kwenye ESP8266 kwa upande mmoja wa ubadilishaji wa mwanzi / dirisha.

5) Unganisha pini D5 (aka pin 14 katika IDE) kwenye ESP8266 hadi upande wa pili wa mlango / ubadilishaji wa mwanzi wa windows na pia unganisha kwa upande mmoja wa 10k ohm resistor.

6) Unganisha upande mwingine wa kontena la 10k ohm kwenye pini nyingine ya ardhini kwenye ESP8266.

Kwa chaguzi za pini za ESP8266 tafadhali rejelea mchoro huu unaofaa au video inayosaidia sana.

Hatua ya 19: Andika Nambari ya Arduino

Andika Nambari ya Arduino
Andika Nambari ya Arduino

Nakili na ubandike nambari hapa chini kwenye IDE yako ya Arduino.

# pamoja na # pamoja # # pamoja na "DHT.h"

#fafanua DHTPIN 2 // kile pini ya dijiti tumeunganishwa nayo

#fafanua MLANGO WA 14 14 // kipi cha dijiti kitufe cha mlango kimewashwa.

#fafanua DHTTYPE DHT11 // DHT 11

DHT dht (DHTPIN, DHTTYPE);

hesabu = 1;

const char * ssid = "some_ssid"; // badilisha hii kutumia ssid const char * password = "some_password" yako; // badilisha hii kutumia nywila yako int sleepTime = 100;

// Mtengenezaji wa Wavuti IFTTT

const char * server = "maker.ifttt.com";

// Rasilimali ya URL ya IFTTT

const char * rasilimali = "/ trigger / SOME_SERVICE_NAME / na / ufunguo / SOME_API_KEY"; // Hakikisha unatumia jina lako la huduma na ufunguo wako wa api.

Mlango wa kambaStatus = "Imefungwa";

hali ya bool teteChanged = uongo;

// Ikiwa umelala kwa masaa kisha weka muda kwa hr * dakika 60 * sekunde 60 * millisecond 1000

muda mrefu wa const = 1.0 * 60 * 60 * 1000; // saa 1 isiyosainiwa kwa muda mrefu uliopitaMillis = 0 - (2 * muda);

usanidi batili () {

Serial. Kuanza (115200); ambatishaKukatiza (digitalPinToInterrupt (DOORPIN), tukioTriggered, CHANGE); pinMode (DOORPIN, INPUT); // Sensor ya mlango dht. Anza (); WiFi.anza (ssid, nywila);

Printa ya serial ("\ nInaunganisha..");

wakati (WiFi.status ()! = WL_CONNECTED) {kuchelewesha (1000); Printa ya serial ("."); } Serial.print ("\ n"); }

hafla ya tukioIliyosababishwa () {

stateChanged = kweli; Serial.println ("Kuangalia mlango!"); ikiwa (digitalRead (DOORPIN) == JUU) // Angalia ikiwa mlango uko wazi {Serial.println ("Mlango umefungwa!"); mlangoStatus = "Imefungwa"; } mwingine {Serial.println ("Mlango uko wazi!"); mlangoStatus = "Imefunguliwa"; }}

Hali batili ya kuangalia () {

ikiwa (WiFi.status () == WL_CONNECTED) {// Angalia hali ya unganisho la WiFi // Joto la kusoma au unyevu huchukua takriban milliseconds 250! Kusoma kwa sensorer pia kunaweza kuwa hadi sekunde 2 'zamani' (ni sensorer polepole sana) kuelea h = dht.readHumidity (); // Soma joto kama Celsius (chaguo-msingi) kuelea t = dht.readTemperature (); // Soma joto kama Fahrenheit (isFahrenheit = kweli) kuelea f = dht.readTemperature (kweli); // Angalia ikiwa usomaji wowote umeshindwa na utoke mapema (kujaribu tena). ikiwa (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Imeshindwa kusoma kutoka kwa sensorer ya DHT!"); //Serial.print ("."); // Imeshindwa kusoma kutoka kwa sensorer ya DHT! kurudi; } // Fanya hesabu ya joto katika Fahrenheit (chaguo-msingi) kuelea hif = dht.computeHeatIndex (f, h); // Fanya faharisi ya joto katika Celsius (isFahreheit = uongo) kuelea hic = dht.computeHeatIndex (t, h, uwongo);

Serial.print ("\ n");

Serial.print ("Joto:"); Printa ya serial (f); Printa ya serial ("* F ("); Serial.print (t); Serial.print ("* C)"); Serial.print ("\ t"); Serial.print ("Kiashiria cha joto:"); Printa ya serial (hif); Serial.print ("* F ("); Serial.print (hic); Serial.print ("* C)%"); Serial.print ("\ t"); Serial.print ("Unyevu:"); Serial.println (h);

ikiwa (digitalRead (DOORPIN) == JUU) // Angalia ikiwa mlango uko wazi

{Serial.println ("Mlango umefungwa!"); mlangoStatus = "Imefungwa"; } mwingine {Serial.println ("Mlango uko wazi!"); mlangoStatus = "Imefunguliwa"; } Kamba jsonObject = Kamba ("{" value1 / ": \" ") + f +" * F ("+ t +" * C) / "+ hif +" * F ("+ hic +" * C) "+" / ", \" thamani2 / ": \" "+ h +" / ", \" value3 / ": \" "+Status ya mlango +" / "}"; Mteja wa HTTP http; Kamba kamiliUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; kuanza. (kamiliUrl); // http. kuanza (seva); http.addHeader ("Aina ya Maudhui", "programu / json"); POST (jsonObject); andikaToStream (& Serial); http.end (); // Funga unganisho

stateChanged = uongo;

int sleepTimeInMinutes = muda / 1000/60; Serial.print ("\ n / nNenda kulala kwa"); Printa ya serial (sleepTimeInMinutes); Serial.println ("dakika (s)…"); }}

kitanzi batili () {

unsigned long longMillis = millis (); kuchelewesha (4000); // Ikiwa tumepita wakati uliyopita basi shurutisha hundi ya mlango na temp. ikiwa (currentMillis - previousMillis> = interval) {stateChanged = true; previousMillis = currentMillis; Printa ya serial (hesabu ++); Serial.println (") Kuangalia kwa sababu ya muda uliopita!"); } vingine ikiwa (stateChanged) {Serial.print (hesabu ++); Serial.println (") Kuangalia kwa sababu ya mabadiliko ya serikali!"); }

// Ikiwa hali imebadilika kisha angalia mlango na temp.

ikiwa (stateChanged) {checkStatus (); }

kuchelewesha (Wakati wa kulala);

}

Hatua ya 20: Matokeo

Matokeo
Matokeo

Mara tu unapopakia nambari ya chanzo katika hatua ya awali unapaswa kuwa na matokeo kama mfano ulioonyeshwa hapo juu.

Hatua ya 21: Mikopo

Nimepata vidokezo na vidokezo vingi kutoka kwa Random Nerd Tutorials na ningependa kuwashukuru kwa msaada wao wote. Hasa mafunzo yao bora kwenye ESP32 ESP8266 Chapisha Usomaji wa Sensorer kwa Majedwali ya Google ambayo sehemu kuu za Agizo hili zinategemea.

Kwa kuongezea, DHT11 inayoweza kufundishwa kutoka TheCircuit ilinisaidia kuelewa jinsi ya kutumia hii sensorer ya bei rahisi sana lakini ya kupendeza.

Kwa kuongezea, kuna mafunzo mengi yanayoshughulika na ufuatiliaji wa milango yako kama Monitor ya Mlango wa Garage na nyingine kutoka kwa Mafunzo ya Random Nerd. Nilitumia vipande na vipande vya hizi kunisaidia kuelewa jinsi ya kufanya swichi yangu ya mwanzi ifanye kazi vizuri.

Mwishowe, na habari hii pamoja na maelezo mengine niliyoyapata karibu na mtandao niliweza kuunda mfumo uliokidhi mahitaji yangu. Natumahi kupata hii inayoweza kufundishwa na kujenga moja yako mwenyewe.

Ilipendekeza: