Mündəricat:

Simsiz MQTT Yataq Başlıq İdarəçiliyi: 5 Addım (Şəkillərlə birlikdə)
Simsiz MQTT Yataq Başlıq İdarəçiliyi: 5 Addım (Şəkillərlə birlikdə)

Video: Simsiz MQTT Yataq Başlıq İdarəçiliyi: 5 Addım (Şəkillərlə birlikdə)

Video: Simsiz MQTT Yataq Başlıq İdarəçiliyi: 5 Addım (Şəkillərlə birlikdə)
Video: Zigbee LAN координатор HamGeek - китайский клон Zigstar c POE и USB C 2024, Noyabr
Anonim
Simsiz MQTT Yataq Başlıq İdarəçiliyi
Simsiz MQTT Yataq Başlıq İdarəçiliyi
Simsiz MQTT Yataq Başlıq İdarəçiliyi
Simsiz MQTT Yataq Başlıq İdarəçiliyi

Bir neçə il əvvəl yeni bir yaddaş köpük yatağı aldıq və əksər yataqlarda olduğu kimi, zəmanəti qorumaq üçün onların "təsdiq edilmiş bazalarından" birini də almalı idiniz. Beləliklə, yatağın başını qaldırmaq və endirmək qabiliyyətini ehtiva edən ən bahalı bazanı seçdik. Bir neçə gündən sonra döşəklərimiz və kabel tənzimləyiciləri olan (Amerika Birləşmiş Ştatları tərəfindən tənzimlənən) ucuz bazamız (yatağın hər tərəfi üçün bir ədəd) çatdırıldı və quruldu.

Diqqət etdiyimiz ilk şey, sərgi salonundakı gözəl və uzun kordonların yatağımızda olduğu kimi olmaması idi! Sərgi salonundakıların uzantıları var idi. Bu uzantılar yatağımıza daxil deyildi və kifayət qədər maraqlı idi, heç kim bizə bir cüt uzatma kabeli satmaqda maraqlı deyildi. Bu, çarpayının üstünə çətinliklə çatan və istifadə etmək üçün təhvil verməli olduğumuz idarəetmə vasitələrini bizə buraxdı.

Nə üçün ödədiyinizi alırsınız

Təxminən 6 aydan sonra nəzarətlərdən birində gərginlik aradan qaldıran yaxaların yırtılmağa başladığını görürük. Bir neçə ay sonra - çılpaq tel. Təxminən bir il sürətlə irəlilədikdə, idarəetmələrdən biri artıq işləmir, digəri isə bir az əyilir.

Yenə heç kim bizi əvəz etməyimizi satmaqda maraqlı deyildi. Sonra mənə dəydi!

Bir dəqiqə gözləyin! Mən ev avtomatlaşdırması və NƏZARƏT sistemi qurmuram?!?

Addım 1: Kəşf

Kəşf
Kəşf
Kəşf
Kəşf

Əlimdə olanlarla nə edə biləcəyimi görmək istədim, buna görə qüsurlu nəzarətçi tətbiqini götürdüm və vay! orda cox pislik var idi! Bütün bunlar nə üçündür? Geri çəkildim və yalnız daxil olan və çıxan xətlərə baxdım. 12 voltluq bir təchizat xəttinin və bir torpaq xəttinin olduğunu görə bildim. Digər iki xətt yuxarı və aşağı düymələri üçün siqnal xətlərinə bənzəyirdi. Beləliklə, bir şans götürdüm və 12v təchizatı "yuxarı" siqnal xəttinə atladım. Yataq hərəkət etməyə başladı! Sonra tullanan telimi "aşağı" siqnal xəttinə köçürdüm və yataq aşağı düşdü!

Qutuda daha 4 siqnal xətti və daha 4 düymə üçün kontaktlar var. Ən yaxşı təxminim budur ki, bu idarəetmə lövhəsi bütün simli baza modellərində istifadə olunur və lazım olduqda lövhənin üzərinə fərqli üz lövhələri qoyurlar. Beləliklə, işləyən bir nəzəriyyəm var idi. Təchizat xəttini istismar zamanı batdığını və ya hər hansı bir zamanda sıçradığını yoxlamaq üçün yoxladım - yox. Siqnal xətləri üzərində çox az cərəyan var idi, ancaq mühərriki işə salmaq üçün 12 volt tələb edirdilər.

Addım 2: Dizayn

Dizayn
Dizayn
Dizayn
Dizayn
Dizayn
Dizayn
Dizayn
Dizayn

Beləliklə, VCC və siqnal pimi arasındakı sadə bir əlaqə bağlantısı hər şeyə ehtiyac duyur, ancaq sistemimdə necə edilir. Kontaktlar üçün iki röle və simsiz nəzarətçi üçün bir ESP8266 işləyəcək. Röleler, rəqəmsal pinlərin verə biləcəyindən daha çox cərəyan tələb edə biləcəyi üçün, nəzarətçi ilə röle arasında bir optoizolator istifadə etmək daha yaxşıdır. Bu, kiçik bir siqnalın daha yüksək bir cərəyan açarını (bu vəziyyətdə yüngül idarə olunan bir tranzistor) açmasına və röle bobinini etibarlı şəkildə işə salmasına imkan verəcəkdir. Ayrıca, bir optoisolator, röle bobini sərbəst buraxıldıqda və maqnit sahəsi çökəndə meydana gələ biləcək sıçrayışlardan nəzarətçini təcrid edir. Xoşbəxtlikdən, bu sxemlərin hamısını ehtiva edən və olduqca aşağı qiymətə malik olan röle modulları mövcuddur.

Yataq nəzarətçi üçün enerji təchizatı olacaq və verilən 12 voltla işləmək üçün dəyişən bir dollar çeviriciyə ehtiyacımız olacaq. Çox ucuz olanı aşağıda əlaqələndirilib və gözəl işləyir. 12V xətti və GND xətləri çeviricinin giriş tərəfinə, tənzimlənən 5 volt tərəfi isə NodeMCU-nun VCC-nə və röle modulundakı VCC pininə bağlanır. həm relay modulu, həm də NodeMCU.

NodeMCU, D1 (GPIO5) istifadə edərək IN1 və D2 (GPIO4) istifadə edərək IN2 ilə əlaqə qurur. Yataqdakı yuxarı siqnal xətti 1 rölesi üçün normal olaraq açılan vintli terminala, aşağı siqnal xətti isə normal olaraq açıq olan terminal blok konnektoru 2 -yə bağlanır. Buck çeviricinin giriş tərəfinə bağlı olan 12V telini, həm də 1 və 2 rölesi üçün digər terminal blok bağlantısına bağlamalısınız.

Hissələri

  • 1 - NodeMCU
  • 1 - Cari izolyasiya ilə Duel Relay Modulu
  • 1 - Dəyişən giriş/çıxış dollar çeviricisi
  • 1 - Breadboard PCB
  • 22 kalibrli mis nüvəli tel
  • 2 - M3x 8 vintlər

Addım 3: Qapaq

Mühafizə
Mühafizə

Qutunu burada tapa bilərsiniz:

Tinkercad ilə, yataq nəzarət kabelinin qutunun içərisindəki gərginlik əleyhinə mötərizələr arasındakı qutuya girməsinə imkan verən sadə bir korpus hazırladım. Kabelin sürüşməməsinə kömək edəcək bir fermuar bağlamaq üçün yuvalar var, amma vəziyyətimdə uyğunluq çox rahat idi və buna ehtiyac yox idi. Qapaq 2 M3x 8 vida ilə bərkidilir. Kodu qutuya qoymadan əvvəl kodu yükləməyi və sistemi sınamağı məsləhət görürəm.

Lövhələri yerində saxlamaq üçün isti yapışqan istifadə etdim, amma bu lazım olmaya bilər.

Addım 4: Kod

Kodu burada tapa bilərsiniz:

QEYD: Bu layihə Arduino IDE -də Kitabxana Menecerinə əlavə oluna bilən çoxsaylı kitabxanadan istifadə edir

Buradakı kod olduqca sadədir və Home Assistant -dakı Cover MQTT tipinə əsasən hazırlanmışdır. Buradakı fikir sadədir: ev köməkçisində yuxarı və ya aşağı düyməni basdığınız zaman, müvafiq röle dayanma əmri alınana qədər bağlanır və ya sistem maksimum aktivasiya vaxtına çatır və dayanır.

Maksimum vaxt, istifadəçinin dayandırmağı unutması və ya əmrin təsadüfən göndərilməsi və kiminsə onu dayandırması ehtimalı olmadığı təqdirdə təhlükəsizlik tədbiri olaraq nəzərdə tutulur. Kontaktın uzun müddət bağlanması səbəbiylə rölin qeyri -müəyyən müddətə və ya yataqda gözlənilməz problemlərin olmasını istəmirik.

Kodumda bu zaman aşımı 20 saniyədir və kodun üst hissəsindəki qlobal dəyişən blokda tənzimlənə bilər.

İkinci bir təhlükəsizlik tədbiri, hər zaman bir röleyi aktivləşdirsəm, digərinin qəsdən söndürülməsinin, son vəziyyət artıq sönmüş olsa belə, həmişə çağırıldığından əmin olmaq idi. Yatağa nə edəcəyini bilmədiyim üçün hər iki siqnal xəttinə 12v göndərmək istəmirəm.

Bunun xaricində, yataq hər 60 saniyədə bir mövcud olduğunu dərc edir. Burada nə zəng, nə də fit çalınır. Yatağın mövqeyə dair rəyi olmadığı üçün Ev köməkçisinə geri göndərə bilmədim.

Addım 5: Nümunə İnteqrasiya

İnteqrasiya nümunəsi
İnteqrasiya nümunəsi
İnteqrasiya nümunəsi
İnteqrasiya nümunəsi

Yazdığım kod WiFi üzərindən ünsiyyət qurmaq üçün MQTT istifadə edir və buna görə də MQTT istifadə edən hər hansı bir avtomatlaşdırma mərkəzi və ya cihazı ilə əlaqə qura bilər. Daxili MQTT brokerinə malik olan Ev köməkçisindən istifadə edirəm. Aşağıda HA konfiqurasiyamın bir nümunəsidir.

HA -da, aşağıdakı tərifi olan cover.yaml faylım var:

- platforma: mqtt

ad: "Master Bed Headboard" command_topic: "master_bed_control/cmd" available_topic: "master_bed_control/available" qos: 0 saxla: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_ oflayn "optimist: doğrudur

Bu, yuxarıda göstərildiyi kimi hərəkətlə təyin edilmiş yuxarı/dayandır/aşağı düyməsinə malik HA interfeysimə bir giriş verir.

Əlavə olaraq, başlığı qaldırmaq və aşağı salmaq üçün Yatağımın İdarəetmə Paneli (Instructable / Blog Post) üzərində iki düymə təyin etdim. İdarəetmə panelindəki düymələr MQTT sensorlar olaraq təyin olunur:

- platforma: mqtt

state_topic: "bedside_cp1/button5" adı: "Bedside CP1 Button 5" icon: mdi: circle

- platforma: mqtt

state_topic: "bedside_cp1/button6" adı: "Bedside CP1 Button 6" nişanı: mdi: dairə

… Və hər bir düyməyə basıldığı və buraxıldığı zaman üçün 4 avtomatlaşdırma qaydası. Basıldıqda, hansı düymənin işə salınmasından asılı olaraq yuxarı və ya aşağı əmri yatağa göndərilir, düyməni buraxdıqda dayan əmri göndərilir:

- id: '1548308650383'

ləqəb: MBR Yatağında CP Düyməsi 5a tetikleyici: - entity_id: sensor.bedside_cp1_button_5: 'Off' platformasından: vəziyyətə: 'On' şərti: hərəkət: - data: entity_id: 'cover.master_bed_headboard' xidməti: cover.open_cover - id: '1548308758911' ləqəbi: MBR Başucu CP Düyməsinin 5b tetikleyicisi: - entity_id: sensor.bedside_cp1_button_5 from: 'On' platforması: vəziyyətdən: 'Off' şərti: hərəkət: - data: entity_id: 'cover.master_bed_headboard' xidməti: cover.stop_cover - id: '1548308863495' ləqəbi: MBR Başucu CP Buttonu 6a tetikleyici: - entity_id: sensor.bedside_cp1_button_6: 'Off' platformasından: vəziyyətə: 'On' şərti: hərəkət: - data: entity_id: ' cover.master_bed_headboard 'xidməti: cover.close_cover - id:' 1548308911467 'ləqəbi: MBR Bedside CP Button 6b trigger: - entity_id: sensor.bedside_cp1_button_6 from:' On 'platform: state to:' Off 'vəziyyəti: hərəkət: - data: entity_id: 'cover.master_bed_headboard' xidməti: cover.stop_cover

Tövsiyə: