Rumah otomatis saya: Raspberry Pi + Node-Red + MQTT & Amazon Echo
dalam fitur rumah otomatis saya yang terbaru, Dave McLaughlin membawa kami melalui perjalanannya mengembangkan sistem rumah pintarnya sendiri. Dengan beberapa peningkatan DIY ke perangkat keras otomatisasi rumah yang ada dan beberapa integrasi perangkat lunak yang cerdas, ia membangun sistem yang menarik …
Pada awalnya
Having used Homeseer and a number of wired and wireless devices whilst in the UK, I switched to wireless when I moved overseas to Indonesia in 2005. As I was living in a rented apartment I need a solution that would not require any cables other than maybe Ethernet di ruangan yang sama.
Saya memutuskan sistem Z-Wave, kemudian menambahkan modul lampu Wemo juga. Untuk sisi Z-Wave dari hal-hal, saya memilih modul alat homepro untuk soket dan modul lampu Everspring untuk pencahayaan. Tak satu pun dari 2 modul ini murah.
Saya berlari dengan pengaturan ini hingga pertengahan 2016, tetapi masalah -masalah berikut mendorong perubahan. Pertama, Z-Wave temperamental dengan 2 unit di ujung apartemen OU, meskipun saya memiliki modul alat setengah jalan di antara itu tidak pernah bekerja dengan andal. Saya akan terus menekan tablet berbasis sentuh homeseer untuk membuat lampu tempat tidur saya mati. Kemudian saya akan memiliki 2 unit yang dikendalikan lampu dan gagal. Salah satu IC yang merupakan bagian dari catu daya telah terbelah lebar.
Sakit kepala berikutnya adalah modul lampu Wemo. Satu -satunya cara untuk membuatnya bekerja adalah dengan IFTTT melalui saluran homese dan Wemo mereka. Selama koneksi internet saya bagus, ini bekerja dengan baik, meskipun agak lambat kadang -kadang. Bukan 10 pada skala WAF.
Pada awal 2016 saya menemukan situs web yang dijalankan oleh Peter Scargill yang biasa menjalankan perusahaan desain elektronik bertahun -tahun yang lalu dari Tyneside. Pada saat itu saya menggunakan pengontrol AppCon Wired untuk otomatisasi rumah berdasarkan mikrokontroler 8 bit pic kecil. Saya memiliki ratusan meter dari 4 kabel alarm inti di seluruh apartemen saya. Sistem ini dapat diandalkan tetapi berusaha menyembunyikan semua kabel itu tidak cocok dengan pasangan saya saat itu.
Maju cepat ke 2016 dan Peter kembali melakukan otomatisasi rumah dengan pengontrol berbasis ESP8266 kecil.
Ini didasarkan pada inti Cortex M4 dengan wifi 802.11 bawaan dan dilengkapi dengan SDK yang memungkinkan pengembangan dengan gerhana serta opsi IDE Arduino.
Karena unit homepro saya merepotkan, saya memutuskan untuk merekayasa ulang internal dan menjaga bagian mekanis. Jadi saya mengeluarkan PCB lama dan melakukan semua pengukuran sehingga saya bisa membuat rakitan 2 tumpukan PCB sendiri hampir sama dengan yang lama. PCB yang lebih rendah adalah catu daya dan relai solid state.
Saya memilih solid state relay saat mereka menyalakan nol persimpangan dan menghindari masalah dengan menarik ke bawah AC dan menyebabkan catu daya mencelupkan. Ini berfungsi dengan sempurna dan saya dapat beralih hingga 8 amp dengan pengaturan ini. Lebih dari cukup untuk penggunaan modul ini yang dimaksudkan.
Gambar -gambar ini menunjukkan tumpukan papan baru dan papan lama di dalam modul dan akhirnya papan baru dipasang ke dalam kandang homepro.
Ada LED di papan untuk menunjukkan status dan saya mengebor lubang kecil untuk memungkinkan ini terlihat dari luar. Ini berkedip dengan cepat sampai mendapat koneksi WiFi dan MQTT. Menggunakan tombol di bagian depan Anda dapat menekan dan menahan ini selama sekitar 3-5 detik setelah daya dan ini akan mengaktifkan APN dan halaman web yang dapat Anda gunakan untuk mengkonfigurasi perangkat. Lebih mudah daripada mencoba melakukan ini melalui koneksi serial. Peter dan Aiden telah mempertimbangkan segalanya dengan ini.
Sekarang pencahayaan perlu diurutkan. Unit Everspring yang saya beli dari Inggris beberapa tahun yang lalu digunakan untuk menunjukkan kesalahan yang mengganggu. Mereka kadang -kadang akan mulai mati dan kemudian kembali lagi. Itu benar -benar acak. Saya mengganti satu unit dengan yang baru dan hal yang sama terjadi. Kemudian suatu hari saya melihat bahwa kesalahan hidup/mati terjadi ketika tegangan di apartemen turun di bawah 209VAC – Indonesia tidak terlalu baik dalam hal stabilitas pasokan listrik. Saya membuka salah satu unit dan menemukan bahwa mereka menggunakan desain catu daya yang sangat murah berdasarkan jenis penetes kapasitor/resistor. Ini bagus ketika Anda memiliki catu daya yang stabil tetapi mereka benar -benar tidak suka ketika input tegangan terlalu rendah.
Jadi dipersenjatai dengan desain unit homepro, saya mulai membuat PCB baru agar sesuai dengan penutup yang ada. ESP12 terletak di satu sisi dan kekuatan AC-DC di sisi lain. Relai solid state juga berada di sisi yang sama dengan catu daya. Tombol prog dan on/off juga dipasang sehingga saya dapat menginstal perangkat lunak pada awalnya. Antarmuka web akan digunakan untuk mengonfigurasinya nanti. Anda dapat melihat sisi ESP PCB di bawah ini. Slot di PCB adalah untuk meningkatkan pemisahan daya AC dari sisi DC tegangan rendah. Bantalan besar adalah AC dan AC ke lampu.
Jadi sekarang saya memiliki sejumlah modul alat yang ditingkatkan dan pengontrol pencahayaan tetapi bagaimana saya akan mengendalikan semua ini? Sudah waktunya untuk pensiun sistem Homeseer 2 lama saya. PC tidakAkhir dari masalah dan menjadi Windows 10 itu akan memutuskan itu akan memperbarui dirinya sendiri tanpa izin saya. Saatnya pindah ke Linux.
Jadi, berdasarkan blog dari Peter saya memutuskan untuk mengeluarkan Raspberry PI3 saya dengan 7 ″ LCD dan Fire Up Node-Red. Node-merah untuk mereka yang tidak melihat ini adalah perangkat lunak drag and drop control yang sangat bagus dan stabil. Pada awalnya itu menakutkan untuk mengatur tetapi setelah sekitar satu minggu bermain saya mulai menemukan bahwa sangat mudah untuk memahami. Jika Anda memiliki keterampilan pemrograman, maka Anda akan merasa betah dengan skrip. Semua modul disediakan sebagai sumber skrip Java dan ada perpustakaan yang sangat besar dan terus meningkat untuk itu di situs web node-merah.
Selanjutnya saya membutuhkan broker MQTT karena perangkat lunak dari Peter berkomunikasi menggunakan protokol ini. Setelah Anda mengatur dan menggunakan MQTT, Anda dengan cepat menyadari betapa efisiennya di jaringan Anda. Tidak perlu polling perangkat atau bahkan untuk mengetahui alamat IP perangkat. Pialang menangani ini. Mereka yang akrab dengan XAP akan memahami ini.
Menggunakan Node-Red Saya mengatur berbagai timer (terima kasih kepada Peter lagi untuk bigtimer-nya) dan menyalakan lampu di malam hari. Menggunakan plugin Wemo saya sekarang juga memiliki kendali atas lampu Wemo meskipun hanya hidup dan mati. Pengembang plugin node-merah telah menjanjikan kontrol peredupan di beberapa titik waktu.
Oke, jadi saya memiliki pengaturan Node-Red dan MQTT tetapi sekarang saya membutuhkan cara untuk mengontrol lampu dan sakelar dengan suara dan beberapa bentuk antarmuka mekanik atau sentuh. Saya berlari melintasi beberapa sakelar nirkabel dari Enocean di situs web Element14 jadi saya memesan beberapa dari mereka bersama dengan modul Raspberry Pi Enocean yang terhubung ke pin GPIO pada PI dan menggunakan UART untuk berkomunikasi dengan node-merah dan plugin.
Sakelar memiliki hadiah karena tidak ada baterai untuk dipasang atau diurus. Mereka menggunakan pemanenan energi melalui kumparan dan magnet yang diaktifkan saat Anda menekan tombol. Sayangnya mereka tidak datang dengan perlengkapan dinding apa pun sehingga Anda harus merancang sendiri. Mereka memang menyediakan file sakelar STL yang bisa Anda dapatkan dicetak 3D jadi saya menggunakan ini dan membuat pemasangan saya sendiri untuk mereka. Ini melayani 2 tujuan, satu untuk menutupi sakelar lama di dinding memastikan tetap di posisi on sehingga modul lampu selalu menyala dan kedua untuk menemukan kontrol di lokasi yang akrab.
Menggunakan colokan Enocean node-merah saya mendapatkan muatan pesan dengan status tombol. Dengan parsing ini dalam sakelar node-merah saya dapat mengirim perintah yang sesuai ke lampu atau sakelar dll. Ini adalah contoh dari muatan yang dikirim oleh sakelar enocean. Ini dikodekan dalam format JSON yang sangat mudah diurai. ID dan V adalah apa yang kami minati.
{“payload”: {“id”: “002d0932”, “v”: “a0 down”, “unit”: “”, “rssi”: -76, “type”: “state”, “eep”: ” f6-02-03 “,” man “:” enocean_gmbh “,” desc “:” rocker switch “,” rv “:” 30 “,” rawbyte “:” 55000707017af630002d09323001fffff4c000d “},” _mmsgid “” “” “” “” “” “” }
Gambar berikut menunjukkan sakelar yang memiliki 4 output berdasarkan nilai msg.payload.v di telegram dari sakelar Enocean. Ini kemudian diarahkan ke perangkat yang sesuai. Saya menggunakan fitur sakelar dalam firmware MQTT untuk menghidupkan dan mematikan perangkat dari sakelar yang sama. Ini berarti saya memiliki hingga 4 status sakelar dari setiap modul Enocean.
Sekarang bagian yang menyenangkan dimulai karena saya memiliki Amazon Echo dan saya selalu ingin mengendalikan rumah saya dengan perintah suara. Anda dapat menyalahkan scifi untuk ini
Tidak ada dukungan gema langsung, setidaknya tidak tanpa memiliki koneksi HTTPS ke node-merah Anda dan yang sayangnya tidak mungkin dengan ISP saya jadi saya membutuhkan alternatif. Menggunakan Amazon Echo Habridge ini dari berjalan pada Raspberry PI3 yang sama, saya tidak dapat mengatur lampu aktif suara dll. Habridge meniru API Philips Hue sehingga Echo melihat perangkat yang Anda atur. Berikut adalah contoh perangkat yang disebut kipas ruang depan.
Dengan mengucapkan yang berikut di Echo, kipas dapat dihidupkan. “Alexa, Nyalakan Kipas Ruang Depan” atau OFF dengan mengatakan “Alexa, Matikan Kipas Ruang Depan”
Habridge mengirimkan perintah ke node-red melalui permintaan HTTP dan saya kemudian menguraikan URL untuk nilai-nilai. Ini adalah skrip sederhana seperti yang ditunjukkan di bawah ini.
Bagaimana melakukan ini dengan modul berbiaya rendah
Setelah merancang PCB saya sendiri untuk mengganti modul, saya membutuhkan cara untuk menambahkan modul sakelar tambahan dan pengontrol lampu.
Unit buatan rumah saya sendiri harganya sekitar US $ 15 untuk dibuat dengan semua PCB dan bagian -bagiannya bersama -sama. Begitu mahal.
#
Pratinjau
Produk
Peringkat
Harga
1
Jane Choi Raspberry Pi 4 B Model B 8GB Starter Kit (8GB RAM) -Mototherboard 64GB SD Card, CooliNG Fan, …
121 ulasan
£ 222,99
Beli di Amazon
2
Raspberry Pi 400 4GB Kit Start-Up Resmi, Tata Letak Inggris
215 ulasan
£ 110,56
Beli di Amazon
3
Freenove Ultimate Starter Kit untuk Raspberry Pi 4 B 3 B+ 400, 561 halaman Tutorial terperinci, Python C …
2.835 ulasan
£ 42,95
Beli di Amazon
Untuk mendapatkan ini lebih rendah saya menemukan ITead Studio Slampher dan S20 Smart Switch. Ini masing-masing sekitar US $ 12 untuk modul S20 dan $ 8,50 untuk pengontrol cahaya sehingga kurang dari modul Z-Wave di pasaran. Mereka datang dengan firmware sendiri yang dikendalikan dari aplikasi iOS atau Android tetapi saya ingin dapat menggunakan kode Peter. Peter telah melakukan penelitian tentang hal ini dan menemukan bahwa dengan perubahan kecil pada kodenya, itu akan memprogram ke dalam unit dan pekerjaan ITEAD. Anda memerlukan USB ke UART dengan output 3.3V untuk melakukan ini tetapi ini cukup sederhana jika Anda dapat menggunakan besi solder. Satu -satunya downside adalah bahwa modul ITEAD dilengkapi dengan flash 512kb dan untuk memungkinkan kode Peter melakukan pembaruan OTA, kita perlu mengubahnya menjadi 8MB. IC memori sekitar $ 3 untuk 5 di eBay. Berbekal stasiun pengerjaan ulang udara panas (meminjam teman jika Anda tidak memilikinya) pekerjaannya cepat dan tidak mengambil risiko kerusakan pada papan. Gambar berikut ini menunjukkan bagian kiri atas IC SOIC setelah menghapus yang lama dan yang baru dipasang.
Anda juga perlu solder di header ke baris tunggal 4 lubang di PCB. Ini berlaku untuk papan dan memungkinkan Anda untuk memprogramnya dengan firmware MQTT khusus. Saya memiliki blog terperinci tentang cara melakukan ini.
Modul S20 terlihat sangat cerdas dan modern. Sakelar daya memungkinkan Anda untuk menyalakan dan mematikannya secara lokal. Yang ditampilkan di sini adalah soket euro tetapi ITEAD akan segera menawarkan opsi AS dan Inggris.
Modul slampher adalah pengontrol lampu berbasis ES27 sehingga tidak ideal untuk Inggris saat ini tetapi mereka bekerja dengan sangat baik.
Mengingat mereka menawarkan modul Switch sebagai Inggris, saya berharap bahwa versi bayonet akan segera hadir. Saya sebenarnya lebih suka jenis sekrup sekarang untuk pemasangan yang lebih mudah.
Ini mudah dibuka dan dimodifikasi seperti sebelumnya dengan satu langkah tambahan selain dari penggantian IC flash dan itu adalah untuk memindahkan satu tautan nol ohm dari