Daftar Isi:
- Langkah 1: Hal-hal yang Anda Butuhkan
- Langkah 2: Siapkan Raspberry Pi untuk 433 MHz
- Langkah 3: Siapkan Server Rumah Pintar
- Langkah 4: Atur Klien
- Langkah 5: Kesimpulan
Video: Rumah Pintar oleh Raspberry Pi: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Sudah ada beberapa produk di luar sana yang membuat flat Anda lebih pintar, tetapi kebanyakan dari mereka adalah solusi eksklusif. Tapi mengapa Anda membutuhkan koneksi internet untuk menyalakan lampu dengan smartphone Anda? Itulah salah satu alasan bagi saya untuk membangun solusi Smart Home saya sendiri.
Saya memprogram aplikasi server yang berjalan pada Raspberry Pi. Ini adalah proyek open source berbasis java yang memungkinkan Anda untuk mengonfigurasi flat Anda dan menghubungkan beberapa klien dan 'unit yang dapat dikontrol'. Saya menunjukkan solusi yang menangani sakelar catu daya rc, memutar musik dan video di Raspberry Pi, menunjukkan status di cermin pintar dan dapat dikontrol oleh aplikasi android dan dua aplikasi pebble. Sumber di-host di github
Langkah 1: Hal-hal yang Anda Butuhkan
Untuk menyiapkan Rumah Pintar, Anda memerlukan 'bahan' berikut
- Raspberry Pi setidaknya model 2 B
- Pengirim 433 MHz, kira-kira seperti ini
- 3 kabel jumper yang menghubungkan Raspberry Pi dan pengirim
- Beberapa soket kontrol radio pada 433 MHz
- Ponsel cerdas Android untuk menjalankan aplikasi klien
Selain itu, Anda dapat memperluas Rumah Pintar dengan lebih banyak klien dan unit opsional seperti ini
- Jam tangan pintar kerikil
- Smart Mirror, lihat proyek ini
- Strip LED terkontrol 433 MHz, lihat ini
Langkah 2: Siapkan Raspberry Pi untuk 433 MHz
Dalam langkah-langkah berikut Anda memerlukan akses ke baris perintah di Raspberry Pi. Untuk mendapatkan akses, Anda dapat membaca instruksi ini
Hubungkan pengirim 433 MHz dengan Raspberry Pi seperti yang ditunjukkan pada gambar di atas
- GND (pengirim) 6 GND (raspi)
- VCC (pengirim) 2 + 5V (raspi)
- DATA (pengirim) 11 GPIO 17 (raspi)
Harap sambungkan juga antena 17cm ke pin ANT (pengirim). Itu meningkatkan sinyal yang signifikan.
Karena kita memerlukan beberapa perpustakaan dari repositori git lain, kita harus menginstal git
sudo apt-get install git-core -y
Untuk mengatur Raspberry Pi untuk komunikasi 433 MHz, kita memerlukan pustaka Pi kabel untuk penanganan GPIO yang lebih baik.
git clone git://git.drogon.net/wiringPi
cd wiringPi./build
Maka kita membutuhkan perpustakaan yang mengimplementasikan protokol catu daya rc.
git clone git://github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi buat cp send /usr/bin/
Eksekusi 'kirim' memungkinkan Anda mengirim kode untuk mengganti sebagian besar catu daya yang tersedia.
Dalam pengaturan Smart Home saya, saya juga memiliki strip LED rc yang dijelaskan oleh instruksi ini: https://www.instructables.com/id/RC-controlled-LED… Untuk mengatur warna untuk strip LED ini, Anda memerlukan executable pengiriman lain yang memungkinkan Anda untuk mengirim nilai Integer (Itu mengkodekan warna).
Oleh karena itu, kompilasi sendInt.cpp di repo rcswitch-pi dan pindahkan ke /usr/bin/sendInt.
sudo g++ sendInt.cpp -o /usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch-pi -lwiringPi
Sekarang Anda seharusnya dapat mengirim perintah rc dengan dua executable /usr/bin/send dan /usr/bin/sendInt
Langkah 3: Siapkan Server Rumah Pintar
Pertama-tama Anda perlu menginstal beberapa paket. Aplikasi Smart Home berbasis java dan berjalan dengan baik dengan openjdk-11. Saya tidak yakin tentang lingkungan runtime Java lainnya. mplayer adalah pemutar musik baris perintah minimalis. Omxplayer menggunakan grafik Raspberry Pi untuk encoding video, jadi ini harus digunakan untuk video. Program ant diperlukan untuk membangun aplikasi java.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Atur direktori untuk file jar dan untuk log.
sudo mkdir /opt/neo
sudo chown pi:pi /opt/neo mkdir /home/pi/Logs
Konfigurasikan skrip mulai untuk memulai aplikasi secara otomatis saat boot. Oleh karena itu salin skrip rumah pintar terlampir ke direktori /etc/init.d/ Saya juga membuat skrip di /usr/bin/ yang menyalurkan perintah ke skrip terlampir, jadi saya cukup memasukkan rumah pintar ke konsol untuk menjalankan perintah.
sudo cp smart-home /etc/init.d/smart-home
sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#! /bin/bash' > /usr/bin/smart-home" sudo sh -c "echo '/etc/init. d/smart-home \$1' >> /usr/bin/smart-home" sudo chmod +x /usr/bin/smart-home Sudo update-rc.d smart-home default
Sekarang saatnya untuk checkout repositori dan membangun aplikasi. Jika Anda tidak ingin mengkompilasi sendiri, Anda dapat mengunduh smarthome.jar terlampir dan memindahkannya ke /opt/neo/
git clone [email protected]:dabastynator/SmartHome.git
ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/* /opt/neo/
Cobalah untuk memulai rumah pintar dan periksa file log. Untuk mendapatkan akses GPIO, aplikasi harus dimulai dengan sudo.
Sudo rumah pintar mulai
Cat Logs/smarthome.log
Anda akan melihat pesan kesalahan File konfigurasi tidak ada yang mengarahkan kita ke langkah berikutnya. Repositori berisi readme yang menjelaskan file konfigurasi. Anda dapat melihat ini dirender dengan baik di github:
Salin xml ini ke /home/pi/controlcenter.xml, lalu atur lokasi untuk server media Anda dan ubah konten sesuai kebutuhan. Setelah Anda menyelesaikan konfigurasi dan memulai ulang smart-home (sudo smart-home restart), Anda akan melihat konten berikut di smarthome.log
24.05-08:26 INFORMASI JAUH oleh de.neo.smarthome.cronjob. CronJob@15aeb7ab: Jadwalkan tugas cron
24.05-08:26 INFORMASI JAUH oleh [trigger.light]: Tunggu 79391760 ms untuk eksekusi 24.05-08:26 INFORMASI RMI oleh Add web-handler (5061/ledstrip) 24.05-08:26 INFORMASI RMI oleh Add web-handler (5061 /action) 24.05-08:26 INFORMASI RMI oleh Add web-handler (5061/mediaserver) 24.05-08:26 INFORMASI RMI oleh Add web-handler (5061/switch) 24.05-08:26 INFORMASI RMI oleh Add web-handler (5061/controlcenter) 24.05-08:26 INFORMASI RMI oleh Start webserver dengan 5 handler (localhost:5061) 24.05-08:26 INFORMASI JARAK JAUH oleh Controlcenter: Tambahkan 1. unit kontrol: MyUnit (xyz) …
Web-server sekarang berjalan:-)
Langkah 4: Atur Klien
Klien Android ponsel cerdas
Repositori git untuk aplikasi rumah pintar juga berisi sumber untuk klien android, sehingga Anda dapat mengompilasinya sendiri. Tapi saya lampirkan APK untuk langkah ini, itu membuatnya lebih mudah. Pertama kali Anda memulai aplikasi, itu meminta Anda untuk server, seperti pada gambar pertama di atas. Masukkan url server dan token keamanan.
Itu harusnya. Anda sekarang memiliki akses ke server dan mengontrol flat Anda, memutar musik dan menonton video dari jarak jauh di Raspberry Pi Anda. Perhatikan bahwa Anda dapat menambahkan widget ke layar beranda, yang membuat sakelar dan kontrol musik lebih mudah diakses.
Klien Pebble Smartwatch
Sumber untuk dua klien kerikil di-host di github. Satu aplikasi menunjukkan file musik yang sedang diputar: https://github.com/dabastynator/PebbleRemoteMusic… Ini juga memungkinkan Anda untuk menjeda/memutar dan volume naik/turun.
Aplikasi kedua memicu tiga tindakan: https://github.com/dabastynator/PebbleControl Nama pemicunya adalah: mobile.come_home mobile.leaving dan mobile.go_to_bed. Jika Anda menentukan aturan peristiwa untuk pemicu ini di konfigurasi-xml Anda, Anda memicunya dengan arloji Anda.
Semuanya open source, tetapi Anda tidak perlu mengkompilasinya sendiri, saya juga melampirkan aplikasi pebble. Unduh PBW dengan ponsel cerdas Anda, ponsel Anda harus menginstalnya di jam tangan Anda. Aplikasi kerikil memerlukan konfigurasi untuk berbicara dengan server. Saya melampirkan tangkapan layar seperti apa tampilan pengaturan saya.
Klien Garmin Smartwatch
Ada juga klien yang tersedia untuk Garmin Smartwatches. Aplikasi ini tersedia di toko aplikasi garmin connect dan dapat diinstal di sini:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Klien Cermin Cerdas
Saya sudah membuat instruksi yang menjelaskan cara membuat Cermin Cerdas, lihat ini https://www.instructables.com/id/Smart-Mirror-by-R…. Kode sumber juga di-host di github: https:// github.com/dabastynator/SmartMirror. Perangkat lunak Smart Mirror membaca konfigurasi dari file smart_config.js yang bukan bagian dari repositori git. Isi file konfigurasi akan terlihat seperti daftar ini:
var mOpenWeatherKey = 'kunci cuaca-buka-Anda';
var mSecurity = 'token-keamanan-Anda';
Anda juga harus menyesuaikan dua baris pertama dari file smart_mirror.js untuk menentukan alamat ip server Smart Home dan lokasi untuk mendapatkan cuaca yang tepat.
Lebih banyak klien
Aplikasi server adalah server web sederhana. Ini memungkinkan Anda untuk memicu tindakan dari klien mana pun yang Anda inginkan dengan panggilan web sederhana. Dalam demo-video saya menunjukkan tasker aplikasi Android dalam kombinasi dengan AutoVoice. Ini memungkinkan saya untuk memicu peristiwa dengan perintah suara sederhana. Misalnya "ok google, waktunya tidur" dapat memicu mobile.go_to_bed. Tetapi Anda juga dapat melakukan panggilan web misalnya dari IFTTT. Bagaimana dengan strip LED berkedip kuning untuk notifikasi email?
Anda dapat meminta server untuk kemungkinan panggilan web seperti tautan berikut (ganti ip, port, dan token dengan konfigurasi Anda)
localhost:5061/controlcenter/api?token=secu…
localhost:5061/action/api?token=security-to…
localhost:5061/mediaserver/api?token=securi…
localhost:5061/switch/api?token=security-to…
localhost:5061/ledstrip/api?token=security-…
Langkah 5: Kesimpulan
Masih ada beberapa fitur untuk diterapkan: Karena server hanya menyediakan web-api sederhana, klien melakukan banyak polling. Untuk mengurangi polling, saya ingin integrasi MQTT untuk notifikasi yang lebih baik. Juga catu daya wifi harus berkinerja lebih andal daripada catu daya rc karena rc hanyalah komunikasi satu arah.
Itu membuat banyak kesenangan berkembang untuk proyek ini. Dan cukup keren untuk mengontrol flat dengan beberapa perangkat, bahkan jika koneksi internet terputus.
Direkomendasikan:
Cara Membuat Rumah Pintar Menggunakan Modul Relai Kontrol Arduino - Ide Otomasi Rumah: 15 Langkah (dengan Gambar)
Cara Membuat Rumah Pintar Menggunakan Modul Relay Kontrol Arduino | Ide Otomasi Rumah: Dalam proyek otomatisasi rumah ini, kami akan merancang modul relai rumah pintar yang dapat mengontrol 5 peralatan rumah tangga. Modul relai ini dapat dikontrol dari Ponsel atau smartphone, remote IR atau remote TV, sakelar Manual. Relai pintar ini juga dapat merasakan
Rumah Pintar Dengan Arduino: 11 Langkah (dengan Gambar)
Rumah Pintar Dengan Arduino: Halo. Saya akan menunjukkan cara membangun rumah pintar Anda sendiri. Ini menunjukkan suhu baik di dalam maupun di luar, jika jendela terbuka atau tertutup, menunjukkan saat hujan dan membuat alarm ketika sensor PIR bergerak. Saya membuat aplikasi di android untuk
ForgetMeNot - Platform Notifikasi Rumah Pintar: 14 Langkah (dengan Gambar)
ForgetMeNot - Platform Pemberitahuan Rumah Pintar: Sebagai mahasiswa yang sibuk, berlarian di antara kelas, pekerjaan, dan kewajiban keluarga, kita cenderung melupakan hal-hal kecil. Ulang tahun datang dan pergi tanpa kita sadari, tenggat waktu penting terlewatkan karena kelupaan belaka dan terkadang, hanya
Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: 9 Langkah (dengan Gambar)
Pemantauan Rumah Pintar Menggunakan Alexa dan Arduino: Di dunia saat ini orang menghabiskan lebih banyak waktu di tempat kerja daripada di rumah mereka. Oleh karena itu diperlukan suatu sistem pemantauan rumah dimana masyarakat dapat mengetahui kondisi rumah saat mereka sedang bekerja. Akan lebih baik lagi jika salah satu c
ROOMBA Didorong oleh ARDUINO YUN Melalui Aplikasi Wifi oleh STEFANO DALL'OLIO: 4 Langkah (dengan Gambar)
ROOMBA Didorong oleh ARDUINO YUN Melalui Aplikasi Wifi oleh STEFANO DALL'OLIO: Dengan panduan ini saya membagikan kode untuk menghubungkan ARDUINO YUN ke Roomba untuk mengemudikan Roomba melalui Wifi. Kode dan aplikasi sepenuhnya dibuat dan dikembangkan oleh saya sendiri Stefano Dall' Olio.My Roomba adalah Roomba 620 tetapi Anda dapat menggunakan kode yang sama untuk Roomba lainnya