Mündəricat:

Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT: 4 addım (şəkillərlə)
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT: 4 addım (şəkillərlə)

Video: Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT: 4 addım (şəkillərlə)

Video: Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT: 4 addım (şəkillərlə)
Video: Ineos Grenadier: 10 FACTS learned from a (passenger) ride 2024, Iyul
Anonim
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT
Batareyalı Tökmə Qapı və Kilid Sensoru, Günəş, ESP8266, ESP-Now, MQTT

Bu Təlimat kitabında, uzaqdan velosiped saxlayacağım qapını və kilid vəziyyətini izləmək üçün batareyadan işləyən bir sensoru necə hazırladığımı sizə göstərəcəyəm. Şəbəkə enerjisi yoxdur, buna görə batareyadan işləyirəm. Batareya kiçik bir günəş paneli ilə doldurulur.

Modul aşağı gücdə işləmək üçün hazırlanmışdır və hər dəqiqə qapını və kilid mövqeyini yuxudan oyadan ESP-07S ilə işləyir. Ancaq qapı açıldıqda, 'qapı açıq' məlumatını dərhal göndərmək üçün modul sadə bir cihaz dövrəsi ilə oyanır. Modul, ötürmə müddətinin çox qısa olduğu, yalnız az miqdarda enerji tələb etdiyi ESP-Now vasitəsi ilə əlaqə qurur.

Openhab və Mosquitto -da işləyən ev avtomatlaşdırma mesajları idarə edir və həyəcan açılarsa, Telegram vasitəsilə həyəcan verici bir mesaj göndərir.

Təchizat

Bütün komponentlər Aliexpress -dən alınır.

  • ESP-07S modulu, ESP-Now aralığını artırmaq üçün xarici antenanın asan qoşulması üçün seçilmişdir.
  • Batareya qorunması olan TP4056 şarj cihazı
  • 18650 LiPo batareya
  • Qamış açarı (qapının vəziyyətini izləmək üçün YOX)
  • Kontakt açarı (monitorun kilid mövqeyi)
  • Günəş paneli (6V, 0.6W)
  • Transistorlar, rezistorlar, diodlar, bağlayıcılar (sxematik bax)

Addım 1: Avadanlıq

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Quraşdırılmış sxem bir şəkil olaraq daxil edilmişdir. Əvvəlcə bir çörək taxtasında dövrəni prototip etdim. Sonra bütün komponentləri bir lövhədə lehimlədim.

ESP-07S ESP8266 modulundan istifadə edirəm, çünki xarici antena bağlantısı var. Velosiped anbarım çöldə olduğundan, WiFi siqnalının beton divardan keçməsi lazımdır. Xarici bir antenin ESP-Now aralığını güclü şəkildə artırdığını öyrəndim. Bir WiFi siqnalı olduğu üçün olduqca məntiqlidir.

Qapı sensoru üçün botn NO və NC əlaqələri olan bir qamış açarı istifadə etdim. Qapı bağlandıqda açara bağlanan bir maqnit açılır. Modul hər 60 saniyədə bir qapını və kilid vəziyyətini yoxlayır, ancaq qapı açıldıqda dərhal məlumatlandırılmaq istəyirəm, buna görə də bir sıfırlama dövrəsi tətbiq etdim, aşağıya baxın.

Kilid sensoru üçün botn NO və NC əlaqələri olan bir əlaqə açarı istifadə etdim. Kilid bağlandıqda kilid pimi açarı açır. Beləliklə, həm qapı sensoru, həm də kilid sensoru normal olaraq açılır (YOX).

Batareya, kiçik bir 6V günəş panelinə bərkidilmiş batareya qorunması olan TP4056 şarj cihazı vasitəsilə doldurulur.

Aşağıdakı dövrənin bəzi hissələrini izah edəcəyəm.

Dövrü sıfırlayın

2N7000 Mosfet ilə sıfırlama dövrəsi ESP8266 sıfırlama pininə bağlıdır. Qapı bağlıdırsa, əlaqə açıqdır, həm qapı, həm də tranzistor mənbəyi yüksəkdir və mosfet bağlıdır. Qapıya qoşulan kondansatör müsbət yükə malikdir. Yüksək = qapalı olduğu üçün ESP8266 GPIO12 qamışları.

Qapı açıldıqda, mosfetin mənbəyi yerə bağlıdır. Qapı yüksək olduğundan, mosfet açılır və sıfırlama pinini yerə çəkir, nəticədə ESP8266 sıfırlanır. Kondansatör R7 vasitəsilə boşaldılır və sonra mosfet söndürülür. 50 ms -lik aşağı nəbz üçün osiloskopumun ekran görüntüsünə baxın. Nəbzdən sonra ESP8266 çəkilir. ESP8266, LIO = açıq olduğu üçün GPIO12 -ni qamışlayır.

Qapı yenidən bağlandıqda, R6 rezistoru mənbəyi və GPIO12 -ni yuxarı çəkir.

