Përmbajtje:
- Hapi 1: Mohimi i përgjegjësisë
- Hapi 2: Vendosni Llogarinë Falas IFTTT
- Hapi 3: Krijoni një Aplet IFTTT
- Hapi 4: Konfiguroni pjesën "kjo" të Apletit tuaj
- Hapi 5: Shtoni Shërbimin WebHooks në Apletin tuaj
- Hapi 6: Konfiguroni Shkasin e Marrjes së Kërkesës në Ueb
- Hapi 7: Siguroni një emër ngjarjeje
- Hapi 8: Konfiguroni pjesën "that" të Apletit tuaj
- Hapi 9: Vendosni një Shërbim Veprimi
- Hapi 10: Lidhu me Google Sheets
- Hapi 11: Zgjidhni një veprim
- Hapi 12: Konfiguroni Veprimin
- Hapi 13: Rishikoni dhe Përfundoni Apletin tuaj
- Hapi 14: Merrni informacionin e konfigurimit të nevojshëm më vonë
- Hapi 15: Vazhdoni te Dokumentacioni Webhooks për Çelësin API
- Hapi 16: Ruani çelësin API
- Hapi 17: Mblidhni Komponentët
- Hapi 18: Mblidhni Komponentët
- Hapi 19: Shkruani Kodin Arduino
- Hapi 20: Rezultatet
- Hapi 21: Kredite
Video: Projekti i regjistruesit të statusit të derës dhe temperaturës: 21 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Ky udhëzues do t'ju tregojë se si të bëni një regjistrues të thjeshtë të statusit të derës dhe temperaturës për nën 10,00 dollarë duke përdorur një ESP8266 NodeMCU, një sensor të temperaturës dhe lagështisë DHT11, një çelës kallami derë/dritare, një rezistencë 10K ohm dhe një tel lidhës.
Zanafilla e këtij projekti erdhi nga dëshira ime për të bërë më shumë automatizim në shtëpi me bordin Arduino, Meqenëse kisha lexuar shumë për EPS8266 NodeMCU të pajtueshëm me Arduino, vendosa që ky bord do të ishte bordi i përsosur me kosto të ulët për të bërë disa eksperimente. Pasi kërkova në internet për projekte të automatizimit të shtëpisë duke përdorur bordet ESP8266, u vendosa të kombinoja një regjistrues të temperaturës dhe statusit të derës për përpjekjen time të parë. Përfundimisht ky projekt do të kombinohet me servos, sensorë lagështie dhe pajisje të tjera elektronike për të automatizuar një shtëpi të vogël të gjelbër që gjyshi im projektoi dhe ndërtoi 50 vjet më parë. Sensori i temperaturës do të përdoret për të përcaktuar nëse sistemi i ngrohjes duhet të jetë i kyçur ose i shkyçur, si dhe të sinjalizojë servos që të hapin dhe mbyllin sistemin e ventilimit kur është e nevojshme. Gjendja e sistemit të ventilimit do të monitorohet nga përdorimi i çelsave të kallamit magnetik. Së fundi, sensorët e lagështisë do të përdoren për të automatizuar një sistem lotimi.
Hapi 1: Mohimi i përgjegjësisë
Vetëm një mohim i shpejtë për të deklaruar se ne nuk marrim përgjegjësi për asgjë që ndodh si rezultat i ndjekjes së këtij udhëzimi. Alwaysshtë gjithmonë më mirë të ndiqni udhëzimet e prodhuesve dhe fletët e sigurisë kur ndërtoni ndonjë gjë, kështu që ju lutemi konsultohuni me ato dokumente për cilindo nga pjesët dhe mjetet që përdorni për të ndërtuar tuajin. Ne thjesht po japim informacion mbi hapat që kemi përdorur për të krijuar tonën. Ne nuk jemi profesionistë. Në fakt, 2 nga 3 nga individët që morën pjesë në këtë ndërtim janë fëmijë.
Hapi 2: Vendosni Llogarinë Falas IFTTT
Nëse nuk e keni tashmë, tani është koha për të krijuar një llogari falas IFTTT duke shkuar në faqen e tyre kryesore. IFTTT qëndron për If This Then That dhe është një platformë falas që ju lejon të lidhni shërbimet e bazuara në internet në mënyra të reja ju mundësojnë të shfrytëzoni ato shërbime në mënyra të reja. Për këtë projekt ne do të përdorim IFTTT për të lejuar që një ESP8266 të regjistrojë statusin e një dere përmes një çelësi kallami dhe temperatura dhe lagështia përmes sensorit DHT11 në një dokument të Google Sheets.
Hapi 3: Krijoni një Aplet IFTTT
Ndërsa jeni akoma në IFTTT, vazhdoni në seksionin "Apletet e mia" dhe krijoni një aplet të ri duke klikuar butonin "Apleti i ri".
Hapi 4: Konfiguroni pjesën "kjo" të Apletit tuaj
Klikoni në fjalën "kjo" që është në një ngjyrë blu - siç theksohet në figurën e mësipërme.
Hapi 5: Shtoni Shërbimin WebHooks në Apletin tuaj
Në shiritin e kërkimit, kërkoni shërbimin "Webhooks" dhe zgjidhni ikonën Webhooks.
Pasi të gjeni shërbimin "Webhooks", klikoni mbi të.
Hapi 6: Konfiguroni Shkasin e Marrjes së Kërkesës në Ueb
Zgjidhni shkaktarin "Merrni një kërkesë në internet".
Hapi 7: Siguroni një emër ngjarjeje
Në kutinë e tekstit jepni apletin tuaj të ri me një emër ngjarjeje. Zgjodha "Data Logger", por ju mund të zgjidhni çfarë të doni.
Hapi 8: Konfiguroni pjesën "that" të Apletit tuaj
Klikoni në fjalën "ajo" që është në një ngjyrë blu - siç theksohet në figurën e mësipërme.
Hapi 9: Vendosni një Shërbim Veprimi
Në kutinë e kërkimit, kërkoni shërbimin "Google Sheets" dhe klikoni ikonën e Google Sheets.
Hapi 10: Lidhu me Google Sheets
Nëse nuk e keni bërë tashmë këtë, nuk do të keni nevojë të lidhni llogarinë tuaj IFTTT me Google Sheets. Shtypni butonin Lidhu të treguar më sipër dhe ndiqni udhëzimet në ekran.
Hapi 11: Zgjidhni një veprim
Klikoni në "Shto rresht në fletëllogaritëse".
Hapi 12: Konfiguroni Veprimin
Jepni një emër në kutinë e tekstit "Emri i tabelave". Unë zgjedh të përdor "Data_Logger" për qëndrueshmëri. Lëreni pjesën tjetër të cilësimit vetëm (mund të eksperimentoni me ato cilësime në një kohë tjetër) dhe më pas shtypni butonin "Krijo veprim" në fund të ekranit.
Hapi 13: Rishikoni dhe Përfundoni Apletin tuaj
Pasi të jeni të kënaqur me konfigurimin e apletit tuaj, shtypni butonin "Finish".
Hapi 14: Merrni informacionin e konfigurimit të nevojshëm më vonë
Klikoni në "Webhooks" siç u theksua më lart.
Hapi 15: Vazhdoni te Dokumentacioni Webhooks për Çelësin API
Mund të duket e çuditshme, por klikoni në lidhjen e Dokumentacionit në të djathtën e sipërme për të vazhduar në faqe me Çelësin tuaj unik API.
Hapi 16: Ruani çelësin API
Linja e parë e ekranit të Dokumentacionit shfaq Çelësin tuaj unik API. Kopjoni dhe ruani këtë çelës për përdorim më vonë.
Alsoshtë gjithashtu një ide e mirë për të testuar apletin këtu. Mos harroni të ndryshoni {ngjarjen} në Data_Logger ose çfarëdo që e keni quajtur ngjarjen tuaj dhe shtoni disa të dhëna në 3 vlerat boshe, pastaj klikoni butonin "Testoje atë" në fund të faqes. Ju duhet të shihni një mesazh të gjelbër që thotë "Ngjarja është shkaktuar". Nëse është kështu, vazhdoni te Google Docs dhe konfirmoni që të dhënat që keni futur në faqen e provës të shfaqen në dokumentin e Google Sheets.
Hapi 17: Mblidhni Komponentët
Do t'ju duhen vetëm disa pjesë.
1) Bordi i Zhvillimit ESP8266 NodeMcu
2) Sensori i temperaturës/lagështisë DHT11
3) Çelësi i kallamit të derës/dritares
4) Rezistencë 10k Ohm
5) Tela lidhëse
Hapi 18: Mblidhni Komponentët
1) Lidhni një nga kunjat 3v3 në ESP8266 me kunjin vcc në DHT11.
2) Lidhni një nga kunjat e tokëzimit në ESP8266 me kunjin e tokëzimit në DHT11.
3) Lidhni pinin D4 (a.k.a. pin 2 në IDE) në ESP8266 me pinin e të dhënave në DHT11.
4) Lidhni një kunj tjetër 3v3 në ESP8266 në njërën anë të çelësit të kallamit të derës/dritares.
5) Lidhni pinin D5 (a.k.a. pin 14 në IDE) në ESP8266 në anën tjetër të ndërprerësit të kallamit të derës/dritares dhe gjithashtu lidheni atë në njërën anë të rezistencës 10k ohm.
6) Lidhni anën tjetër të rezistencës 10khm me një kunj tjetër tokëzimi në ESP8266.
Për përzgjedhjet e kunjave ESP8266, referojuni këtij diagrami të dobishëm ose videos shumë të dobishme.
Hapi 19: Shkruani Kodin Arduino
Kopjoni dhe ngjisni kodin më poshtë në ID tuaj Arduino.
#përfshi #përfshi #përfshi "DHT.h"
#define DHTPIN 2 // me cilën pin dixhital jemi lidhur
#define DOORPIN 14 // në cilën pin dixhital është kyçi i derës.
#përcaktoni DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
int numërimi = 1;
const char* ssid = "some_ssid"; // ndryshoni këtë për të përdorur ssid const char* fjalëkalimin tuaj = "some_password"; // ndryshoni këtë për të përdorur fjalëkalimin tuaj int sleepTime = 100;
// Maker Webhooks IFTTT
const char* server = "maker.ifttt.com";
// Burimi i URL -së IFTTT
const char* burim = "/trigger/SOME_SERVICE_NAME/me/kyç/SOME_API_KEY"; // Sigurohuni që të përdorni emrin e shërbimit tuaj dhe çelësin tuaj api.
String doorStatus = "Mbyllur";
gjendje e paqëndrueshme e boolChanged = false;
// Nëse flini për orë të tëra, atëherë caktoni intervalin me orë * 60 minuta * 60 sekonda * 1000 milisekonda
inter interval i gjatë = 1.0 * 60 * 60 * 1000; // 1 orë e panënshkruar gjatë e mëparshmeMillis = 0 - (2 * interval);
void setup () {
Serial.fillo (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DORORPIN, HYRJE); // Sensori i dyerve dht.filloj (); WiFi.filloni (ssid, fjalëkalim);
Serial.print ("\ nLidhja..");
ndërsa (WiFi.status ()! = WL_CONNECTED) {vonesë (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = e vërtetë; Serial.println ("Duke kontrolluar derën!"); nëse (digitalRead (DERIZA) == LART) // Kontrolloni për të parë nëse dera është e hapur {Serial.println ("Dera është e mbyllur!"); doorStatus = "Mbyllur"; } else {Serial.println ("Dera është e hapur!"); doorStatus = "U hap"; }}
void checkStatus () {
nëse (WiFi.status () == WL_CONNECTED) {// Kontrolloni statusin e lidhjes WiFi // Temperatura ose lagështia e leximit zgjat rreth 250 milisekonda! // Leximet e sensorit gjithashtu mund të jenë të vjetra deri në 2 sekonda (është një sensor shumë i ngadalshëm) noton h = dht.readHumidity (); // Lexoni temperaturën si Celsius (parazgjedhja) noton t = dht.readTemperature (); // Lexoni temperaturën si Fahrenheit (isFahrenheit = e vërtetë) notoni f = dht.readTemperatura (e vërtetë); // Kontrolloni nëse ndonjë lexim dështoi dhe dilni herët (për të provuar përsëri). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Leximi nuk u lexua nga sensori DHT!"); //Serial.print ("."); // Dështoi të lexohet nga sensori DHT! kthim; } // Llogarit indeksin e nxehtësisë në Fahrenheit (parazgjedhja) noton hif = dht.computeHeatIndex (f, h); // Llogarit indeksin e nxehtësisë në Celsius (isFahreheit = false) noton hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("Temperatura:"); Serial.print (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("Indeksi i nxehtësisë:"); Serial.print (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("Lagështia:"); Serial.println (h);
nëse (digitalRead (DERIZA) == LART) // Kontrolloni për të parë nëse dera është e hapur
{Serial.println ("Dera është e mbyllur!"); doorStatus = "Mbyllur"; } else {Serial.println ("Dera është e hapur!"); doorStatus = "U hap"; } String jsonObject = String ("{" vlera1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" vlera2 / ": \" " + h +" / ", \" vlera3 / ": \" " + doorStatus +" / "}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (plotëUrl); // http.begin (server); http.addHeader ("Lloji i përmbajtjes", "aplikacioni/json"); http. POST (jsonObject); http.writeToStream (& Serial); http.end (); // Mbyll lidhjen
stateChanged = false;
int sleepTimeInMinutes = intervali / 1000 /60; Serial.print ("\ n / nShko për të fjetur"); Serial.print (sleepTimeInMinutes); Serial.println ("minuta (s) …"); }}
lak void () {
rrymë e gjatë e panënshkruarMillis = millis (); vonesë (4000); // Nëse e tejkalojmë kohën e kaluar atëherë detyroni një kontroll të derës dhe temperaturës. if (currentMillis - previousMillis> = interval) {stateChanged = true; previousMillis = aktualMillis; Serial.print (numër ++); Serial.println (") Kontroll për shkak të kohës së kaluar!"); } tjetër nëse (gjendje e ndryshuar) {Serial.print (numër ++); Serial.println (") Kontroll për shkak të ndryshimit të gjendjes!"); }
// Nëse gjendja ndryshon, atëherë kontrolloni derën dhe temperaturën.
if (stateChanged) {checkStatus (); }
vonesa (Koha e gjumit);
}
Hapi 20: Rezultatet
Pasi të keni ngarkuar kodin burimor në hapin e mëparshëm, duhet të keni rezultate si shembulli i treguar më sipër.
Hapi 21: Kredite
Kam gjetur shumë sugjerime dhe këshilla të dobishme nga Tutorials Random Nerd dhe do të doja t'i falënderoja për të gjithë ndihmën e tyre. Veçanërisht mësimi i tyre i shkëlqyeshëm në ESP32 ESP8266 Publikoni leximet e sensorëve në fletët e Google në të cilat bazohen pjesët kryesore të këtij udhëzuesi.
Për më tepër, DHT11 Instructable nga TheCircuit më ndihmoi të kuptoj se si ta përdor këtë sensor të vogël shumë të lirë, por interesant.
Për më tepër, ka shumë mësime që merren me monitorimin e dyerve tuaja si Garage Door Monitor dhe një tjetër nga Random Nerd Tutorials. Kam përdorur copa dhe pjesë të këtyre për të më ndihmuar të kuptoj se si ta bëj çelësin tim të kallamit të funksionojë siç duhet.
Më në fund, me këtë informacion, si dhe detaje të tjera që gjeta në internet, unë isha në gjendje të krijoja një sistem që plotësonte nevojat e mia. Shpresoj se do ta gjeni të dobishëm këtë Instructable dhe do të krijoni një nga tuajat.
Recommended:
Hack i lehtë i statusit të derës së garazhit: 3 hapa
Hack i lehtë i statusit të derës së garazhit: Unë jetoj në një shtëpi ku nuk është e lehtë të shihet nëse dera e garazhit është e hapur apo e mbyllur. Ne kemi një buton në shtëpi, por dera nuk është në sy. Mendimi për inxhinierimin e një lloj ndërprerësi dhe furnizimi me energji ishte i padëshirueshëm për shkak të primit të lartë
Ktheni zilen e derës me tela në një zile të mençur të derës me IFTTT: 8 hapa
Ktheni zilen tuaj me tela në një zile të dyerve të zgjuara me IFTTT: Zilja e derës WiFi kthen zilen tuaj ekzistuese me tela në një zile të zgjuar. https://www.fireflyelectronix.com/product/wifidoor
Ktheni zilen e derës me tela në një zile të mençur të derës me ndihmësin e shtëpisë: 6 hapa
Ktheni zilen tuaj me tela në një zile të derës së zgjuar me ndihmësin e shtëpisë: Ktheni zilen tuaj ekzistuese me tela në një zile të zgjuar. Merrni një njoftim në telefonin tuaj ose bashkohuni me kamerën tuaj ekzistuese të derës së përparme për të marrë një paralajmërim fotografie ose video në çdo kohë që dikush ju bie ziles së derës. Mësoni më shumë në: fireflyelectronix.com/pro
Dritat automatike të lidhura me monitorimin e derës dhe derës .: 5 hapa
Dritat automatike të lidhura me monitorimin e derës dhe derës .: Duket se është shumë e vështirë të gjesh bordin e kalimit në errësirë, por ky projekt është vërtet i dobishëm për të zgjidhur këtë problem. Ndiqni hapat e mëposhtëm për të ditur zgjidhjen e kësaj
Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)
Shfaqja e Temperaturës dhe Lagështisë dhe Mbledhja e të Dhënave Me Arduino dhe Përpunimi: Hyrje: Ky është një Projekt që përdor një bord Arduino, një Sensor (DHT11), një kompjuter Windows dhe një Përpunim (një program pa shkarkim falas) për të shfaqur të dhënat e Temperaturës, Lagështisë në dixhital dhe forma e grafikut të shiritit, shfaqja e kohës dhe datës dhe ekzekutimi i kohës së numërimit