Artikel yang diperbarui: https://viktorkirilov.me/post/home-automation-raspberry-pi/
https://youtu.be/wh0OoLUTeM8
Sejak kecil saya sangat menyukai elektronik dan berbagai jenis mekanisme. Sebelumnya saya telah melakukan berbagai proyek kecil dengan Arduino, seperti rem tangan untuk setir gaming saya, takometer LED khusus untuk mobil saya (lihat repo github saya), LED yang dikontrol suara, dan sebagainya. Baru-baru ini saya membeli Raspberry PI 3 dan mengatasi semua hype IoT, saya memutuskan untuk mulai mengotomatisasi rumah saya.
Karena saya cukup akrab dengan javascript dan ekosistemnya, saya memutuskan untuk membuat aplikasi ponsel saya sendiri melalui react native
dan menghubungkannya melalui websockets
ke backend NodeJS
. Saya menggunakan Catatan ImmutableJS untuk konsistensi struktur data dan kinerja aplikasi. Data dikirim antara klien dan server melalui string JSON, yang dikonversi menjadi catatan yang tidak dapat diubah, ketika diterima di kedua sisi. Saya telah memisahkan modul bersama (antara klien dan server) ke paket npm lokal terpisah - catatan rumah dan konfigurasi rumah. Untuk pengontrol GPIO (pin raspberry) saya telah menggunakan perpustakaan pi-blaster
, bersama dengan wiringPi
. Karena saya tidak dapat menemukan kode untuk AC saya, saya mencatatnya sendiri dan menambahkannya ke file konfigurasi lirc
. Duckdns
cron digunakan sebagai dns dinamis, karena alamat IP saya berubah secara berkala dan saya tidak perlu mengkompilasi ulang seluruh aplikasi atau mengubah konfigurasi setiap saat. Server menyiarkan perubahan ke semua pengguna yang terhubung secara realtime. Aplikasi telepon terletak di folder /phone-app , server terletak di /server . Mengapa Anda tidak melihatnya?
Raspberry Pi 3
adalah unit pengontrol. Perangkat berdaya tinggi, seperti strip LED, diberi daya melalui 12V 5A power supply
(bersama dengan PI). AC dikontrol melalui LED inframerah 950nm. Sistem pemanas dihubungkan melalui relai (hidup dan mati) dan servo untuk termostat karena saya menghindari pembongkaran. Strip LED putih dan strip RGB dihubungkan melalui transistor logis IRLZ34N
ke PI. Ada juga penerima IR, kalau-kalau saya ingin merekam hal lain. Suhu diukur melalui sensor suhu DS18B20.
Kabelnya terlihat seperti:
Saya terbuka untuk semua jenis ide tentang modul yang berbeda. Jika Anda memiliki beberapa ide, saya akan berterima kasih jika Anda menambahkannya ke pelacak masalah dan memberi label sebagai Idea
.