MEMANTAU KONDISI SEKITAR MENGGUNAKAN WEBCAM YANG

advertisement
Wendy Amai Safri Rosyadi
MEMANTAU KONDISI SEKITAR MENGGUNAKAN WEBCAM YANG
TERPASANG PADA PI-VER (RASPBERRY PI ROVER) YANG
DIKONTROL MELALUI APLIKASI ANDROID
Wendy Amai Safri Rosyadi (NIM: 9113120014)
Program Studi Teknik Telekomunikasi Politeknik Kota Malang
e-mail: [email protected]
ABSTRAK
Dewasa ini CCTV sebagai alat pemantau kondisi lingkungan, sangat diminati banyak orang. Namun,
kenyataannya CCTV tersebut masih bersifat statis dan belum mampu menjangkau tempat selain di sekitar
titik pemasangannya. Padahal, di lapangan kemungkinan dapat terjadi bahaya seperti adanya gas
beracun, yang tidak mungkin dijangkau oleh manusia untuk memantaunya. Maka dibuatlah alat
pemantau berupa robot yang bersifat dinamis dan dapat dikontrol melalui android smartphone dan
laptop. Dalam hal ini digunakan Raspberry Pi sebagai inti dari sistem yang dihubungkan dengan USB
Webcam, dan menggunakan motor sebagai penggerak robot. Serta menggunakan motor stepper sebagai
pengatur sudut kemiringan arah kamera yang ada pada robot. Kondisi dari lingkungan dapat terpantau
langsung melalui tampilan pada web browser maupun aplikasi android yang telah dibuat. Kesimpulannya,
keseluruhan sistem telah menjadi kesatuan sehingga user dapat mengontrol pergerakan robot dan
langsung bisa melihat kondisi dari apa yang telah ditangkap oleh USB Webcam hanya dengan
menggunakan smartphone ataupun laptop. Serta jarak efisien user di area hotspot yang telah dibuat USB
WiFi untuk dapat mengontrol robot adalah maksimal 75 meter.
Kata kunci: Aplikasi Android, CCTV, Dinamis, Laptop, Motor, Raspberry Pi, Robot, Smartphone, Usb
Webcam, User, Web Browser.
ABSTRACT
Today CCTV as a means of monitoring environmental conditions, greatly interested in a lot of people.
However, the reality is still static CCTV and have not been able to reach a place apart around the point of
installation. In fact, in the field The possibility exists that hazards such as the presence of toxic gases, which
may not be reached by humans to monitor it. Then be made to monitoring tool in the form of a robot that is
dynamic and can be controlled via android smartphone and a laptop. In this case is used Raspberry Pi as the
core of the system is connected to the USB webcams, and using the motor as the driving robot. And using a
stepper motor as a regulator of the angle of the direction of the camera on the robot. The condition of the
environment can be monitored directly via the display on a web browser and android application has been
made. In conclusion, the whole system has to be unity so that the user can control the movement of the robot
and can immediately see the condition of what has been captured by the USB webcams simply by using a
smartphone or laptop. And an efficient distance for user in hotspot area that has made USB WiFi to be able
to control the robot is a maximum of 75 meters.
Keywords: Android Application, CCTV, Dynamic, Laptop, Motor, Raspberry Pi, Robot, Smartphone, USB
Webcam, User, Web Browser.
PENDAHULUAN
Mahasiswa sebagai generasi muda yang
penuh dengan potensi, dinamika idealisme dan
sebagai aset nasional yang perlu untuk
mengembangkan
dan
mengaktualisasikan
dirinya agar dapat menguasai ilmu pengetahuan
dan teknologi serta
mempunyai
rasa
Teknik Telekomunikasi Politeknik Kota Malang 2015
tanggung
jawab
yang tinggi
terhadap
kepentingan masyarakat. Dalam hal ini dapat
dilakukan dengan salah satu cara yaitu
membuat alat atau robot untuk memantau
kondisi lingkungan yang dipantau lewat webcam
yang terpasang di robot yang bisa dikontrol
melalui android smartphone.
Wendy Amai Safri Rosyadi
Di jaman sekarang ini banyak orang
menggunakan CCTV untuk memantau kondisi
lingkungan. Sedangkan CCTV tersebut hanya
bisa statis pada tempat tertentu saja. Dalam hal
atau situasi lain, seperti misalnya dalam keadaan
sekitar yang berbahaya. Seperti daerah dengan
gas beracun yang tidak dapat dijangkau oleh
manusia, maka alat ini dapat digunakan untuk
memantau situasi daerah berbahaya tersebut.
Dari masalah yang mendasari di atas, maka
tugas akhir ini dibuat dengan tujuan untuk
memudahkan user dalam memantau atau
melihat kondisi dari lingkungan yang bisa
dilakukan dimanapun dan bergerak kemanapun
sesuai keinginan user (dinamis). Userpun juga
dapat melihat langsung kondisi terbaru dari
lingkungan tempat alat tersebut berada. Karena
web server akan langsung menampilkan
streaming dari gambar atau video yang
ditangkap oleh webcam yang telah terpasang
pada alat tersebut pada layar android
smartphone.
KAJIAN PUSTAKA
1. Raspberry Pi B+
Raspberry Pi B+ adalah sebuah single board
komputer yang bentuknya mirip dengan kartu
kredit pada umumnya. Tetapi mempunyai fungsi
yang sama dengan komputer yang sudah ada
yang biasanya kita gunakan. Seperti komputer
biasa, Raspberry Pi B+ juga dilengkapi dengan
USB Port dan juga mempunyai 40 buah pin GPIO.
(Kevin, 2014 : 6)
2. Operating System (OS) Raspbian
Raspbian adalah singkatan dari Raspberry
dan Debian yaitu suatu sistem operasi komputer
yang tersusun dari paket-paket perangkat lunak
yang dirilis sebagai perangkat lunak bebas dan
terbuka dengan lisensi mayoritas GNU General
Public License dan lisensi perangkat lunak bebas
lainnya. Raspbian (Debian) GNU/Linux memuat
perkakas sistem operasi GNU dan kernel Linux
merupakan distribusi Linux yang populer dan
berpengaruh. Raspbian (Debian) didistribusikan
dengan akses ke repositori dengan ribuan paket
perangkat lunak yang siap untuk instalasi dan
digunakan. (Aaron, 2014 : 14)
3. Motor Servo
Motor servo adalah sebuah perangkat atau
aktuator putar (motor) yang dirancang dengan
sistem kontrol umpan balik loop tertutup
(servo), sehingga dapat di set-up atau di atur
Teknik Telekomunikasi Politeknik Kota Malang 2015
untuk menentukan dan memastikan posisi sudut
dari poros output motor. motor servo
merupakan perangkat yang terdiri dari motor
DC, serangkaian gear, rangkaian kontrol dan
potensiometer. Serangkaian gear yang melekat
pada poros motor DC akan memperlambat
putaran poros dan meningkatkan torsi motor
servo, sedangkan potensiometer dengan
perubahan resistansinya saat motor berputar
berfungsi sebagai penentu batas posisi putaran
poros motor servo.
Motor
servo
menurut
rotasinya,
umumnya terdapat dua jenis motor servo yang
dan terdapat di pasaran, yaitu motor servo
rotation 180⁰ dan servo rotation continuous.
a. Motor servo standard (servo rotation 180⁰)
adalah jenis yang paling umum dari motor
servo, dimana putaran poros outputnya
terbatas hanya 90⁰ kearah kanan dan 90⁰
kearah kiri. Dengan kata lain total
putarannya hanya setengah lingkaran atau
180⁰.
b. Motor
servo
rotation
continuous
merupakan jenis motor servo yang
sebenarnya sama dengan jenis servo
standard, hanya saja perputaran porosnya
tanpa batasan atau dengan kata lain dapat
berputar terus, baik ke arah kanan maupun
kiri.
4. Webcam
Webcam adalah sebuah periferal berupa
kamera sebagai pengambil citra/gambar dan
microphone (optional) sebagai pengambil
suara/audio yang dikendalikan oleh sebuah
komputer atau oleh jaringan komputer. Jenis
webcam yang digunakan yaitu USB webcam.
Jenis ini mempunyai fitur Plug and Play, tetapi
dengan syarat sistem operasi harus mendukung
fasilitas USB port.
5. IC Driver L293D
IC L293D Motor Driver adalah sebuah chip HBridge yang mempunyai 2 buah rangkaian Hbridge didalamnya sehingga bisa mengendalikan
kecepatan dan arah 2 buah motor. Mendukung
operasi motor 4.5V – 36V dengan arus 600 mA
(arus puncak 1.2A non-repetitive). IC ini bisa
digunakan untuk mengendalikan relay, solenoid,
motor DC dan motor stepper bipolar.
Keuntungan lain IC L293D adalah IC ini telah
mempunyai proteksi arus balik dari beban
berupa diode didalam IC. Untuk penggunaannya
dianjurkan untuk melebarkan jalur ground
pengganti heatsink untuk proteksi over
temperatur. (Texas Instrument, 2014)
Wendy Amai Safri Rosyadi
6. Apache HTTP Server
Server HTTP Apache atau Server Web/WWW
Apache adalah server web yang dapat dijalankan
di banyak sistem operasi (Unix, BSD, Linux,
Microsoft Windows dan Novell Netware serta
platform lainnya) yang berguna untuk melayani
dan memfungsikan situs web. Protokol yang
digunakan untuk melayani fasilitas web/www
ini menggunakan HTTP. Apache juga didukung
oleh sejumlah antarmuka pengguna berbasis
grafik (GUI) yang memungkinkan penanganan
server menjadi mudah. ( Firdaus, 2007 : 5 )
7. Bahasa Pemrograman Python
Bahasa pemrograman Python merupakan
bahasa pemrograman yang dapat dikembangkan
oleh siapa saja karena besifat Open Source atau
dengan kata lain bahasa pemrograman ini gratis,
dapat digunakan tanpa lisensi, dan dapat
dikembangkan semampu yang dapat dilakukan.
Sebenarnya bahasa pemrograman Python ini
mudah dipelajari karena penulisan sintaks yang
lebih fleksibel.
Selain itu, bahasa pemrograman Python ini
memiliki efisiensi tinggi untuk struktur data
level tinggi, pemrograman berorientasi objek
lebih sederhana tetapi efektif, dapat bekerja
pada multi platform, dan dapat digabungkan
dengan bahasa pemrograman lain untuk
menghasilkan aplikasi yang diinginkan. (Kevin,
2014 : 22)
8. MJPEG Streamer
MJPG-streamer
adalah
aplikasi
baris
command line yang disalin JPG-frame dari input
tunggal plugin untuk beberapa plugin output. Hal
ini dapat digunakan untuk streaming file JPEG
melalui jaringan berbasis IP dari webcam untuk
penampil
seperti
Firefox,
Cambozola,
Videolanclient atau bahkan ke perangkat
Windows Mobile menjalankan TCPMP-player.
9. Bahasa Pemrograman Java
Java
adalah
bahasa
pemrograman
berorientasi objek murni yang dibuat
berdasarkan kemampuan-kemampuan terbaik
bahasa pemrograman objek sebelumnya (C++,
Ada, Simula).
Beberapa keunggulan java yaitu java
merupakan bahasa yang sederhana. Java
dirancang agar mudah dipelajari dan digunakan
secara efektif. Java tidak menyediakan fitur-fitur
rumit bahasa pemrograman tingkat tinggi, serta
banyak pekerjaan pemrograman yang mulanya
harus dilakukan manual, sekarang digantikan
Teknik Telekomunikasi Politeknik Kota Malang 2015
dikerjakan Java secara otomatis seperti
dealokasi memori. Bagi pemrogram yang sudah
mengenal bahasa C++ akan cepat belajar
susunan bahasa Java namun harus waspada
karena mungkin Java mengambil arah
(semantiks) yang berbeda dibanding C++.
(Noviyanto, ST, 2014 : 1)
PERANCANGAN DAN PEMBUATAN
1. Deskripsi Umum
Pada pengerjaan tugas akhir ini penulis akan
membuat robot webcam pada Pi-Ver (Raspberry
Pi Rover) dengan tujuan pemantauan kondisi
sekitar dengan spy cam yang terpasang pada alat
tersebut. Alur pengerjaan tugas akhir ini diawali
dengan perancangan alat, pembuatan alat,
pemrograman pada raspberry pi dan pengujian.
Sistem robot telah disajikan dalam gambar
berikut :
Gambar 1. Blok Diagram Sistem
2. Perancangan Sistem
Perancangan dan pembuatan Webcam pada
Pi-Ver (Raspberry Pi Rover) ini dimulai dengan
pembuatan design PCB untuk driver motor servo
pada robot. Setelah itu akan dilakukan juga
pembuatan board untuk Track Wheel dan motor
servo. Setelah beberapa langkah tersebut
dilakukan, selanjutnya adalah melakukan wiring
atau pengkabelan untuk menghubungkan GPIO
Raspberry Pi dengan IC Driver L293D. Kemudian
kita hubungkan juga hasil PCB driver yang telah
dibuat dengan motor servo dan baterai 10 V
untuk power motor servo.
Setelah langkah-langkah tersebut dilakukan,
hal terakhir yang dilakukan adalah Coding atau
pemrograman robot pada pemrograman Python
di Raspberry Pi. Dan yang terakhir adalah
pengujian robot atau alat tersebut.
Wendy Amai Safri Rosyadi
3. Flowchart Pemrograman
Dibawah ini merupakan flowchart-flowchart
pemrograman dalam tugas akhir, yaitu flowchart
pemrograman python untuk kontrol motor DC
dan motor standard, flowchart interface web
server, dan flowchart aplikasi android.
1. Flowchart pemrograman python untuk
kontrol motor DC dan motor standard.
2.
Flowchart interface web server
Gambar 3. Flowchart Interface Web Server
3.
Flowchart aplikasi android.
Gambar 4. Flowchart Aplikasi Android
4. Wiring
Pada bagian ini kita akan membahas wiring
atau penyambungan IC L293D dengan GPIO
pada raspberry pi yang akan digunakan sebagai
driver motor.
Gambar 2. Flowchart Python untuk Kontrol
Motor DC dan Servo Standard
Teknik Telekomunikasi Politeknik Kota Malang 2015
Wendy Amai Safri Rosyadi
Gambar 3. Skematik Penyambungan IC L293D
dengan GPIO dan Motor
5. Proses Pengujian
Pengujian dari tugas akhir ini meliputi:
1. Pengujian robot, yaitu:
 Pengujian motor DC, yaitu dengan
cara mengukur tegangan pada kedua
motor
ketika
aktif
dengan
menggunakan avometer.
 Pengujian motor servo standar 180°,
yaitu dengan cara menghitung
margin error dari sudut yang
dibentuk oleh motor servo standar
180° dengan sudut realita yang
diukur menggunakan penggaris
busur. Di bawah ini adalah rumus
untuk menghitung margin error dari
kedua sudut tersebut :
Margin Error (%)
|
|
=
100%
Pengujian streaming dengan USB
webcam, yaitu dengan cara membuka
web browser pada laptop dan ketik
alamat URL localhost dari IP address
raspberry
pi
yaitu
192.168.137.5:8080.
Pengujian akses IP address web server,
yaitu dengan cara melakukan percobaan
sebanyak 10 kali untuk mengakses IP
address dari web server dari browser. Dan
diuji keberhasilan dalam terkoneksi ke
jaringan server raspberry pi.
Pengujian aplikasi android, yaitu dengan
cara uji coba dengan menekan tomboltombol menu pada aplikasi android. Hal
ini bertujuan untuk menguji tomboltombol menu aplikasi android berfungsi
atau tidak.
Pengujian USB WiFi, yaitu dilakukan
dengan cara mengendalikan robot melalui
smartphone dengan syarat user diam pada
suatu tempat dan mengontrol robot maju
terus menjauhi user. Pengujian ini
bertujuan untuk menguji seberapa jauh

2.
3.
4.
Teknik Telekomunikasi Politeknik Kota Malang 2015
smartphone dapat menerima sinyal
wireless dari USB WiFi yang ada pada
robot dan mengukur titik terjauh dari
pada robot bisa dikendalikan oleh user.
Pengukuran
jarak
terjauh
ini
menggunakan aplikasi WiFi Analyzer yang
telah terinstal pada smartphone, dimana
aplikasi tersebut dapat menunjukkan –dB
yaitu satuan redaman/pelemahan atau
loss dari WiFi dan jarak terjauh jika -dB
semakin banyak maka semakin jauh juga
jarak antara user dan robot Piver.
IMPLEMENTASI DAN PENGUJIAN SISTEM
1. Pengujian Robot
Pengujian robot ini meliputi pengujian
tegangan pada motor DC, pengujian motor servo
standar 180°, dan pengujian streaming
menggunakan USB webcam.
Pengujian Motor DC
Tabel 1. Tabel Pengukuran Tegangan Pada
Motor
Tegangan
Tegangan
Kondisi
Pada Motor
Pada Motor
Kiri (Volt)
Kanan (Volt)
Stop
0,004
0,001
Forward
7,57
7,80
Backward
7,80
7,40
Right-Forward
7,78
7,40
Left-Forward
7,80
7,40
Dari tabel pengukuran diatas maka dapat
disimpulkan bahwa tegangan rata-rata jika
motor kiri aktif adalah 7,7375 V dan tegangan
rata-rata jika motor kanan aktif adalah 7,5 V
dengan tegangan sumber/baterai sebesar 10,36
V. Jadi rata-rata tegangan pada motor tersebut
dapat menggerakkan motor dengan sempurna.
a.
Pengujian Motor Servo Standar 180°
Tabel 2. Tabel Pengukuran Margin Error
Sudut oleh
Sudut
Margin
Margin
PWM /
Realita
Sudut
Error
Servo
30°
30°
0°
0%
60°
50°
10°
16,667 %
90°
95°
5°
5,556 %
b.
Pengujian Streaming dari USB Webcam
Pengujian
dilakukan
dengan
cara
membuka browser pada laptop dan ketik
alamat URL localhost dari IP address raspberry
pi.
Ketik
seperti
berikut
URL
:
192.168.137.5:8080 dan Enter. Jika streaming
sudah berhasil dilakukan dan dapat dilihat
c.
Wendy Amai Safri Rosyadi
pada default web dari MJPEG Streamer seperti
gambar berikut maka instalasi MJPEG
Streamer pada raspberry pi telah berhasil
dilakukan.
PENUTUP
Gambar 4. Streaming dari Default Web MJPEG
Streamer
2. Pengujian Akses IP Address Web Server
Pengujian ini dengan cara melakukan
percobaan sebanyak 10 kali untuk mengakses IP
address dari web server dari browser. Dan dari
total 10 kali pengujian, semua percobaan untuk
mengakses IP address web server 100% terjadi
keberhasilan untuk terkoneksi ke jaringan server
raspberry pi.
3. Pengujian Aplikasi Android
Di bawah ini adalah gambar menu dalam
aplikasi android dan semua tombol berfungsi
dengan baik.
Gambar 5. Menu pada Aplikasi Android
4. Pengujian USB WiFi
Pengujian ini menggunakan aplikasi WiFi
Analyzer yang diinstal pada android smartphone.
Aplikasi tersebut dapat menunjukkan –dB yaitu
satuan redaman/pelemahan atau loss dari WiFi
Tabel 3. Tabel Pengukuran Jarak Terjauh dan
Pelemahan Sinyal
Jarak (Meter)
Attenuation (-dBm)
5
-50
10
-54
15
-57
20
-65
25
-70
30
-70
Teknik Telekomunikasi Politeknik Kota Malang 2015
35
40
45
50
55
60
65
70
75
-72
-70
-82
-76
-82
-88
-87
-88
-86
KESIMPULAN
Berdasarkan hasil pengukuran, pengujian
dan analisa data pada tugas akhir ini dapat
disimpulkan bahwa:
1. Tegangan rata-rata pada motor kiri dan
kanan adalah 7,7375 V dan 7,5 V dengan
tegangan input pada IC L293D adalah 10,36
V.
2. Margin error masih terlalu besar untuk
menggerakkan motor servo 180° ke sudut
60° dan 90°. Jadi hal tersebut berpengaruh
dengan kepresisian arah kamera C110 yang
diinginkan user.
3. Pengujian streaming pada default web
MJPEG Streamer berhasil dilakukan dengan
cara mengakses URL:192.168.137.5:8080
pada web browser.
4. Keberhasilan untuk mengakses IP address
webserver pada web browser mencapai
100% dengan total pengujian sebanyak 10
kali.
5. Web interface web server berhasil
ditampilkan dengan cara mengakses
URL:192.168.137.5:8000 atau IP Address
Localhost raspberry pi.
6. Jarak efisien user dalam area hotspot untuk
dapat mengontrol robot adalah maksimal
75 meter.
SARAN
Ada beberapa saran untuk pengembangan
tugas akhir ini diantaranya adalah :
1. Power bank sebagai sumber daya
raspberry pi
lebih baik mempunyai
kapasitas
daya
yang
besar
dan
mempunyai output arus 2 A.
2. Untuk penggunaan USB WiFi lebih baik
jika menggunakan USB WiFi dengan tipe
atau merk lain yang mempunyai range
area hotspot yang lebih luas.
3. Power dari motor DC continues lebih baik
menggunakan baterai Lippo atau yang
Wendy Amai Safri Rosyadi
4.
5.
mempunyai kapasitas dan output daya
yang besar.
Lebih baik menggunakan USB Webcam
yang mempunyai kualitas pixel gambar
yang lebih bagus dari USB Webcam yang
digunakan saat ini.
Alamat IP address web server lebih baik
diubah menjadi domain menggunakan
DNS server untuk lebih memudahkan
dalam mengakses menggunakan browser.
(10)
DAFTAR PUSTAKA
(1)
Asadi, Aaron. 2014. Raspberry Pi The
Complete Manual. Imagine Publishing
Ltd. United Kingdom.
(11)
(3)
(13)
(2)
(4)
(5)
(6)
(7)
(8)
(9)
Guides, Open Tech.2015. Auto Login and
Auto Start in Raspberry Pi, (Online)
(http://www.opentechguides.com/how
-to/article/raspberry-pi/5/raspberrypi-auto-start.html, diakses tanggal 28
November 2014)
Inc, Autodesk. 2014. Raspberry Cam
Tank,
(Online)
(http://www.instructables.com/id/Ras
pberry-Pi-Cam-Tank-v10,
diakses
tanggal 01 Juni 2014)
Kildall, Scott.2014. Raspberry Pi:
Launch Python script on startup,
(Online)
(http://www.instructables.com/id/Ras
pberry-Pi-Launch-Python-script-onstartup, diakses pada tanggal 28
November 2014)
Media, O'Reilly Inc. 2013. Controlling
Servo
Motors,
(Online)
(http://razzpisampler.oreilly.com/ch05
.html, diakses pada tanggal 04
September 2014)
OCR. 2013. Getting Started Tutorials.
CB1 2EU. England.
Partner, Kevin. 2014. Ultimate Guide to
Raspberry Pi. Dennis Publishing.
London.
Robinson, Dr. Andrew. 2014. Raspberry
Pi Projects. Indianapolis Composition
Services. United Kingdom.
Rohman,Abdul.2014. Membangun DNS
Server dan Web Server dengan Debian
Teknik Telekomunikasi Politeknik Kota Malang 2015
(12)
(14)
Linux. Sekolah Menengah
Muhammadiyah. Babat
Kejuruan
Salmela, Jacob. 2014. Raspberry Pi
Webcam Using MJPG-Server: Internet
Live-streaming,
(Online)
(http://jacobsalmela.com/raspberry-piwebcam-using-mjpg-streamer-overinternet, diakses pada tanggal 6
September 2014)
Sheppad Kevin. 2014. Introduction to
Python for Econometrics, Statistics and
Data Analysis.University of Oxford.
United Kingdom
Shimniok, Michael. 2013. Raspberry Pi
Telepresence
Rover,
(Online)
(http://www.botthoughts.com/2013/04/raspberry-pitelepresence-rover.html, diakses pada
tanggal 01 Juni 2014)
Sjogelid, Stefan. 2013. Raspberry Pi For
Secret Agents. Packt Publishing Ltd.
Birmingham.
Stultz, Matt. 2004. MAKE: PROJECTS
“Raspberry Eye” Remote Servo Cam,
(Online)
(http://makezine.com/projects/raspbe
rry-eye-remote-servo-cam, diakses pada
tanggal 13 Oktober 2014)
Download