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)