Daftar Isi:

Kontrol Headboard Tempat Tidur MQTT Nirkabel: 5 Langkah (dengan Gambar)
Kontrol Headboard Tempat Tidur MQTT Nirkabel: 5 Langkah (dengan Gambar)

Video: Kontrol Headboard Tempat Tidur MQTT Nirkabel: 5 Langkah (dengan Gambar)

Video: Kontrol Headboard Tempat Tidur MQTT Nirkabel: 5 Langkah (dengan Gambar)
Video: Automated Blinds v2 update + Smart Home Topics 2024, November
Anonim
Kontrol Headboard Tempat Tidur MQTT Nirkabel
Kontrol Headboard Tempat Tidur MQTT Nirkabel
Kontrol Headboard Tempat Tidur MQTT Nirkabel
Kontrol Headboard Tempat Tidur MQTT Nirkabel

Beberapa tahun yang lalu kami membeli tempat tidur busa memori baru dan, seperti halnya dengan sebagian besar tempat tidur, Anda juga harus membeli salah satu "basis yang disetujui" untuk mempertahankan garansi. Jadi, kami memilih alas yang paling murah yang juga mencakup kemampuan menaikkan dan menurunkan kepala tempat tidur. Beberapa hari kemudian kasur kami dan alas murah American Adjustables kami dengan kontrol kabel (satu untuk setiap sisi tempat tidur) dikirim dan disiapkan.

Hal pertama yang kami perhatikan adalah bahwa kabel di ruang pamer yang bagus dan panjang tidak seperti yang kami miliki di tempat tidur kami! Yang di showroom punya ekstensi. Ekstensi ini TIDAK disertakan dengan tempat tidur kami dan cukup menarik, tidak ada yang tertarik untuk menjual sepasang kabel ekstensi kepada kami. Ini meninggalkan kami dengan kontrol yang hampir tidak mencapai bagian atas tempat tidur dan yang harus kami balikkan untuk digunakan.

Kau mendapatkan apa yang kau bayar

Setelah sekitar 6 bulan, kami melihat bahwa kerah pelepas ketegangan pada salah satu kontrol mulai robek. Beberapa bulan kemudian - kawat telanjang. Maju cepat sekitar satu tahun, salah satu kontrol tidak lagi berfungsi dan yang lainnya menjadi sedikit gelisah.

Sekali lagi, tidak ada yang tertarik menjual pengganti kepada kami. Kemudian itu memukul saya!

Tunggu sebentar! Bukankah aku sedang membangun otomatisasi rumah dan sistem KONTROL?!?

Langkah 1: Penemuan

Penemuan
Penemuan
Penemuan
Penemuan

Saya ingin melihat apa yang bisa saya lakukan dengan apa yang saya miliki, jadi saya mengambil pengontrol yang rusak dan wow! ada banyak omong kosong di sana! Untuk apa semua barang ini? Aku melangkah mundur dan hanya melihat garis masuk dan keluar. Saya dapat melihat bahwa ada jalur suplai 12 volt dan jalur ground. Dua garis lainnya tampak seperti garis sinyal untuk dua tombol atas dan bawah. Jadi, saya mengambil kesempatan dan hanya melompati suplai 12v ke jalur sinyal "naik". Tempat tidur mulai bergerak! Saya kemudian memindahkan kabel jumper saya ke jalur sinyal "turun" dan tempat tidurnya turun!

Di dalam kotak ada kontak untuk 4 jalur sinyal lagi dan 4 tombol lagi. Tebakan terbaik saya adalah bahwa papan pengontrol ini digunakan di semua model dasar kabel mereka dan mereka hanya meletakkan pelat muka yang berbeda di atas papan sesuai kebutuhan. Jadi, saya punya teori kerja. Saya menguji jalur suplai untuk melihat apakah itu dicelupkan saat digunakan atau dibubuhi kapan saja - tidak. Ada sangat sedikit penarikan arus di atas garis sinyal tetapi mereka memang membutuhkan 12 volt untuk mengaktifkan motor.

Langkah 2: Desain

Desain
Desain
Desain
Desain
Desain
Desain
Desain
Desain

Jadi koneksi kontak sederhana antara VCC dan pin sinyal masing-masing adalah semua yang diperlukan tetapi bagaimana hal itu dilakukan dalam sistem saya. Dua relai akan diperlukan untuk kontak dan ESP8266 akan berfungsi untuk pengontrol nirkabel. Karena relai dapat membutuhkan lebih banyak arus daripada yang dapat disuplai oleh pin digital, yang terbaik adalah menggunakan optoisolator antara pengontrol dan relai. Ini akan memungkinkan sinyal kecil untuk menghidupkan sakelar arus yang lebih tinggi (dalam hal ini transistor yang digerakkan oleh cahaya) dan mengaktifkan koil relai dengan aman. Juga, optoisolator mengisolasi pengontrol dari lonjakan apa pun yang dapat terbentuk ketika koil relai dilepaskan dan medan magnet runtuh. Untungnya, ada modul relai yang sudah berisi semua sirkuit ini dan dengan harga yang cukup murah.

Tempat tidur akan menjadi catu daya untuk pengontrol dan untuk menangani 12 volt yang dipasok, kita memerlukan konverter buck variabel. Yang sangat murah telah ditautkan di bawah dan berfungsi dengan baik. Jalur 12V dan jalur GND terhubung ke sisi input konverter dan sisi 5 volt yang diatur terhubung ke VCC NodeMCU dan pin VCC pada modul relai. Ground (-) pada konverter terhubung ke pin GND di baik modul relai maupun NodeMCU.

NodeMCU terhubung ke IN1 menggunakan D1 (GPIO5) dan IN2 menggunakan D2 (GPIO4). Jalur sinyal atas pada unggun terhubung ke terminal sekrup yang biasanya terbuka untuk relai 1 dan jalur sinyal bawah terhubung ke relai 2 konektor blok terminal yang biasanya terbuka. Anda harus menghubungkan kabel 12v yang terhubung ke sisi input konverter buck juga ke koneksi blok terminal lain untuk KEDUA relai 1 dan 2.

Bagian

  • 1 - NodeMCU
  • 1 - Modul Relay Duel dengan isolasi saat ini
  • 1 - Konverter uang input/output variabel
  • 1 - PCB papan tempat memotong roti
  • 22 gauge kawat inti tembaga terdampar
  • 2 - M3x 8 sekrup

Langkah 3: Kandang

Lampiran
Lampiran

Enklosur dapat ditemukan di sini:

Saya merancang enklosuer sederhana dengan Tinkercad yang memungkinkan kabel kontrol tempat tidur masuk ke kotak di antara braket pelepas regangan di dalam kotak. Ada slot untuk dasi zip di sini yang akan membantu menjaga kabel agar tidak tergelincir tetapi dalam kasus saya pas sangat pas dan tidak membutuhkannya. Penutup dibaut dengan 2 sekrup M3x 8. Saya akan merekomendasikan mengunggah kode dan menguji sistem sebelum memasangnya di dalam kotak.

Saya menggunakan lem panas untuk menahan papan di tempatnya tetapi ini mungkin tidak perlu.

Langkah 4: Kode

Kode dapat ditemukan di sini:

CATATAN: Proyek ini menggunakan perpustakaan pubsubclient yang dapat ditambahkan di Manajer Perpustakaan di Arduino IDE

Kode di sini cukup mendasar dan dirancang berdasarkan tipe Cover MQTT di Home Assistant. Idenya di sini sederhana: ketika Anda menekan tombol atas atau bawah di asisten rumah, relai yang sesuai menutup hingga perintah berhenti diterima ATAU sistem mencapai waktu aktivasi maksimum dan berhenti.

