Isi kandungan:

Kawalan Headboard katil MQTT tanpa wayar: 5 Langkah (dengan Gambar)
Kawalan Headboard katil MQTT tanpa wayar: 5 Langkah (dengan Gambar)

Video: Kawalan Headboard katil MQTT tanpa wayar: 5 Langkah (dengan Gambar)

Video: Kawalan Headboard katil MQTT tanpa wayar: 5 Langkah (dengan Gambar)
Video: How to make a fake leather upholstered headboard. #diy #diycrafts #diyhomedecor #howtomake 2024, Julai
Anonim
Kawalan Papan Katil MQTT Tanpa Wayar
Kawalan Papan Katil MQTT Tanpa Wayar
Kawalan Headboard katil MQTT tanpa wayar
Kawalan Headboard katil MQTT tanpa wayar

Beberapa tahun yang lalu kami membeli tempat tidur busa memori baru dan, seperti kebanyakan katil, anda juga harus membeli salah satu "pangkalan yang diluluskan" untuk mengekalkan jaminan. Oleh itu, kami memilih pangkalan paling murah yang juga merangkumi kemampuan menaikkan dan menurunkan kepala tempat tidur. Beberapa hari kemudian tilam dan pangkalan murah American Adjustable kami dengan kawalan berwayar (satu untuk setiap sisi katil) dihantar dan disediakan.

Perkara pertama yang kami perhatikan adalah bahawa tali di ruang pameran yang bagus dan panjang bukan seperti yang ada di tempat tidur kami! Yang ada di bilik pameran mempunyai sambungan. Sambungan ini TIDAK disertakan dengan tempat tidur kami dan cukup menarik, tidak ada yang berminat untuk menjual sepasang kabel sambungan kepada kami. Ini membuat kami mempunyai kawalan yang hampir tidak sampai di bahagian atas katil dan yang, kami terpaksa menyerahkannya untuk digunakan.

Anda mendapat apa yang anda bayar

Setelah kira-kira 6 bulan, kami menyedari bahawa kerah pelepasan regangan pada salah satu alat kawalan mula terkoyak. Beberapa bulan kemudian - wayar kosong. Maju cepat kira-kira setahun, salah satu kawalan tidak lagi berfungsi dan yang satu lagi menjadi sedikit berkedut.

Sekali lagi, tidak ada yang berminat untuk menjual pengganti kepada kami. Kemudian ia memukul saya!

Tunggu sebentar! Bukankah aku membina sistem automasi dan KAWALAN rumah?!?

Langkah 1: Penemuan

Penemuan
Penemuan
Penemuan
Penemuan

Saya ingin melihat apa yang dapat saya lakukan dengan apa yang saya ada sehingga saya mengambil appart pengawal yang rosak dan wow! ada banyak omong kosong di sana! Untuk apa semua barang ini? Saya melangkah ke belakang dan hanya melihat garis-garis yang masuk dan keluar. Saya dapat melihat bahawa terdapat talian bekalan 12 volt dan talian bawah. Dua garisan lain kelihatan seperti garis isyarat untuk dua butang atas dan bawah. Oleh itu, saya mengambil kesempatan dan hanya melancarkan bekalan 12v ke saluran isyarat "naik". Tempat tidur mula bergerak! Saya kemudian menggerakkan wayar pelompat saya ke garisan isyarat "bawah" dan katilnya jatuh!

Di dalam kotak terdapat kenalan untuk 4 lagi garis isyarat dan 4 butang lagi. Dugaan terbaik saya ialah papan pengawal ini digunakan dalam semua model asas berwayar mereka dan mereka hanya meletakkan plat muka yang berlainan di atas papan mengikut keperluan. Oleh itu, saya mempunyai teori kerja. Saya menguji saluran bekalan untuk melihat apakah ia merosot semasa penggunaan atau melonjak pada bila-bila masa - tidak. Terdapat arus yang sangat sedikit pada garis isyarat tetapi mereka memerlukan 12 volt untuk mengaktifkan motor.

Langkah 2: Reka bentuk

Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk

Oleh itu, hubungan hubungan mudah antara VCC dan pin isyarat adalah semua yang diperlukan tetapi bagaimana ia dilakukan dalam sistem saya. Dua relai diperlukan untuk kenalan dan ESP8266 berfungsi untuk alat kawalan tanpa wayar. Oleh kerana geganti memerlukan lebih banyak arus daripada yang dapat dibekalkan oleh pin digital, lebih baik menggunakan optoisolator antara pengawal dan geganti. Ini akan membolehkan isyarat kecil menghidupkan suis arus yang lebih tinggi (dalam kes ini transistor yang digerakkan cahaya) dan mengaktifkan gegelung geganti dengan selamat. Juga, optoisolator mengasingkan pengawal dari sebarang lonjakan yang dapat terbentuk ketika gegelung geganti dilepaskan dan medan magnet runtuh. Nasib baik, modul geganti ada yang sudah mengandungi semua litar ini dan dengan harga yang cukup rendah.

Tempat tidur akan menjadi bekalan kuasa untuk pengawal dan untuk menangani 12 volt yang dibekalkan, kita memerlukan penukar buck yang berubah-ubah. Yang sangat murah telah dipautkan di bawah dan berfungsi dengan baik. Garis 12V dan garis GND menyambung ke sisi input penukar dan sisi 5 volt yang diatur menghubungkan ke VCC NodeMCU dan pin VCC pada modul geganti. Tanah (-) pada penukar menghubungkan ke pin GND pada kedua-dua modul geganti dan NodeMCU.

