İçindekiler:
Video: Wireless MQTT Yatak Başlığı Kontrolü: 5 Adımda (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Birkaç yıl önce yeni bir hafızalı köpük yatak satın aldık ve çoğu yatakta olduğu gibi, garantiyi sürdürmek için onların "onaylı tabanlarından" birini de satın almanız gerekiyordu. Bu nedenle, yatağın başını kaldırma ve indirme özelliğini de içeren en ucuz tabanı seçtik. Birkaç gün sonra yatağımız ve kablolu kumandalı American Ayarlanabilir ucuz tabanımız (yatağın her iki tarafı için bir tane) teslim edildi ve kuruldu.
Fark ettiğimiz ilk şey, showroomdaki güzel ve uzun kordonların yatağımızdaki gibi olmadığıydı! Showroomdakilerin uzantıları vardı. Bu uzantılar yatağımıza dahil DEĞİLDİ ve yeterince ilginçti, kimse bize bir çift uzatma kablosu satmakla ilgilenmedi. Bu bize yatağın tepesine zar zor ulaşan ve kullanmak için çevirmemiz gereken kontroller bıraktı.
Ödediğini alırsın
Yaklaşık 6 ay sonra, kontrollerden birinin üzerindeki gerilim azaltıcı yakaların yırtılmaya başladığını fark ettik. Birkaç ay sonra - çıplak tel. Yaklaşık bir yıl ileri sar, kontrollerden biri artık çalışmıyor ve diğeri biraz seğiriyor.
Yine, hiç kimse bize yedek parça satmakla ilgilenmedi. Sonra bana çarptı!
Dur bir dakika! Ev otomasyonu ve KONTROL sistemi yapmıyor muyum?!?
Adım 1: Keşif
Elimdekilerle ne yapabileceğimi görmek istedim, bu yüzden kusurlu kontrol cihazını aldım ve vay! orada bir sürü pislik vardı! Bütün bunlar ne içindi? Geri çekildim ve gelen ve çıkan çizgilere baktım. 12 voltluk bir besleme hattı ve bir toprak hattı olduğunu görebildim. Diğer iki satır, iki yukarı ve aşağı buton için sinyal hatlarına benziyordu. Bu yüzden bir şans verdim ve 12v beslemesini "yukarı" sinyal hattına atladım. Yatak hareket etmeye başladı! Daha sonra atlama telimi "aşağı" sinyal hattına taşıdım ve yatak çöktü!
Kutu içerisinde 4 adet daha sinyal hattı ve 4 adet daha buton için kontaklar bulunmaktadır. En iyi tahminim, bu denetleyici kartının tüm kablolu tabanlı modellerinde kullanıldığı ve gerektiğinde kartın üzerine farklı yüz plakaları yerleştirdikleridir. Yani, çalışan bir teorim vardı. Besleme hattını kullanım sırasında düşüp düşmediğini veya herhangi bir zamanda yükselip yükselmediğini görmek için test ettim - hayır. Sinyal hatları üzerinden çok az akım çekildi ancak motoru etkinleştirmek için 12 volta ihtiyaçları vardı.
2. Adım: Tasarım
Yani VCC ile sinyal pininin her biri arasında basit bir kontak bağlantısı gerekli, ancak bu benim sistemimde nasıl yapılır. Kontaklar için iki röle gerekecek ve kablosuz kontrolör için bir ESP8266 çalışacaktır. Röleler, dijital pinlerin sağlayabileceğinden daha fazla akım gerektirebileceğinden, kontrolör ve röle arasında bir optoizolatör kullanmak en iyisidir. Bu, küçük bir sinyalin daha yüksek bir akım anahtarını (bu durumda ışıkla çalışan bir transistör) açmasına ve röle bobinini güvenli bir şekilde etkinleştirmesine izin verecektir. Ayrıca, bir optoizolatör, denetleyiciyi röle bobini serbest bırakıldığında ve manyetik alan çöktüğünde oluşabilecek herhangi bir ani yükselmeden izole eder. Neyse ki, zaten tüm bu devreleri içeren ve oldukça düşük bir fiyata röle modülleri var.
Yatak, kontrolör için güç kaynağı olacak ve sağlanan 12 voltla başa çıkabilmek için değişken bir dönüştürücüye ihtiyacımız olacak. Aşağıda çok ucuz bir bağlantı verilmiştir ve güzel bir şekilde çalışmaktadır. 12V hattı ve GND hatları konvertörün giriş tarafına, regüleli 5 volt tarafı ise NodeMCU'nun VCC'sine ve röle modülü üzerindeki VCC pinine bağlanır. Konvertör üzerindeki toprak (-) üzerindeki GND pinlerine bağlanır. hem röle modülü hem de NodeMCU.
NodeMCU, D1 (GPIO5) kullanarak IN1'e ve D2 (GPIO4) kullanarak IN2'ye bağlanır. Yataktaki yukarı sinyal hattı, röle 1 için normalde açık olan vidalı terminale bağlanır ve aşağı sinyal hattı, röle 2'ye normalde açık terminal blok konektörüne bağlanır. Buck dönüştürücünün giriş tarafına bağlı olan 12v kabloyu, BOTH röle 1 ve 2 için diğer terminal bloğu bağlantısına da bağlamanız gerekecektir.
Parçalar
- 1 - DüğümMCU
- 1 - Akım izolasyonlu Duel Röle Modülü
- 1 - Değişken giriş/çıkış buck Dönüştürücü
- 1 - Breadboard PCB
- 22 gauge çok telli bakır özlü tel
- 2 - M3x 8 vida
3. Adım: Muhafaza
Muhafaza burada bulunabilir:
Yatak kontrol kablosunun kutu içindeki gerilim azaltma braketleri arasından kutuya girmesini sağlayan Tinkercad ile basit bir kutu tasarladım. Burada kablonun kaymasını önlemeye yardımcı olacak bir zip bağı için yuvalar var ama benim durumumda uyum çok rahattı ve buna gerek yoktu. Kapak 2 adet M3x 8 vida ile vidalanmıştır. Kodu yüklemenizi ve kutuya monte etmeden önce sistemi test etmenizi öneririm.
Levhaları yerinde tutmak için sıcak tutkal kullandım ama bu gerekli olmayabilir.
4. Adım: Kod
Kod burada bulunabilir:
NOT: Bu proje, Arduino IDE'deki Kitaplık Yöneticisine eklenebilen pubsubclient kitaplığını kullanır
Buradaki kod oldukça basittir ve Home Assistant'taki Cover MQTT türüne göre tasarlanmıştır. Buradaki fikir basittir: home assistant'ta yukarı veya aşağı düğmesine bastığınızda, uygun röle, durdurma komutu alınana kadar VEYA sistem maksimum aktivasyon süresine ulaşıp durur.
Maksimum süre, kullanıcının durdurmayı unutması veya komutun yanlışlıkla gönderilmesi ve birinin onu durdurmasının olası olmaması durumunda bir güvenlik önlemi anlamına gelir. Rölenin süresiz açık kalmasını veya uzun süreli kontak kapanması nedeniyle yatakta beklenmedik sorunlar olmasını istemiyoruz.
Kodumda bu zaman aşımı 20 saniyedir ve kodun üst kısmındaki global değişken bloğunda ayarlanabilir.
İkinci bir güvenlik önlemi, bir röleyi etkinleştirirsem, son durum zaten kapalı olsa bile, diğerinin kasıtlı olarak devre dışı bırakılmasının her zaman çağrıldığından her zaman emin olmaktı. Yatağa ne yapacağını bilmediğim için her iki sinyal hattına da 12v göndermek istemiyorum.
Bunun dışında yatak, her 60 saniyede bir müsait olduğunu yayınlıyor ve bu kadar. Burada çan veya ıslık yok. Yatakta konum geri bildirimi olmadığı için Ev Asistanına geri gönderemedim.
Adım 5: Örnek Entegrasyon
Yazdığım kod WiFi üzerinden iletişim kurmak için MQTT kullanıyor ve bu nedenle MQTT kullanan herhangi bir otomasyon hub'ı veya cihazı ile iletişim kurabilir. Yerleşik bir MQTT komisyoncusu olan Home Assistant kullanıyorum. Aşağıda HA yapılandırmamın bir örneği bulunmaktadır.
HA'da aşağıdaki tanıma sahip bir cover.yaml dosyasına sahibim:
- platform: mqtt
name: "Master Bed Headboard" command_topic: "master_bed_control/cmd"available_topic: "master_bed_control/availability" qos: 0 alıkoyma: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_available: " çevrimdışı" iyimser: doğru
Bu bana HA arayüzümde yukarıda açıklanan eylemle birlikte bir yukarı/durdur/aşağı düğmesi ayarlanmış bir giriş sağlar.
Ek olarak, Başucu Kontrol Panelime (Instructable / Blog Post) başlığı yükseltmek ve alçaltmak için iki düğme tanımladım. Kontrol panelindeki düğmeler MQTT sensörleri olarak tanımlanmıştır:
- platform: mqtt
state_topic: "bedside_cp1/button5" ad: "Başucu CP1 Düğmesi 5" simgesi: mdi:circle
- platform: mqtt
state_topic: "bedside_cp1/button6" ad: "Başucu CP1 Düğmesi 6" simgesi: mdi:circle
… ve her bir düğmeye ne zaman basılıp bırakılacağına ilişkin 4 otomasyon kuralı. Basıldığında, hangi butonun aktif olduğuna bağlı olarak yatağa yukarı veya aşağı komutu gönderilir, buton bırakıldığında ise stop komutu gönderilir:
- kimlik: '1548308650383'
takma ad: MBR Başucu CP Düğmesi 5a tetikleyici: - entity_id: sensor.bedside_cp1_button_5 gelen: 'Kapalı' platform: durum: 'Açık' koşul: eylem: - veri: entity_id: ' cover.master_bed_headboard' hizmeti: cover.open_cover - id: '1548308758911' diğer adı: MBR Başucu CP Düğmesi 5b tetikleyici: - entity_id: sensor.bedside_cp1_button_5 from: 'On' platform: state to: 'Off' koşul: action: - data: entity_id: ' cover.master_bed_headboard' hizmeti: cover.stop_cover - id: '1548308863495' diğer adı: MBR Hasta Başı CP Düğmesi 6a tetikleyici: - entity_id: sensor.bedside_cp1_button_6 from: 'Off' platform: state to: 'On' (Açık) durum: action: - data: entity_id: ' cover.master_bed_headboard' hizmeti: cover.close_cover - id: '1548308911467' diğer adı: MBR Başucu CP Düğmesi 6b tetikleyici: - entity_id: sensor.bedside_cp1_button_6 from: 'Açık' platform: durum: 'Kapalı' durum: eylem: - veri: entity_id: ' cover.master_bed_headboard' hizmeti: cover.stop_cover
Önerilen:
Yatak Altı Aydınlatma Hareket Algılama: 16 Adım (Resimli)
Yatak Altında Hareket Algılama Aydınlatması: Hiç geceleri sadece bir şeye takılıp tüm evi uyandırmak için sessizce yataktan kalkmayı denediniz mi? Yatağınızın altına gizlice yerleştirilmiş harekete duyarlı gece lambaları, o başıboş LEGO tuğlalarının etrafında size rehberlik edecek kadar parlak, düşük seviyeli bir ışık sağlar
ESP8266-01 ile Yatak Başlığı LED Şerit Lamba: 5 Adım
ESP8266-01 ile Yatak Başlığı LED Şerit Lamba: Bu çok kolay bir proje uzun zaman önce ihmal ettim, ancak karantina nedeniyle elimdeki parçalarla farklı bir şey yaptım. Fikir, kısılabilir bir ışığa sahip olmaktı. basit TCP komutları veya manuel bir anahtar ile kontrol edilebilir
Raspberry Pi ile Yatak Odasında ve Banyoda Akıllı Müzik – Çoklu Oda, Alarm, Düğme Kontrolü ve Ev Otomasyonunu Birleştirme: 7 Adım
Raspberry Pi ile Yatak Odasında ve Banyoda Akıllı Müzik – Çoklu Oda, Alarm, Düğme Kontrolü ve Ev Otomasyonunu Birleştirme: Bugün size Raspberry Pi'yi Max2Play yazılımımızla ev otomasyonu için nasıl kullanabileceğinize dair iki örnek vermek istiyoruz: banyoda ve yatak odasında . Her iki proje de, çeşitli kaynaklardan gelen yüksek kaliteli müziğin farklı kanallardan yayınlanabilmesi açısından benzerdir
LED Arkadan Aydınlatmalı Yatak Başlığı - Dokunmatik Aktif: 3 Adım
LED Arkadan Aydınlatmalı Yatak Başlığı - Dokunma Etkinleştirildi: Dokunmaya duyarlı direk başlığına sahip LED Şerit Aydınlatma. LED'leri etkinleştirmek için yatağın direğindeki bakır kapağa dokunuyorum. Dördüncü dokunuş dönmeden önce sırayla etkinleştirilen düşük, orta ve parlak olmak üzere üç ışık seviyesi yoğunluğu vardır
Sadece 10 Adımda Ucuza Taşınabilir Reklam Tabelası!!: 13 Adımda (Resimli)
Sadece 10 Adımda Ucuza Taşınabilir Reklam Tabelası !!: Kendi, ucuz, taşınabilir reklam tabelanızı yapın. Bu işaret ile mesajınızı veya logonuzu şehrin herhangi bir yerindeki herkese gösterebilirsiniz. Bu talimat, https://www.instructables.com/id/Low-Cost-Illuminated-… adresindeki/iyileştirme/değişime bir yanıttır