Mündəricat:
- Addım 1: Ehtiyac duyacağınız hissələr
- Addım 2: Dövrə Şeması
- Addım 3: Dövrün qurulması
- Addım 4: ESP-01-in yanması
- Addım 5: Test Çalışması
- Addım 6: Sensoru quraşdırın
- Addım 7: Final Touch
Video: MQTT/Google Ev Daşqını/ESP-01 ilə Su WIFI Sensoru: 7 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu təlimatda sizə minimum xərclə wifi sel/su sensoru qurmağı göstərəcəyəm. Ebaydan aldığım hissələr və mövcud ehtiyat hissələrim üçün bütün layihə mənə 8 dollardan daha ucuz başa gəlir.
Bu layihədə Wifi və MQTT müştərilərinə suyun mövcudluğunu təyin etmək üçün ESP-01-dən istifadə edəcəyik və isteğe bağlı olaraq lokalizasiya siqnalı vermək üçün birbaşa bağlı dinamikdən/səs siqnalından istifadə edəcəyik.
Layihə üçün xüsusi tətbiqim, karter nasosunun nasaz olması halında, nasos quyumun içərisində sel/suyu aşkar etməkdir. Su 2 açıq tel ilə aşkar edildikdə, MQTT brokerinə mesaj göndərərdi. MQTT brokeri sonra mesajı NodeRED -ə ötürür. MQTT mesajını aldıqdan sonra NodeRED birdən çox Google ev cihazına anons göndərir və isteğe bağlı olaraq pushbullet vasitəsilə cib telefonuna/brauzerə mesaj göndərir.
Əlbəttə ki, bu layihə yalnız ev elektrik enerjisi AÇIQ olarsa işləyəcək. Növbəti təlimatda batareyanın ehtiyat dövrəsini birləşdirəcəyəm. Ancaq enerji təchizatını mənim etdiyim kimi etsəniz, batareyanın ehtiyat nüsxəsini çıxarmaq üçün USB güc bankını bağlaya bilərsiniz. Eyni anda enerjinizi doldurmağa və verməyə imkan verən bir güc bankınız varsa, hər şey hazırdır.
Mosquitto MQTT serverini və NodeRED -i yerləşdirmək üçün RaspberryPi ZeroW -dan istifadə edirəm. Bir ildən çoxdur ki, problemsiz işləyir.
İstinadlar: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… NodeRED-i Raspberry Pi-də quraşdırın:
Addım 1: Ehtiyac duyacağınız hissələr
Parça siyahısı:
(1) ESP-01
(2) 10K ohm rezistor
(1) kiçik siqnal ümumi NPN tranzistoru (2N3904 istifadə etdim)
(2) uzun tellər
(1) 5V ümumi enerji təchizatı (bu dövrə 300mA -dan az cərəyan tələb edir)
(1) 3.3V tənzimləyici modulu AMS1117
(1) Micro-USB DIP Adapter Qadın Bağlayıcı PCB Dönüştürücü DIY Kit
(1) USB-A-MicroUSB kabeli.
(1) 8 pinli IC yuvası-ESP-01-ni birbaşa lövhəyə lehimləmək istəyirsinizsə, buraxıla bilər. Satırlar arasında boşluq yaradan plastik körpüləri kəsin və sonra 2 sıranı bir -birinə yapışdırın, şəkilə baxın.
(1) Layihə üçün kiçik korpus
Dinamik/səs siqnalı istifadə edərək lokalizə edilmiş bir həyəcana ehtiyacınız varsa, aşağıda əlavə hissələr var
(1) Ümumi PNP Transistoru, dinamik/səs siqnalı cari/vat tələbinə uyğun olaraq seçin. Mənim vəziyyətimdə, 2N2907 istifadə edirəm, çünki dinamikim yalnız 0.3W (8 ohm) olduğu üçün dinamikin idarə edilməsi üçün kifayət qədər güc təmin edərdi. Daha yüksək səs istəsəniz daha böyük bir tranzistor və dinamik seçə bilərsiniz.
(1) Dinamik, yuxarıdakı PNP Transistoruna dair qeydə baxın
(1) 100 - 110 ohm rezistor
Addım 2: Dövrə Şeması
İlk addım, diaqramda göstərilən dövrəni yaratmaqdır.
AMS1117 3.3VDC tənzimləyicisi ilə birlikdə köhnə 5V cib telefonu şarj cihazı istifadə edərək 3.3VDC enerji təchizatı qurdum. ESP-01 yuvası üçün 8 pinli standart bir IC yuvasından istifadə edirəm və sıralar arasındakı boşluğu yaradan plastik körpüləri kəsirəm və sonra 2 sıranı yapışdırıram.
Hazırladığım sxem, iki tel arasında suyun olduğunu hiss etməkdir. Su hər iki telin ucuna çatdıqda, təxminən 10K ilə 20K ohm arasında bir müqavimət yaradır. Sonra 10K ohm R1 ilə ardıcıl olaraq, Q1-in bazasına kiçik bir cərəyan verir və Q1-in doymasına səbəb olur, GPIO-2-ni yerə bağlayır. R1, algılama tellərində təsadüfən bir qısaqlıq olması halında Q1 -in qorunmasını təmin etmək üçün lazımdır.
R2, ESP-01-in flaşdan yüklənməsinə imkan verən çəkmə müqavimətçisidir.
İsteğe bağlı dinamik/səs siqnalı üçün, yalnız MQTT danışmaq üçün ESP-01-ə ehtiyacınız varsa və bu lokalizasiya edilmiş həyəcan siqnalını tətbiq etmək istəmirsinizsə, R2, Q2, Dinamikləri çıxarıb GPIO-0 arasına 10K çəkmə müqaviməti yerləşdirə bilərsiniz. və VCC.
Dişi Micro-USB-dən DIP adapterinə ehtiyacınız yoxdursa, 5V PS arasındakı telləri 3.3V tənzimləyici moduluna lehimləyə bilərsiniz. Qadın MicroUSB adapterindən istifadə etməyi üstün tuturam, buna görə hər hansı bir ümumi cib telefonu şarj cihazı və MicroUSB kabelindən istifadə edə bilərəm.
Addım 3: Dövrün qurulması
Əvvəlki səhifədəki sxemə görə bütün komponentləri və hissələri PCB -yə lehimləyin və PCB -ni ölçüsünə görə kəsin.
PCB -ni PCB -yə və isteğe bağlı dinamikə uyğun bir korpusun içərisinə qoyun. Mənim vəziyyətimdə, bütün hissələr kiçik bir telefon priz qutusuna daxil olardı, baxmayaraq ki, ESP-01 modulunun uyğun olması üçün qabarıqlıq yaratmaq üçün qapağı bir qədər qızdırmalıyam.
Addım 4: ESP-01-in yanması
Bu addımda, ESP-01-i arduino eskizi ilə flaş edəcəyik. Heç vaxt ESP-01 modulunu yandırmadınızsa, başlamağım üçün mənim göstərişlərimə əməl edə bilərsiniz:
Eskizimi github səhifəmdə tapa bilərsiniz:
Eskizdə, minimum olaraq ev şəbəkəniz/quruluşunuzla əlaqədar aşağıdakı məlumatları dəyişdirməlisiniz:
#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
Ev şəbəkəmdə 2 fərqli SSID yayımlayan 2 fərqli giriş nöqtəm var və bu eskiz, mövcud AP ilə əlaqə kəsilərsə, növbəti SSID -ə qoşulmaqla ixtisara imkan verəcəkdir. Yalnız bir SSID varsa, həm ssid1, həm də ssid2 -ni eyni dəyərlə doldurun.
Dəyişiklik etdikdən sonra eskizi ESP-01-ə yükləyin və ESP-01-ni interfeys lövhəsinə qoşun.
Addım 5: Test Çalışması
Layihəmizin işlədiyini yoxlamaq üçün ən asan yol şəbəkədəki MQTT mesajlarını izləməkdir. Bunu etmək üçün ağcaqanad brokerinə bir SSH sessiyası açmalı və aşağıdakı əmri verməlisiniz:
mosquitto_sub -v -t '#'
Yuxarıdakı əmr, brokerə gələn bütün MQTT mesajlarını görməyə imkan verəcəkdir.
İndi dövrəmizi gücləndirin və hər şey işləyirsə, bir neçə saniyə ərzində ən azından aşağıdakı MQTT mesajını görməlisiniz:
stat/SumpWaterSensor/LWT Online
İndi 2 hissedici teli bir fincan suya batıraraq su sensorunu sınayın və bu mesajı görməlisiniz:
tele/SumpWaterSensor WET
Telləri sudan çıxarsanız, bu mesajı görməlisiniz:
tele/SumpWaterSensor DRY
Bu mesajları görürsünüzsə, layihəniz uğur qazanır.
Eskizdə istifadə edə biləcəyiniz bir neçə faydalı MQTT mövzusu da daxil etdim:
"stat/SumpWaterSensorInfo": bu mesaj iş vaxtı və digər məlumatları təmin etmək üçün hər dəqiqə göndərilir.
"cmnd/SumpWaterSensorInfo": ESP-01, bu mövzunu '1' (ascii = 49) ilə alarsa məlumat göndərər.
"cmnd/SumpWaterSensorCPUrestart": ESP-01, bu mövzunu '1' (ascii = 49) dəyəri ilə alarsa yenidən başlayacaq.
"cmnd/SumpWaterSensorBeep": ESP-01, bu mövzunu '1' (ascii = 49) dəyəri ilə alarsa dinamikə səs verər.
"cmnd/SumpWaterSensorBeepFreq": Dinamik siqnalının tezliyini təyin edir, standart = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Serial ayıklama səviyyəsini aktivləşdirin və təyin edin (standart 0 -dır - ayıklama yoxdur)
Addım 6: Sensoru quraşdırın
Tətbiqimdə, karter nasosumun içindəki su səviyyəsini izləmək və suyun karter nasosunun üzmə açarının üstünə çatdığını mənə bildirmək istəyirəm ki, bu da karter nasosumun işləmədiyini göstərir. Telləri çəkdim və drenaj borusu boyunca bağlamaq üçün tel bağlarından istifadə etdim.
Addım 7: Final Touch
Layihənin işlədiyini və MQTT mesajını brokerə yayımlaya bildiyimizə görə, növbəti addım bununla nə edəcəyimizi düşünməkdir.
Layihəmdə "tele/SumpWaterSensor" MQTT mövzusuna qulaq asmaq/abunə olmaq və su aşkar edilərsə bir neçə google ev dinamikinə elan vermək üçün Node-RED istifadə edirəm. Bundan əlavə, Android telefonuma bildiriş göndərmək üçün axını bir itələyici düyünə bağladım.
Sensorun vəziyyətini (açıq/oflayn, iş vaxtı və s.) Görmək üçün bir veb ön ucu da yaratdım. Bəzən statistikadan 1 həftə ərzində bir neçə dəfə oflayn keçdiyini gördüm, çox vaxt bunun səbəbi ESP-01-in WiFi və ya MQTT-dən ayrılmasıdır. Ancaq çox narahat olmayın, eskizim WIFI və/və ya MQTT brokerinə qoşulmağa çalışmadığı təqdirdə ESP-01-i yenidən başlatmaq üçün gündəlik daxil etdi.
Bu addımdakı görüntü, bunu həyata keçirmək üçün Node-RED axınını göstərir. Github səhifəmdəki axını Node-RED-ə də yapışdıra bilərsiniz:
Google ev elanı bu layihə üçün yalnız bir nümunədir, amma ən faydalı və praktik olduğunu düşünürəm. Həmişə digər MQTT dinləyicisi ilə əlaqə qura bilərsiniz və ya hətta su aşkar edildikdə digər cihazları idarə etmək üçün IFTTT istifadə edə bilərsiniz.
Əylənin…
Tövsiyə:
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Uzanma Sensoru): 7 addım (şəkillərlə)
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Stretch Sensor): Bu DIY sensoru, keçirici trikotaj uzanma sensoru şəklində olacaq. Göğsünüzü/mədənizi əhatə edəcək və sinə/mədə genişləndikdə və daralanda sensoru və nəticədə Arduino -ya verilən qidalanma məlumatlarını genişləndirəcək. Belə ki
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
Ev avtomatlaşdırma inteqrasiyası, WiFi və ESP-NOW ilə akkumlyatorla işləyən qapı sensoru: 5 addım (şəkillərlə)
Ev avtomatlaşdırma inteqrasiyası, WiFi və ESP-NOW ilə akkumlyatorla işləyən qapı sensoru: Bu təlimatda sizə ev avtomatlaşdırma inteqrasiyası ilə akkumulyatorlu qapı sensoru necə hazırladığımı göstərirəm. Başqa gözəl sensorlar və siqnalizasiya sistemləri gördüm, amma özüm etmək istədim. Məqsədlərim: bir doo aşkarlayan və bildirən bir sensor
Arduino IDE ilə Esp 8266 Esp-01-ə Başlama - Arduino Ide -də Esp Lövhələrinin Qurulması və Esp -in Proqramlaşdırılması: 4 Addım
Arduino IDE ilə Esp 8266 Esp-01-ə Başlama | Esp Boardlarını Arduino Ide-də quraşdırmaq və Proqramlaşdırma Esp: Bu təlimatlarda, Arduino IDE-də esp8266 lövhələrinin necə qurulacağını və esp-01-in proqramlaşdırılmasını və ona kod yükləməyi öyrənəcəyik. Esp lövhələri o qədər populyar olduğu üçün bir təlimat düzəltməyi düşündüm. bu və insanların çoxu problemlə üzləşir
MQTT istifadə edərək Simsiz Temperatur Sensoru olan AWS IoT ilə İşə Başlama: 8 Addım
MQTT istifadə edən Simsiz Temperatur Sensoru olan AWS IoT -ə Başlarkən: Əvvəlki Təlimatlarda Azure, Ubidots, ThingSpeak, Losant və s. Kimi bulud platformalarından keçdik. bütün bulud platforması. Ətraflı məlumat üçün