İçindekiler:
- Adım 1: İhtiyacınız Olan Parçalar
- Adım 2: Devre Şeması
- Adım 3: Devreyi Kurmak
- Adım 4: ESP-01'i Yanıp Sönme
- Adım 5: Test Çalıştırması
- Adım 6: Sensörü Monte Edin
- 7. Adım: Son Dokunuş
Video: ESP-01 ile MQTT/Google Home Sel/Su WIFI Sensörü: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu derste size minimum maliyetle wifi sel/su sensörünün nasıl kurulacağını göstereceğim. Tüm proje, ebay'den aldığım parçalar ve mevcut yedek parçalarım için bana 8 dolardan daha azına mal oluyor.
Bu projede, suyun varlığını algılamak için Wifi ve MQTT istemcisi sağlamak için ESP-01 kullanacağız ve isteğe bağlı olarak yerel alarm sağlamak için doğrudan bağlı hoparlör/buzzer kullanacağız.
Proje için özel uygulamam, karter pompası arızası durumunda, karter pompa kuyumdaki sel/suyu tespit etmektir. 2 açık kablo ile su algılandığında, MQTT brokerine mesaj gönderir. MQTT aracısı daha sonra mesajı NodeRED'e iletir. MQTT mesajı alındığında, NodeRED birden fazla google ev cihazına duyuru gönderir ve isteğe bağlı olarak pushbullet aracılığıyla cep telefonuna/tarayıcıya mesaj gönderir.
Şimdi tabii ki bu proje sadece ev elektriği AÇIK ise çalışır. Bir sonraki talimatta pil yedekleme devresini entegre edeceğim. Ancak güç kaynağını benim yaptığım gibi yaparsanız, pil yedeği için bir USB güç bankası takabilirsiniz. Aynı anda hem şarj etmenizi hem de güç sağlamanızı sağlayan bir güç bankanız varsa, hazırsınız demektir.
Mosquitto MQTT sunucusunu ve NodeRED'i barındırmak için RaspberryPi ZeroW kullanıyorum. Bir yılı aşkın süredir sorunsuz çalışıyor.
Referanslar:Raspberry Pi:https://www.switchdoc.com/2016/02/tutorial-installi…NodeRED'i Raspberry Pi'ye yükleyin:
Adım 1: İhtiyacınız Olan Parçalar
Parça listesi:
(1) ESP-01
(2) 10K ohm Direnç
(1) küçük sinyal jenerik NPN transistörü (2N3904 kullandım)
(2) uzun teller
(1) 5V jenerik güç kaynağı (bu devre 300mA'dan daha az akım gerektirir)
(1) 3.3V regülatör modülü AMS1117
(1) Mikro-USB'den DIP Adaptörüne Dişi Konnektör PCB Dönüştürücü DIY Kiti
(1) USB-A'dan MicroUSB'ye kablo.
(1) 8 pinli IC soketi - ESP-01'i doğrudan devre kartına lehimlemek istiyorsanız atlanabilir. Sıralar arasında boşluk oluşturan plastik köprüleri kesin ve ardından 2 sırayı birbirine yapıştırın, fotoğrafa bakın.
(1) Proje için küçük muhafaza
Hoparlör/buzzer kullanarak yerelleştirilmiş bir alarma ihtiyacınız varsa, aşağıda isteğe bağlı parçalar bulunmaktadır
(1) Genel PNP Transistör, hoparlör/buzzer akımı/watt gereksinimine göre seçin. Benim durumumda hoparlörüm yalnızca 0,3W (8 ohm) olduğu için 2N2907 kullanıyorum, hoparlörü sürmek için yeterli güç sağlayacaktır. Daha yüksek ses istiyorsanız daha büyük bir transistör ve hoparlör seçebilirsiniz.
(1) Hoparlör, yukarıdaki PNP Transistör notuna bakın
(1) 100 - 110 ohm Direnç
Adım 2: Devre Şeması
İlk adım, şemada gösterilen devreyi oluşturmak olacaktır.
3.3VDC güç kaynağını, AMS1117 3.3VDC regülatör ile birleştirilmiş eski bir 5V cep telefonu şarj cihazı kullanarak oluşturdum. ESP-01 soketi için 8 pinli standart IC soket kullanıyorum ve sıralar arasında boşluk oluşturan plastik köprüleri kesip ardından 2 sırayı birbirine yapıştırıyorum.
Tasarladığım devre, iki kablo arasındaki suyun varlığını algılamak. Su her iki telin ucuna ulaştığında yaklaşık 10K ila 20K ohm'luk bir direnç oluşturacaktır. Ardından 10K ohm R1 ile seri olarak Q1'in tabanına küçük bir akım sağlayarak Q1'in doymasına neden olarak GPIO-2'yi toprağa kenetler. Algılama kablolarında kazara kısa devre olması durumunda Q1'e koruma sağlamak için R1, gereklidir.
R2, ESP-01'in flaştan başlatılmasına izin veren bir çekme direncidir.
Şimdi isteğe bağlı hoparlör/buzzer için, MQTT'yi konuşmak için sadece ESP-01'e ihtiyacınız varsa ve bu yerel alarmı uygulamak istemiyorsanız, R2, Q2, Speaker'ı çıkarabilir ve GPIO-0 arasına 10K çekme direnci yerleştirebilirsiniz. ve VCC.
Dişi Micro-USB - DIP adaptörü kullanma ihtiyacı hissetmiyorsanız, 5V PS ile 3.3V regülatör modülü arasındaki kabloları lehimleyebilirsiniz. Herhangi bir genel cep telefonu şarj cihazı ve MicroUSB kablosu kullanabilmem için dişi MicroUSB adaptörünü kullanmayı tercih ediyorum.
Adım 3: Devreyi Kurmak
Tüm bileşenleri ve parçaları önceki sayfadaki devre şemasına göre PCB'ye lehimleyin ve PCB'yi boyutuna göre kesin.
PCB'yi, PCB'ye ve isteğe bağlı hoparlöre uyacak bir muhafazanın içine yerleştirin. Benim durumumda, tüm parçalar küçük bir telefon prizi kutusunun içine sığacaktı, ancak ESP-01 modülünün sığması için bir çıkıntı oluşturmak için kapağı biraz ısıtmam gerekiyor.
Adım 4: ESP-01'i Yanıp Sönme
Bu adımda ESP-01'i arduino kroki ile flashlayacağız. ESP-01 modülünü hiç flash etmediyseniz, başlamak için talimatlarımı takip edebilirsiniz:
Çizimimi github sayfamda bulabilirsiniz:
Çizimde, en azından ev ağınıza/kurulumunuza ilişkin aşağıdaki bilgileri değiştirmeniz gerekir:
#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MYSSIDpassword";const char* ssid2 = "SSID1";const char* password2 = "MYSSIDpassword";
Ev ağımda, 2 farklı SSID yayınlayan 2 farklı erişim noktam var ve bu çizim, mevcut AP ile iletişim kesilirse bir sonraki SSID'ye bağlanarak yedekliliğe izin verecek. Yalnızca bir SSID'niz varsa, hem ssid1 hem de ssid2'yi aynı değerle doldurun.
Değişikliği yaptıktan sonra taslağı ESP-01'e yükleyin ve ESP-01'i arayüz kartına takın.
Adım 5: Test Çalıştırması
Projemizin çalışıp çalışmadığını test etmek için en kolayı ağdaki MQTT mesajlarını izlemek olacaktır. Bunu yapmak için, mosquitto aracısına bir SSH oturumu açmanız ve aşağıdaki komutu vermeniz gerekir:
mosquitto_sub -v -t '#'
Yukarıdaki komut, aracıya gelen tüm MQTT mesajlarını görmemizi sağlar.
Şimdi devremizi açın ve her şey çalışıyorsa, birkaç saniye içinde en azından aşağıdaki MQTT mesajını görmelisiniz:
stat/SumpWaterSensor/LWT Çevrimiçi
Şimdi 2 algılama kablosunu bir bardak suya batırarak su sensörünü test edin ve şu mesajı görmelisiniz:
tele/SumpWaterSensor ISLAK
Ve telleri sudan çıkarırsanız, şu mesajı görmelisiniz:
tele/SumpWaterSensor KURU
Bu mesajları görürseniz, projeniz başarılı demektir.
Ayrıca eskizde kullanabileceğiniz birkaç faydalı MQTT konusu ekledim:
"stat/SumpWaterSensorInfo": bu mesaj, çalışma süresi ve diğer bilgileri sağlamak için her dakika gönderilir.
"cmnd/SumpWaterSensorInfo": ESP-01, bu konuyu '1' değeriyle alırsa bilgi gönderir (ascii=49)
"cmnd/SumpWaterSensorCPUrestart": ESP-01, bu konuyu '1' değeriyle alırsa (ascii=49) yeniden başlar
"cmnd/SumpWaterSensorBeep": ESP-01, bu konuyu '1' değeriyle alırsa (ascii=49) hoparlörden ses çıkaracaktır.
"cmnd/SumpWaterSensorBeepFreq": Hoparlör alarmının frekansını ayarlar, varsayılan = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Seri hata ayıklama düzeyini etkinleştirin ve ayarlayın (varsayılan 0'dır - hata ayıklama yok)
Adım 6: Sensörü Monte Edin
Uygulamamda, karter pompamın kuyusundaki su seviyesini izlemek ve karter pompa şamandıra şalterinin üzerine su gelirse bana haber vermek istiyorum, bu da karter pompamın çalışmadığı anlamına geliyor. Kabloları çalıştırdım ve tahliye borusu boyunca sabitlemek için kablo bağları kullandım.
7. Adım: Son Dokunuş
Artık projeyi çalıştırdığımıza ve komisyoncuya MQTT mesajını yayınlayabildiğimize göre, bir sonraki adım bununla ne yapılacağına dair bir fikir düşünmektir.
Projemde "tele/SumpWaterSensor" MQTT konusunu dinlemek/abone olmak için Node-RED kullanıyorum ve su algılanırsa birkaç google home hoparlörüne duyuruyorum. Buna ek olarak, android telefonuma bildirim göndermek için akışı bir pushbullet düğümüne bağladım.
Ayrıca sensörün durumunu (açık/çevrimdışı, çalışma süresi vb.) görmek için bir web ön ucu oluşturdum. Bazen 1 hafta boyunca birkaç kez çevrimdışı olduğunu, istatistiklerden, çoğu zaman ESP-01'in wifi veya MQTT ile bağlantısının kesilmesinden kaynaklandığını gördüm. Ama endişelenmeyin, çizimim, WIFI ve/veya MQTT brokerine bağlanmayı denemeye devam ederse, ESP-01'i yeniden başlatma rutinini içeriyor.
Bu adımdaki görüntü, bunu gerçekleştirmek için Düğüm-KIRMIZI akışını gösterir. Ayrıca github sayfamdaki akışı Node-RED'inize yapıştırabilirsiniz:
Google ana sayfa duyurusu bu proje için sadece bir örnek ama bence en kullanışlı ve pratik olanı bu. Her zaman diğer MQTT dinleyicileriyle arayüz oluşturabilir veya hatta su algılandığında diğer cihazları sürmek için IFTTT'yi kullanabilirsiniz.
İyi eğlenceler…
Önerilen:
Wifi Smart Switch ESP8266 Alexa ve Google Home Otomasyonu İle Çalışır: 7 Adım
Wifi Akıllı Anahtar ESP8266, Alexa ve Google Ev Otomasyonu ile Çalışır: Küreselleşme dünyasında, herkes en yeni ve akıllı teknolojinin dürtüsü içindedir. Hayatınızı Daha Akıllı ve Kullanışlı Hale Getiren WiFi Akıllı Anahtar
ESP32 ile PWM - Arduino IDE ile ESP 32'de PWM ile LED Karartma: 6 Adım
ESP32 ile PWM | Arduino IDE ile ESP 32'de PWM ile LED Karartma: Bu talimatta Arduino IDE & PWM temel olarak herhangi bir MCU'dan analog çıkış üretmek için kullanılır ve bu analog çıkış 0V ile 3.3V (esp32 durumunda) arasında herhangi bir şey olabilir & itibaren
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: 5 Adım (Resimlerle)
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: Bu talimatta size ev otomasyonu entegrasyonu ile pille çalışan bir kapı sensörünü nasıl yaptığımı gösteriyorum. Başka güzel sensörler ve alarm sistemleri gördüm ama kendim yapmak istedim. Hedeflerim: Bir doo'yu algılayan ve raporlayan bir sensör
Arduino IDE ile Esp 8266 Esp-01'e Başlarken - Arduino Ide'de Esp Board Kurulumu ve Esp Programlama: 4 Adım
Arduino IDE ile Esp 8266 Esp-01'e Başlarken | Arduino Ide'ye Esp Panoları Kurulumu ve Esp Programlama: Bu talimatta, Arduino IDE'ye esp8266 panolarının nasıl kurulacağını ve esp-01'in nasıl programlanıp kod yükleneceğini öğreneceğiz. bu ve çoğu insan sorunla karşı karşıya
ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: 3 Adım
ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: Merhaba, ilk talimatıma hoş geldiniz. Evimin bodrum katı, şiddetli yaz fırtınaları, yüksek yeraltı suyu ve hatta bir boru patlaması gibi çeşitli nedenlerle birkaç yılda bir su basıyor. Güzel bir yer olmasa da merkezi ısıtma sistemim