Waktu maksimum dimaksudkan sebagai tindakan pencegahan keamanan jika pengguna lupa untuk menghentikannya atau jika perintah itu tidak sengaja dikirim dan tidak mungkin seseorang akan menghentikannya. Kami tidak ingin relai menyala tanpa batas atau masalah tak terduga dengan tempat tidur karena penutupan kontak yang berkepanjangan.

Dalam kode saya, batas waktu ini adalah 20 detik dan dapat disesuaikan di blok variabel global di bagian atas kode.

Tindakan pencegahan keselamatan kedua adalah selalu memastikan bahwa jika saya mengaktifkan satu relai, penonaktifan relai yang lain selalu dipanggil, bahkan jika status terakhir sudah mati. Saya tidak ingin mengirim 12v ke kedua jalur sinyal karena saya tidak tahu apa yang akan terjadi pada tempat tidur.

Selain itu, tempat tidur menerbitkan bahwa itu tersedia setiap 60 detik dan hanya itu. Tidak ada lonceng atau peluit di sini. Karena tempat tidur tidak memiliki umpan balik posisi, saya tidak dapat mengirim kembali apa pun ke Asisten Rumah.

Langkah 5: Contoh Integrasi

Contoh Integrasi
Contoh Integrasi
Contoh Integrasi
Contoh Integrasi

Kode yang saya tulis menggunakan MQTT untuk berkomunikasi melalui WiFi dan karenanya dapat berkomunikasi dengan hub atau perangkat otomatisasi apa pun yang menggunakan MQTT. Saya menggunakan Home Assistant yang memiliki broker MQTT bawaan. Di bawah ini adalah contoh konfigurasi HA saya.

Di HA saya memiliki file covers.yaml dengan definisi berikut:

- platform: mqtt

name: "Master Bed Headboard" command_topic: "master_bed_control/cmd" availability_topic: "master_bed_control/availability" qos: 0 simpan: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_available: " offline" optimis: benar

Ini memberi saya satu entri di antarmuka HA saya dengan tombol naik/berhenti/turun dengan tindakan seperti dijelaskan di atas.

Selain itu, saya telah menetapkan dua tombol di Panel Kontrol Samping Tempat Tidur saya (Instructable / Blog Post) untuk menaikkan dan menurunkan kepala tempat tidur. Tombol-tombol pada panel kontrol didefinisikan sebagai sensor MQTT:

- platform: mqtt

state_topic: "bedside_cp1/button5" nama: "Bedside CP1 Button 5" ikon: mdi:lingkaran

- platform: mqtt

state_topic: "bedside_cp1/button6" nama: "Bedside CP1 Button 6" ikon: mdi:lingkaran

… dan 4 aturan otomatisasi ketika setiap tombol ditekan dan dilepaskan. Saat ditekan, perintah naik atau turun dikirim ke tempat tidur tergantung pada tombol mana yang diaktifkan, ketika tombol dilepaskan, perintah berhenti dikirim:

- nomor: '1548308650383'

alias: MBR Bedside CP Button 5a trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'Off' platform: state to: 'On' condition: action: - data: entity_id: ' cover.master_bed_headboard' service: cover.open_cover - id: '1548308758911' alias: MBR Bedside CP Button 5b trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'On' platform: state to: 'Off' condition: action: - data: entity_id: ' cover.master_bed_headboard' service: cover.stop_cover - id: '1548308863495' alias: MBR Bedside CP Button 6a trigger: - entity_id: sensor.bedside_cp1_button_6 from: 'Off' platform: state to: 'On' condition: action: - data: entity_id: ' cover.master_bed_headboard' service: cover.close_cover - id: '1548308911467' alias: MBR Bedside CP Button 6b trigger: - entity_id: sensor.bedside_cp1_button_6 from: 'On' platform: state to: 'Off' condition: action: - data: entity_id: ' cover.master_bed_headboard' service: cover.stop_cover

Direkomendasikan: