Mündəricat:
- Addım 1: İmtina
- Addım 2: Pulsuz IFTTT Hesabını qurun
- Addım 3: IFTTT Appleti yaradın
- Addım 4: Appletinizin "bu" hissəsini konfiqurasiya edin
- Addım 5: WebHooks Xidmətini Appletinizə əlavə edin
- Addım 6: Veb İstəyi Tetikleyicisini Alın
- Addım 7: Bir hadisə adı verin
- Adım 8: Appletinizin "o" hissəsini konfiqurasiya edin
- Addım 9: Fəaliyyət Xidməti qurun
- Addım 10: Google Cədvəllərə qoşulun
- Addım 11: Bir hərəkət seçin
- Addım 12: Fəaliyyəti qurun
- Addım 13: Appletinizi nəzərdən keçirin və tamamlayın
- Addım 14: Daha sonra lazım olan Konfiqurasiya məlumatlarını əldə edin
- Addım 15: API Açarı üçün Webhooks Sənədlərinə keçin
- Addım 16: API Açarını qeyd edin
- Addım 17: Komponentləri toplayın
- Addım 18: Komponentləri yığın
- Addım 19: Arduino Kodunu yazın
- Addım 20: Nəticələr
- Addım 21: Kreditlər
Video: Qapı və Temperatur Vəziyyəti Logger Layihəsi: 21 Adım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu Təlimat, ESP8266 NodeMCU, DHT11 temperatur və rütubət sensoru, qapı/pəncərə qamışı açarı, 10K ohm rezistor və bəzi bağlama teli istifadə edərək 10.00 dolların altında sadə bir qapı və temperatur statusu qeyd cihazının necə hazırlanacağını sizə göstərəcək.
Bu layihənin yaranması Arduino lövhəsi ilə daha çox ev avtomatlaşdırması etmək istəyimdən qaynaqlandı, çünki Arduino ilə uyğun olan EPS8266 NodeMCU haqqında çox oxuduğum üçün bu lövhənin bəzi təcrübələr aparmaq üçün mükəmməl aşağı qiymətli lövhə olacağına qərar verdim. ESP8266 lövhələrindən istifadə edərək ev avtomatlaşdırma layihələri üçün İnternetdə axtarış etdikdən sonra ilk cəhdim üçün bir temperatur və qapı statusu qeydini birləşdirməyə qərar verdim. Nəhayət, bu layihə, babamın 50 il əvvəl hazırladığı kiçik bir istixananı avtomatlaşdırmaq üçün servo, nəm sensoru və digər elektronika ilə birləşdiriləcək. İstilik sisteminin işə salınması və ya söndürülməsi lazım olduğunu təyin etmək və lazım olduqda havalandırma sistemini açmaq və bağlamaq üçün servolara siqnal vermək üçün temperatur sensoru istifadə ediləcək. Havalandırma sisteminin vəziyyəti maqnit qamış açarlarının istifadəsi ilə izləniləcəkdir. Nəhayət, nəm sensorlar bir suvarma sistemini avtomatlaşdırmaq üçün istifadə ediləcək.
Addım 1: İmtina
Bu təlimatı izləmək nəticəsində baş verən hər hansı bir hadisəyə görə heç bir məsuliyyət daşımadığımızı bildirmək üçün tez bir şəkildə imtina etməliyik. Bir şey tikərkən istehsalçıların təlimatlarına və təhlükəsizlik vərəqələrinə riayət etmək həmişə ən yaxşısıdır. Sadəcə, özümüzü yaratmaq üçün istifadə etdiyimiz addımlar haqqında məlumat veririk. Biz peşəkar deyilik. Əslində bu quruluşa qatılan hər 3 nəfərdən 2 -si uşaqdır.
Addım 2: Pulsuz IFTTT Hesabını qurun
Hələ biriniz yoxdursa, indi ana səhifələrinə gedərək pulsuz bir IFTTT hesabı qurmağın vaxtıdır.. IFTTT, Əgər Bu Odursa deməkdir və İnternetə əsaslanan xidmətləri yeni yollarla bağlamağa imkan verən pulsuz bir platformadır. bu xidmətlərdən yeni yollarla istifadə etməyə imkan verir. Bu layihə üçün, bir ESP8266 -nın Google Sheets sənədindəki DHT11 sensoru vasitəsi ilə qapının vəziyyətini qamış açarı və temperatur və rütubət vasitəsi ilə qeyd etməsinə icazə vermək üçün IFTTT istifadə edəcəyik.
Addım 3: IFTTT Appleti yaradın
Hələ IFTTT -də olarkən "Mənim Appletlərim" bölməsinə keçin və "New Applet" düyməsini basaraq yeni bir applet yaradın.
Addım 4: Appletinizin "bu" hissəsini konfiqurasiya edin
Yuxarıdakı şəkildə göstərildiyi kimi mavi rəngdə olan "bu" sözünü vurun.
Addım 5: WebHooks Xidmətini Appletinizə əlavə edin
Axtarış çubuğunda "Webhooks" xidmətini axtarın və Webhooks simgesini seçin.
"Webhooks" xidmətini tapdıqdan sonra üzərinə vurun.
Addım 6: Veb İstəyi Tetikleyicisini Alın
"Veb sorğusu al" tetikleyicisini seçin.
Addım 7: Bir hadisə adı verin
Mətn qutusuna bir hadisə adı ilə yeni tətbiqetməni daxil edin. "Data Logger" i seçdim, amma istədiyinizi seçə bilərsiniz.
Adım 8: Appletinizin "o" hissəsini konfiqurasiya edin
Yuxarıdakı şəkildə göstərildiyi kimi mavi rəngdə olan "o" sözünə vurun.
Addım 9: Fəaliyyət Xidməti qurun
Axtarış qutusunda "Google Cədvəllər" xidmətini axtarın və Google Cədvəllər simgesini basın.
Addım 10: Google Cədvəllərə qoşulun
Əgər bunu hələ etməmisinizsə, IFTTT hesabınızı Google Cədvəllərə bağlamalısınız. Yuxarıda göstərilən Bağlan düyməsini basın və ekrandakı təlimatları izləyin.
Addım 11: Bir hərəkət seçin
"Cədvələ Satır Əlavə et" düyməsini basın.
Addım 12: Fəaliyyəti qurun
"Elektron tablo adı" mətn qutusuna bir ad daxil edin. Ardıcıllıq üçün "Data_Logger" istifadə etməyi seçirəm. Ayarın qalan hissəsini tək buraxın (başqa vaxt bu parametrlərlə təcrübə edə bilərsiniz) və sonra ekranın altındakı "Fəaliyyət Yarat" düyməsini basın.
Addım 13: Appletinizi nəzərdən keçirin və tamamlayın
Applet konfiqurasiyasından razı qaldıqdan sonra "Finish" düyməsini basın.
Addım 14: Daha sonra lazım olan Konfiqurasiya məlumatlarını əldə edin
Yuxarıda göstərildiyi kimi "Webhooks" düyməsini basın.
Addım 15: API Açarı üçün Webhooks Sənədlərinə keçin
Qəribə görünə bilər, ancaq unikal API Açarınızla səhifəyə keçmək üçün yuxarı sağdakı Sənədlər bağlantısını vurun.
Addım 16: API Açarını qeyd edin
Sənədlər ekranının ilk sətri unikal API Açarınızı göstərir. Daha sonra istifadə etmək üçün bu açarı kopyalayın və saxlayın.
Appleti burada sınamaq da yaxşı bir fikirdir. {Event} -ni Data_Logger olaraq dəyişdirməyi və ya hadisənizi adlandırdığınız hər şeyi 3 boş dəyərə əlavə etməyi unutmayın, sonra səhifənin altındakı "Test et" düyməsini basın. "Hadisə tetiklendi" yazan yaşıl bir mesaj görməlisiniz. Əgər belədirsə, Google Sənədlərə keçin və test səhifəsinə daxil etdiyiniz məlumatların Google Cədvəl sənədində göründüyünü təsdiq edin.
Addım 17: Komponentləri toplayın
Yalnız bir neçə hissəyə ehtiyacınız olacaq.
1) ESP8266 NodeMcu İnkişaf Lövhəsi
2) DHT11 Temperatur/Rütubət Sensoru
3) Qapı/Pəncərə Reed Switch
4) 10k Ohm rezistor
5) Bağlama teli
Addım 18: Komponentləri yığın
1) ESP8266 üzərindəki 3v3 pindən birini DHT11 üzərindəki vcc pininə qoşun.
2) ESP8266 üzərindəki torpaq pinlərindən birini DHT11 üzərindəki topraklama pininə bağlayın.
3) ESP8266 üzərindəki D4 pinini (IDE -də 2 -ci pin) DHT11 -dəki məlumat pininə qoşun.
4) ESP8266 üzərindəki başqa bir 3v3 pimi qapının/pəncərə sazının açarının bir tərəfinə bağlayın.
5) ESP8266 üzərindəki D5 pinini (IDE -də a.1 pin) qapı/pəncərə çubuğu açarının digər tərəfinə bağlayın və 10k ohm müqavimətinin bir tərəfinə bağlayın.
6) 10k ohm müqavimətinin digər tərəfini ESP8266 -dakı başqa bir yerə bağlayın.
ESP8266 pin seçimləri üçün bu faydalı diaqrama və ya çox faydalı videoya baxın.
Addım 19: Arduino Kodunu yazın
Aşağıdakı kodu kopyalayın və Arduino IDE -yə yapışdırın.
#əlavə edin #əlavə edin "DHT.h" daxil edin
#dehine DHTPIN 2 // bağlı olduğumuz rəqəmsal pin
#deorine DOORPIN 14 // qapı açarının hansı rəqəmsal pin olduğunu.
#DHTTYPE DHT11 // DHT 11 təyin edin
DHT dht (DHTPIN, DHTTYPE);
int sayı = 1;
const char* ssid = "some_ssid"; // ssid const char* password = "some_password" istifadə etmək üçün bunu dəyişdirin; // parolunuzu istifadə etmək üçün bunu dəyişdirin int sleepTime = 100;
// İstehsalçı Webhooks IFTTT
const char* server = "maker.ifttt.com";
// IFTTT URL mənbəyi
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; // Xidmət adınızı və api açarınızı istifadə etdiyinizə əmin olun.
String doorStatus = "Bağlandı";
uçucu bool stateChanged = false;
// Saatlarla yatırsınızsa, aralığınızı saat * 60 dəqiqə * 60 saniyə * 1000 milisaniyə ilə təyin edin
const uzun interval = 1.0 * 60 * 60 * 1000; // 1 saat imzasız uzun əvvəlkiMillis = 0 - (2 * interval);
boş quraşdırma () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DOORPIN, GİRİŞ); // Qapı Sensoru dht.begin (); WiFi.begin (ssid, parol);
Serial.print ("\ nBağlanır..");
while (WiFi.status ()! = WL_CONNECTED) {gecikmə (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = doğru; Serial.println ("Qapının yoxlanılması!"); if (digitalRead (DOORPIN) == HIGH) // Qapının açıq olub olmadığını yoxlayın {Serial.println ("Qapı bağlıdır!"); doorStatus = "Bağlandı"; } başqa {Serial.println ("Qapı açıqdır!"); doorStatus = "Açıldı"; }}
void checkStatus () {
if (WiFi.status () == WL_CONNECTED) {// WiFi bağlantısının vəziyyətini yoxlayın // Oxuma temperaturu və ya rütubət təxminən 250 millisaniyə çəkir! // Sensor oxunuşları da 2 saniyəyə qədər ola bilər (çox yavaş bir sensordur) float h = dht.readHumidity (); // İstiliyi Celsius olaraq oxuyun (standart) float t = dht.readTemperature (); // İstiliyi Fahrenheit (isFahrenheit = true) float f = dht.readTemperature (doğru) olaraq oxuyun; // Oxunanların uğursuz olub olmadığını yoxlayın və erkən çıxın (yenidən cəhd etmək üçün). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT sensorundan oxunmadı!"); //Serial.print ("."); // DHT sensorundan oxumaq alınmadı! qayıtmaq; } // Fahrenheit -də istilik indeksini hesablayın (standart) float hif = dht.computeHeatIndex (f, h); // İstilik indeksini Selsi ilə hesablayın (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("Temperatur:"); Serial. çap (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("İstilik indeksi:"); Serial. çap (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("Rütubət:"); Serial.println (h);
if (digitalRead (DOORPIN) == HIGH) // Qapının açıq olub olmadığını yoxlayın
{Serial.println ("Qapı bağlıdır!"); doorStatus = "Bağlandı"; } başqa {Serial.println ("Qapı açıqdır!"); doorStatus = "Açıldı"; } String jsonObject = String ("{" dəyər1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" dəyər2 / ": \" " + h +" / ", \" dəyər3 / ": \" " + qapı vəziyyəti +" / "}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (server); http.addHeader ("Content-Type", "application/json"); http. POST (jsonObject); http.writeToStream (& Serial); http.end (); // Bağlantını bağlayın
stateChanged = yalan;
int sleepTimeInMinutes = interval / 1000/60; Serial.print ("\ n / nYuxuya get"); Serial.print (sleepTimeInMinutes); Serial.println ("dəqiqə (lər)…"); }}
boşluq döngəsi () {
işarəsiz uzun cariMillis = millis (); gecikmə (4000); // Keçən vaxtı keçsək, qapını və istiliyi yoxlayın. if (currentMillis - previousMillis> = interval) {stateChanged = true; əvvəlkiMillis = cariMillis; Serial.print (say ++); Serial.println (") Keçmiş vaxta görə yoxlanılır!"); } else if (stateChanged) {Serial.print (count ++); Serial.println (") Vəziyyət dəyişikliyinə görə yoxlanılır!"); }
// Vəziyyət dəyişərsə, qapını və istiliyi yoxlayın.
if (stateChanged) {checkStatus (); }
gecikmə (yuxu vaxtı);
}
Addım 20: Nəticələr
Əvvəlki addımda mənbə kodunu yüklədikdən sonra yuxarıda göstərilən nümunə kimi nəticələr əldə etməlisiniz.
Addım 21: Kreditlər
Random Nerd Dərsliklərindən bir çox faydalı göstərişlər və məsləhətlər tapdım və bütün köməklərinə görə onlara təşəkkür etmək istəyirəm. Xüsusilə ESP32 ESP8266 -da bu Təlimat kitabının əsas hissələrinin əsaslandığı Google Cədvəllərində Sensor Oxumalarını Nəşr etdirmək üzrə əla dərsliklər.
Əlavə olaraq, TheCircuit -dən DHT11 Instructable, bu çox ucuz, lakin maraqlı kiçik sensordan necə istifadə edəcəyimi başa düşməyimə kömək etdi.
Bundan əlavə, Garage Door Monitor və Random Nerd Tutorials -dan başqa qapılarınızı izləməklə məşğul olan bir çox dərslər var. Çubuğumun düzgün işləməsini başa düşməyimə kömək etmək üçün bunların bir hissəsini istifadə etdim.
Nəhayət, İnternetdə tapdığım bu məlumatlar və digər detallarla ehtiyaclarımı ödəyən bir sistem yarada bildim. Ümid edirəm bu Təlimatlandırmanı faydalı hesab edirsiniz və özünüzdən birini qurursunuz.
Tövsiyə:
Xüsusi Qapı Mat Tetikli Qapı Zəngi.: 6 Addım
Xüsusi Qapı Mat Tetikli Qapı Zəngi.: Salam! Adım Justin, mən liseydə kiçikəm və bu Təlimat sizə qapı döşəyinizə basanda işə salınan və istədiyiniz melodiya və ya mahnıya çevrilə bilən bir qapı zəngi necə edəcəyinizi göstərəcək! Qapı matı qapını tətiklədiyi üçün
PurpleAir Hava Keyfiyyəti Vəziyyəti LED Ekranı: 4 Addım
PurpleAir Hava Keyfiyyəti Vəziyyəti LED Ekranı: Kaliforniyadakı son meşə yanğınları ilə San -Fransiskodakı havanın keyfiyyəti çox təsirləndi. PurpleAir xəritəsini telefonlarımızda və ya noutbuklarımızda dəfələrlə yoxlayarkən, havanın qələbəni açmaq üçün nə qədər təhlükəsiz olduğunu görməyə çalışdıq
Sadə Kicker Vəziyyəti və Rezervasyon Sistemi Gücsüz İnteqrasiya ilə: 12 Addım (Şəkillərlə)
Sadə Kicker Vəziyyəti və Rezervasyon Sistemi Slack İnteqrasiyası ilə: İşlədiyim bir şirkətdə kicker masası var. Şirkət bir çox mərtəbəni tutur və bəzi işçilər üçün masaya çatmaq üçün 3 dəqiqəyə qədər vaxt lazımdır … masanın artıq işğal altında olduğunu başa düşmək üçün
IFTTT ilə Simli Qapı Zəngini Ağıllı Qapı Zənginə çevirin: 8 addım
IFTTT ilə Simli Qapı Zəngini Ağıllı Qapı Zənginə çevirin: WiFi Qapı Zəngi mövcud simli qapı zəngini ağıllı qapı zənginə çevirir. https://www.fireflyelectronix.com/product/wifidoor
Qapı və Qapı Monitorinqi ilə Əlaqələndirilən Avtomatik İşıqlar .: 5 Addım
Qapı və Qapı Monitorinqi ilə Əlaqələndirilən Avtomatik İşıqlar: Qaranlıqda keçid lövhəsini tapmaq çox çətin görünür, amma bu problem bu problemi həll etmək üçün həqiqətən faydalıdır. Bunun həllini bilmək üçün aşağıdakı addımları izləyin