NodeMCU menyambung ke IN1 menggunakan D1 (GPIO5) dan IN2 menggunakan D2 (GPIO4). Garis isyarat atas di atas katil menghubungkan ke terminal skru terbuka yang normal untuk relay 1 dan garis isyarat bawah menghubungkan ke relay 2 penyambung blok terminal yang biasanya terbuka. Anda perlu menyambungkan wayar 12v yang disambungkan ke bahagian input penukar buck juga ke sambungan blok terminal lain untuk kedua-dua geganti 1 dan 2.

Bahagian

  • 1 - NodeMCU
  • 1 - Modul Duel Relay dengan pengasingan semasa
  • 1 - Penukar input / output buck berubah
  • 1 - PCB papan roti
  • 22 wayar teras tembaga terkandas
  • 2 - skru M3x 8

Langkah 3: Kandang

Pagar
Pagar

Kandang boleh didapati di sini:

Saya merancang enkloser sederhana dengan Tinkercad yang membolehkan kabel kawalan tempat tidur memasuki kotak antara kurungan pelepas regangan di dalam kotak. Terdapat slot untuk tali leher di sini yang akan membantu mengelakkan kabel tergelincir tetapi dalam kes saya, pemasangannya sangat selesa dan tidak memerlukannya. Penutupnya dilekatkan dengan 2 skru M3x 8. Saya akan mengesyorkan memuat naik kod dan menguji sistem sebelum memasangnya di dalam kotak.

Saya menggunakan gam panas untuk memegang papan di tempatnya tetapi ini mungkin tidak diperlukan.

Langkah 4: Kod

Kodnya boleh didapati di sini:

CATATAN: Projek ini menggunakan perpustakaan pelanggan pub yang boleh ditambahkan di Pengurus Perpustakaan di Arduino IDE

Kod di sini cukup asas dan direka berdasarkan jenis Cover MQTT di Pembantu Rumah. Ideanya di sini mudah: apabila anda menekan butang atas atau bawah di pembantu rumah, geganti yang sesuai ditutup sehingga arahan berhenti diterima ATAU sistem mencapai masa pengaktifan maksimum dan berhenti.

Waktu maksimum dimaksudkan sebagai langkah keselamatan sekiranya pengguna terlupa untuk menghentikannya atau jika perintah itu dihantar secara tidak sengaja dan tidak mungkin seseorang akan menghentikannya. Kami tidak mahu geganti dipasang tanpa had atau masalah yang tidak dijangka dengan tempat tidur kerana penutupan hubungan yang berpanjangan.

Dalam kod saya, tamat masa ini adalah 20 saat dan boleh disesuaikan dalam blok pemboleh ubah global di bahagian atas kod.

Langkah berjaga-jaga keselamatan kedua adalah untuk selalu memastikan bahawa jika saya mengaktifkan satu geganti, penonaktifan yang sengaja dilakukan selalu disebut, walaupun keadaan terakhir sudah dimatikan. Saya tidak mahu menghantar 12v ke bawah kedua-dua garis isyarat kerana saya tidak tahu apa yang akan dilakukan ke tempat tidur.

Selain daripada itu, tempat tidur menerbitkan bahawa ia tersedia setiap 60 saat dan hanya itu. Tidak ada loceng atau wisel di sini. Oleh kerana katil tidak mempunyai maklum balas kedudukan, saya tidak dapat menghantarnya lagi kepada Pembantu Rumah.

Langkah 5: Integrasi Contoh

Contoh Integrasi
Contoh Integrasi
Contoh Integrasi
Contoh Integrasi

Kod yang saya tulis menggunakan MQTT untuk berkomunikasi melalui WiFi dan oleh itu dapat berkomunikasi dengan mana-mana hab automatik atau peranti yang menggunakan MQTT. Saya menggunakan Pembantu Rumah yang mempunyai broker MQTT. Berikut adalah contoh konfigurasi HA saya.

Di HA saya mempunyai fail covers.yaml dengan definisi berikut:

- platform: mqtt

name: "Master Bed Headboard" command_topic: "master_bed_control / cmd" available_topic: "master_bed_control / available" qos: 0 retain: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "dalam talian" payload_not_available: luar talian "optimis: benar

Ini memberi saya satu entri di antara muka HA saya dengan butang naik / berhenti / bawah yang diset dengan tindakan seperti yang dijelaskan di atas.

Selain itu, saya telah menentukan dua butang pada Panel Kawalan Samping Tempat Tidur saya (Instructable / Blog Post) untuk menaikkan dan menurunkan kepala katil. Butang pada panel kawalan ditakrifkan sebagai sensor MQTT:

- platform: mqtt

state_topic: "bedside_cp1 / button5" name: "Bedside CP1 Button 5" ikon: mdi: bulatan

- platform: mqtt

state_topic: "bedside_cp1 / button6" name: "Bedside CP1 Button 6" ikon: mdi: bulatan

… Dan 4 peraturan automasi ketika setiap butang ditekan dan dilepaskan. Ketika ditekan, perintah atas atau bawah dikirim ke tempat tidur tergantung pada tombol mana yang diaktifkan, ketika tombol dilepaskan, perintah berhenti dikirim:

- id: '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' perkhidmatan: 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' perkhidmatan: 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: entiti_id: perkhidmatan 'cover.master_bed_headboard': cover.stop_cover

Disyorkan: