Dewasa ini kebutuhan untuk monitoring suatu lokasi secara visual dari jarak jauh semakin meningkat. Kebutuhan ini tidak saja dirasakan kalangan rumah tangga untuk sekedar memonitor aktivitas di rumahnya saat ditinggal, tapi juga untuk kepentingan industri, khususnya industri yang memiliki perangkat di remote area seperti perangkat BTS di dunia telekomunikasi, ATM di dunia perbankan, dll.
Harga sebuah camera surveillance sangat bervariasi, mulai dari harga 200 ribuan hingga mencapai jutaan tergatung dari fiturnya. Tapi tahuka Anda, bahwa Anda bisa membuatnya sendiri dengan sangat mudah menggunakan sebuah USB camera / webcam dan sebuah Raspberry Pi. Harga webcam sekarang ini sangat murah (di bawah 100.000, bisa dibeli di sini) dan mungkin Raspberry Pi nya yang agak mahal. Tapi sistem video live streaming yang dibangun dengan Raspberry Pi sifatnya multi purpose, sangat customize, bahkan bisa dipadukan dengan fungsi-fungsi lain seperti motion detect, pengenalan wajah (dengan library Artifial Intellegence), alarm sensor, dll.
Untuk membuat sebuah web streaming yang berisikan live video streaming dari Raspberry Pi dan usb webcam sebenarnya caranya sangat sederhana. Bahkan yang dibutuhkan hanya semangat ngoprek-oprek aja 🙂 .
Alat dan bahan
- Raspberry Pi Starter Kit
- Usb camera, beli
Cara Setting Web Streaming Webcam – Raspi
Untuk sisi software-nya, setidaknya ada 4 macam entity (script/daemon) yang harus Anda siapkan, yakni:
- driver usb camera (webcam) dengan fswebcam
- web server / http server menggunakan Apache
- file html yang berisikan kode untuk menangani web streaming
- script capture webcam
Baiklah, tanpa berpanjang lebar, mari kita mulai kegiatan ngoprek-opreknya :).
Pastikan Raspberry Pi Anda sudah terkoneksi internet ya. Untuk mengakses Raspi Anda bisa saja menggunakan monitor HDMI+usb keyboard+mouse, tapi demi kepraktisan, kita akan menggunakan remote SSH dengan aplikasi Putty. Untul detail cara akses Raspberry Pi bisa dibaca di artikel berikut:
1. Tancapkan usb webcam Anda
2. Login SSH via Putty (default username: pi, password: rasbperry). Ketik command ‘lsusb‘. Dengan command ini usb webcam Anda akan terbaca di Raspi. Untuk memastikan Anda dapat pula mengetik perintah ‘ls /dev/video*’ untuk mengecek apakah port virtual ‘video0’ sudah ada atau belum
3. Instal driver untuk webcam Anda dengan fswebcam. Ketik ‘sudo apt-get install fswebcam’
Untuk memastikan Raspberry Pi Anda sudah dalam kondisi paling update, sebaiknya Anda ketik perintah ‘sudo apt-get update‘ terlebih dahulu
4. Instal web server APACHE dengan perintah ‘sudo apt-get install apache2 -y’. Web server atau kadang disebut juga ‘HTTP server’ ini digunakan sebagai handler saat ada HTTP request dengan web browser di port 80. Nanti hasil capture camera akan kita tampilkan melalui halaman web. Nah, supaya halaman web ini dapat diakses, kita membutuhkan web server ini
5. Buat sebuah file html (dan Javascript) sebagai halaman web yang nanti diakses oleh web browser client. Misal namakan file tersebut sebagai ‘webcam’html’, maka ketikkan perintah ‘sudo nano /var/www/html/webcam.html‘. Copykan script ke file tersebut, kemudian save dengan menekan tombol CTRL+X dan pilih ‘yes’
<img id="idgambar"/> <script> function refreshImage(){ document.getElementById("idgambar").src = "gambar.jpg" + "?t=" +new Date().getTime(); } setInterval(refreshImage, 1000); </script>
Inti dari source code Javascript di atas adalah kita akan mencoba me-refresh image di elemen <img> dengan id ‘idgambar’ setiap 1000 ms atau 1 detik
6. Langkah terakhir adalah membuat Raspberry Pi untuk meng-capture foto secara berkala dan menyimpannya ke dalam sebuah file (kita namakan file ‘gambar.jpg supaya sesuai dengan file html di atas). Masukkan perintah sbb:
sudo fswebcam /var/www/html/gambar.jpg -l 1
Dengan perintah di atas, maka RASPI akan meng-capture foto tiap 1 detik sekali (settingan di parameter -l 1)
Sudah selesai, untuk mengakses web yang sudah kita buat tadi dapat dilakukan melalui web browser dengan mengetikkan IP Address Raspberry Pi diikuti nama file html (misal: http://192.168.1.100/webcam.html). Hasilnya adalah sebagai berikut
Tunggu sekitar 1 detik, maka gambar akan berubah-ubah sesuai tangkapan kamera. Bagi yang masih kesulitan, barangkali video tutorial di bawah dapat membantu 🙂
Demikian sedikit tutorial bagaimana membuat sebuah web streaming kamera dengan Raspberry Pi. Tutorial di atas menggunakan teknik MJPG (Motion JPG), yakni meng-capture foto secara berkala kemudian menyimpannya ke dalam sebuah file JPG dan mem-broadcast-nya melalui sebuah halaman web. Karena terus-terusan di capture sehingga memunculkan efek seperti gambar bergerak (motion). Anda dapat berkesperimen lebih lanjut untuk menghasilkan ‘gambar bergerak’ yang lebih halus (fps tinggi) dengan mengubah parameter waktu capture atau refresh di web yang lebih cepat (script javascript di file html). Selamat bereksperimen….
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com