Sistem Alarm Deteksi Gerakan dengan Java & Reactive Blocks – Deploy pada Raspberry Pi & Kirim SMS
Dengan kamera USB standar Anda dapat membangun alarm deteksi gerakan yang andal yang berjalan pada setiap mesin yang mendukung Java SE, termasuk Raspberry Pi. Menggunakan Reactive Blocks, alat pemrograman Java visual, Anda dapat merakit aplikasi fungsional penuh yang menangkap gambar, mendeteksi gerakan, dan mengirim peringatan SMS melalui Twilio—semua tanpa menulis satu baris kode pun.
Tutorial ini memandu Anda melalui setup lengkap, dari hardware hingga perangkat lunak, dan menunjukkan bagaimana aplikasi dapat di-deploy pada Pi atau lingkungan Java SE lainnya.
Yang Dibutuhkan
- Raspberry Pi Model B+ yang menjalankan OS Raspbian
- Kamera USB (model manapun yang umum)
- Kabel Ethernet (atau Wi-Fi)
- Layar dan keyboard untuk Pi
- Stasiun kerja Windows atau macOS dengan JDK terinstal
- Reactive Blocks (plug-in Eclipse gratis untuk proyek open-source)
Proyek Motion Detection yang dibundel mencakup dua aplikasi yang siap jalankan: Alarm System lengkap dan demo ringan Test Motion Detection. Dalam panduan ini kita akan fokus pada Alarm System.
Langkah 1 – Instal Reactive Blocks
Unduh dan instal Reactive Blocks dari https://bitreactive.com/installation/. Plug-in gratis untuk proyek open-source dan terintegrasi langsung ke dalam Eclipse.
Langkah 2 – Impor Aplikasi Contoh
Buka perspektif Reactive Blocks dan pilih tampilan Blocks. Klik Import → Reference Applications dan pilih Motion Detection. Akun Google diperlukan untuk pertama kalinya untuk mengakses perpustakaan blok dan tutorial.
Paket yang diimpor berisi Alarm System dan uji coba; kita akan hanya menggunakan Alarm System untuk tutorial ini.
Langkah 3 – Pahami Arsitektur Tingkat Atas
Diagram di bawah ini menunjukkan alur tingkat atas aplikasi. Ini terdiri dari tujuh blok: lima dari pustaka IoT dan dua blok khusus yang dibuat khusus untuk proyek ini.
- Grabber – menangkap gambar dari kamera USB melalui OpenIMAJ.
- Image to File – menulis gambar yang ditangkap ke disk.
- Periodic Timer – memicu tik reguler untuk memulai siklus tangkapan.
- Buffer Eager – memastikan hanya satu pesan yang diantre untuk blok SMS, mencebana beban berlebih.
- SMS Send – mengirim SMS melalui Twilio.
- ReadConfig – memuat nilai konfigurasi dari
motiondetection.ini. - View – menampilkan gambar pada layar.
Periodic Timer bertindak sebagai mesin, memancarkan tik yang mendorong Grabber. Grabber meluncurkan thread khusus yang menunggu perintah grab, mengambil satu frame, dan meneruskannya melalui output image. Blok Motion Detection, juga dibangun di atas OpenIMAJ, membandingkan frame berurutan dalam thread terpisah. Ketika perubahan terdeteksi, ia memancarkan sinyal motionDetected, yang memicu alur kerja SMS.
Semua metode Java khusus dapat diakses dengan mengklik kotak biru muda di editor, memberikan Anda wawasan ke dalam logika yang mendasarinya.
Langkah 4 – Konfigurasikan Pengiriman SMS
Buka config/motiondetection.ini (ditemukan di bawah br.ref.motiondetection di Project Explorer) dan masukkan kredensial Twilio Anda. Jika Anda menyediakan penyedia lain, Anda dapat mengganti blok Twilio dengan blok Clickatell yang siap pakai atau beralih ke notifikasi email/cloud menggunakan blok SMTP, AirVantage, IBM Bluemix, atau Xively yang tersedia.
Menjalankan aplikasi tanpa SMS diaktifkan juga mudah—cukup biarkan blok Twilio terputus.
Setelah dikonfigurasi, deploy aplikasi pada Pi: Java SE telah terinstal pada Raspbian, jadi Anda dapat meluncurkan .jar secara langsung atau melalui layanan sistem untuk pemantauan berkelanjutan.
Untuk wawasan yang lebih dalam, konsultasikan dokumentasi Motion Detection Alarm System.