Batareya monitorinqi

Batareya gərginliyi VBat və GND arasındakı gərginlik bölücü vasitəsilə oxunur. Ancaq VBat və GND arasında daimi bir əlaqə istəmirəm, çünki batareyanı boşaldır. Buna görə gərginlik bölücüsünün yüksək tərəfinə bir P kanallı mosfet qoydum və mozfetin qapısı çəkildi, buna görə də mosfet söndürüldü. Yalnız GPIO14 aşağı olduqda, mosfet açılır və ESP8266 ADC ilə gərginliyi tənzimləyə bilər.

Addım 2: Proqram təminatı

ESP8266 modulu enerjiyə qənaət etmək üçün əsasən dərin yuxu rejimindədir.

Hər 60 saniyədə modul WiFi əlil olduqda açılır və kilidin və qapının vəziyyətini ölçür və RTC yaddaşında saxlanan dəyərlərlə müqayisədə bu mövqelərin dəyişib dəyişmədiyini yoxlayır. Bir mövqe dəyişərsə, modul minimum vaxt yatır və ESP-Now vasitəsilə yeni mövqeyi göndərmək üçün WiFi aktiv olduqda oyanır. Və əlbəttə ki, yeni mövqelər RTC yaddaşında saxlanılır. Heç bir şey dəyişdirilməsə, modul yenidən yatır və WiFi söndürüldükdə oyanır.

Mesajı ötürmək və MQTT mesajlarına çevirmək üçün ESP-Now-dan necə istifadə etdiyimi izah etdiyim digər Təlimatçılığa baxın.

'OTA dövrəsi' bir tullanan vasitəsi ilə əl ilə bağlanarsa, modul oyanır və ESP8266HTTPUpdateServer vasitəsilə OTA yeniləməsini gözləmək üçün WiFi şəbəkəmə qoşulur.

Hər 30 dəqiqədən bir batareyanın gərginliyi ölçülür və nəşr olunur.

Bir dövlət maşını kimi işləyir. Ştatlar mənim Github -da yayımlanan proqramda müəyyən edilmişdir.

STATE_CHECK: Radio söndürüldükdə oyanın (WiFi söndürüldü), sadəcə bir şeyin dəyişib dəyişmədiyini yoxlayın

STATE_INIT: Radio yandıqda oyanın (WiFi aktivdir) və qapı və kilid vəziyyətlərini ötürür

STATE_DOOR: Radio açıldıqda oyanın, növbəti dəfə açılanda qapını elan edin

STATE_LOCK: Radio açıldıqda oyanın, növbəti dəfə açılanda lockstate nəşr edin

STATE_VOLTAGE: Radio açıldıqda oyanın, növbəti dəfə açılanda gərginliyi yayımlayın

STATE_OTA 5: Radio açıq olduqda oyanın, OTA rejiminə keçin

Addım 3: Montaj edin

Birləşdirin
Birləşdirin
Birləşdirin
Birləşdirin
Birləşdirin
Birləşdirin
Toplaşmaq
Toplaşmaq

Layihəmi yığmaq və sökmək üçün vida terminalları və DC kişi/qadın konnektorlarından istifadə edirəm. Bütün hissələri kiçik bir ABS qutusuna qoydum, şəkillərə baxın. Parçaları elektrik izolyasiyası üçün Kapton lentinə daxil etdim

Günəş panelini aşağı gərginlikli 1N5817 diodlu bir kişi DC fişi (5.5 x 2.1) ilə bağlayıram.

Kamış açarı qutuya yapışdırılır və qapıya doğru mövqedə bir maqnit yapışdırılır.

Kilid kontağı yan tərəfdən daxil edilir, şəkilə baxın.

Addım 4: İş Modulu

İş Modulu
İş Modulu
İş Modulu
İş Modulu

Alınan məlumatlar Openhab ev avtomatlaşdırma vasitəsi ilə oxunur. İstəyirəm, Openhab fayllarını yerləşdirə bilərəm.

İzləyirəm:

  • Batareya gərginliyi (davamlılıqla gərginliyi zamanla bir qrafikdə görürəm).
  • Qapı və kilid mövqeləri.
  • Vəziyyət dəyişdi.

Bu şəkildə yatağa girəndə bütün tökmə yerlərin kilidli olub olmadığını asanlıqla görə bilərəm.

İstifadəyə başladığımda, batareya parlaq bir gündə dolduruldu və bir həftə sonra tam şarj edildi. İndi payızda batareya dolu olaraq qalır. Göründüyü kimi, modul çox qənaətlidir və kiçik bir günəş paneli istehsal etdikdən sonra daha az enerji sərf edir. Dedikləri batareya, ehtimal ki, bir neçə ay qaranlıqda gücə malikdir. Modulun bu qışda, tökmə yerindəki temperaturun çox aşağı olduğu bir vaxtda necə işlədiyini görək.

Tövsiyə: