Mündəricat:
Video: Simsiz MQTT Yataq Başlıq İdarəçiliyi: 5 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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
Ə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
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
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
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ə:
Başlıq / Fənər Gücləndiricisi: 13 Adım (Şəkillərlə birlikdə)
Başlıq / Fənər Gücləndiricisi: Başlıq günəş bağı işığından istifadə edərək dəyişdirilir. Bu, 3 əvəzinə yalnız 2 batareya istifadə etməyinizə imkan verəcək. Bu, batareyalar alarkən faydalıdır. Çox vaxt onlar yalnız 2 və ya 4 paketdə satılır, lakin üç deyil. Bu da "ölülərə" icazə verə bilər
Stranger Things Programlanabilir Başlıq: 9 Adım (Şəkillərlə birlikdə)
Qəribə şeylər proqramlaşdırıla bilən başlıq: heç vaxt qorxulu bir canavar dünyasında vaxt keçirmək məcburiyyətində olmayacaqsınız, amma bəzən istəsəniz orada tamamilə yaşaya biləcəyinizi söyləyən bir köynək geyinmək istərdiniz. Açıq bazarda belə bir köynək olmadığı üçün geyimlərimizi tikməyə qərar verdik
Təlimatlandırıla bilən bir başlıq yaradın: 8 addım (şəkillərlə birlikdə)
Təlimatlandırıla bilən bir başlıq yaradın: Təlimatlandırıla bilən başlıq həmişə olduqca sadədir, amma hər şeyi düzəltməklə əlaqəli bəzi şəkillərlə oynamağın əyləncəli olacağını düşündük. Bir az daha maraqlı etmək üçün ph -ə heç bir element əlavə etmək istəmədik
Crydom Solid State Relay istifadə edərək 110 Vac-ın Super Asan PC İdarəçiliyi: 3 addım (Şəkillərlə birlikdə)
Crydom Solid-State Relay istifadə edərək 110 Vac-ın Super Asan PC Nəzarəti: İsti plitə lehimləmə işində əlimi sınamağa hazırlaşıram. Buna görə PC -dən 110Vac idarə etmək üçün bir yola ehtiyacım var idi. Bu təlimat, PC -də seriyalı çıxış portundan 110Vac -ı asanlıqla idarə etməyi göstərir. İstifadə etdiyim serial port USB tipli idi
Universal Qulaqlıq/Qulaqlıq Səs İdarəçiliyi: 8 Addım (Şəkillərlə birlikdə)
Universal Qulaqlıq/Qulaqlıq Səs İdarəçiliyi: Buna görə Hong Kongdan PMP (Portativ Media Pleyer) aldım, buna görə də NES oyunlarımı rahat şəkildə harada olursunuzsa olun, bort emulyatoru ilə oynaya bildim. Uzun yol səfərləri, uçuşlar, gözləmə otaqları və s. Portativ media ilə vaxt öldürmək istədiyim yerlərdir, amma