PERANCANGAN DAN IMPLEMENTASI SISTEM KENDALI LAMPU DENGAN ARDUINO UNO MELALUI ESP8266 WIFI MODULE BERBASIS ANDROID
NASKAH PUBLIKASI
diajukan oleh Fransisko Aristo 12.11.6041
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2016
NASKAH PUBLIKASI
PERANCANGAN DAN IMPLEMENTASI SISTEM KENDALI LAMPU DENGAN ARDUINO UNO MELALUI ESP8266 WIFI MODULE BERBASIS ANDROID
yang dipersiapkan dan disusun oleh Fransisko Aristo 12.11.6041
Dosen Pembimbing
Barka Satya, M.Kom. NIK. 190302126
Tanggal, 22 Agustus 2016 Ketua Program Studi S1 – Teknik Informatika
Sudarmawan, MT. NIK. 190302035
PERANCANGAN DAN IMPLEMENTASI SISTEM KENDALI LAMPU DENGAN ARDUINO UNO MELALUI ESP8266 WIFI MODULE BERBASIS ANDROID Fransisko Aristo1), Barka Satya2) 1, 2)
Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email :
[email protected]),
Abstract - With the development of technologies such as smart phones in Indonesia as well as wireless networking technology advances rapidly enough can be used to overcome the problem of electricity savings in an effort to optimize cost and time. Electrical switches can be replaced by using the control buttons on / off on a smart phone from a distance (remote control) and controlled through a network - based microcontroller devices. Arduino is an open-source electronic circuit board in which there are a microcontroller chip developed by the company Atmel.
1.2 Rumusan Masalah Berdasarkan latar belakang di atas, permasalahan yang dapat diangkat adalah sebagai berikut : 1. Bagaimana cara mengefisiensi jaringan kabel dan pengontrolan peralatan listrik pada rumah ? 2. Bagaimana perancangan kerja sitem ini ? 3. Apa saja yang dibutuhkan dalam proses perancangan dan implemantasi sistem ini ? 4. Bagaimana cara kerja sistem ini ? 5. Apa kelebihan dan kekurangan dari sistem ini ?
Android is a Linux kernel based operating system developed by Google and is open source that allows developers to implement it into a variety of existing technology..
1.3 Batasan Masalah Pada pernacangan sistem ini peneliti memberikan beberapa batasan masalah, diantaranya yaitu : 1. Sistem dirancang baru hanya untuk menghidupkan dan mematikan lampu. 2. Sistem dirancang baru hanya untuk mengatur tingkat intensitas cahaya (dimmer) dan waktu (timer) pada salah satu lampu. 3. Sistem dirancang baru menggunakan ESP8266 sebagai modul wifi melalui webserver pada jaringan lokal. 4. Aplikasi Android yang dirancang hanya sekedar menghidupkan dan mematikan lampu, serta mengatur tingkat intensitas cahaya dan waktu ON/OFF lampu.
The control system that is to make it easier for the control equipment that electricity equipment more flexible and efficient and supporting the use of technology has grown significantly. Keywords: Technology, Smartphones, Microcontroller, Android, on/of.
[email protected])
Arduino,
1. Pendahuluan 1.1 Latar Belakang
1.4 Metode Penelitian
Seiring dengan perkembangan zaman yang didukung oleh perkembangan teknologi, kebutuhan akan penggunaan dan peningkatan efisiensi waktu di masyarakat menjadi hal yang sangat diprioritaskan untuk dapat memanajemen pembagian waktu secara realtime.
1. Studi Kepustakaan 2. Implementasi 3. Pengujian Sistem dan Aplikasi 2. Landasan Teori
Manajemen kontrol realtime menjadi hal yang sangat penting, guna mendukung peningkatan mobilitas pengguna, salah satunya yaitu pengimplementasian pada sistem kontrol lampu yang dapat di-program dengan mengambil konsep teknologi microcontroller dan pembuatan aplikasi mobile phone sesuai kebutuhan pengguna.
2.1 Tinjauan Pustaka 1) Siswondo Aji Nugroho (2014), membuat aplikasi mobile untuk pengendalian lampu berbasis android menggunakan modul wifi Z3E. 2) Vidy Masinambow (2014), membuat aplikasi pengendalian saklar listrik melalui ponsel pintar android. Pada komunikasi data untuk pengendalian antara microcontroller dan android menggunakan wifi shield. 3) Immanuel Warangkiran (2014), membuat perancangan kendali lampu berbasis android. Pada implementasinya menggunakan modul wifi Wizfi 210. 4) Fachrur Purnama (2015), membuat aplikasi pengendali lampu 220 volt dengan android menggunakan bluetooth. Pada implementasinya menggunakan microcontroller ATmega8 dan modul bloetooth HC-06.
Berdasarkan hal diatas, maka penulis ingin membuat sebuah sistem kontrol ON/OFF pada lampu yang dikendalikan dari sebuah smartphone berbasis android melalui jaringan wifi. Selain pengendalian ON/OFF-nya lampu, pada pemrograman microcontroler dan aplikasi android yang dirancang juga memiliki konsep otomatis dalam mengontrol lampu atau peralatan listrik lainnya berdasarkan waktu (timer) dan tingkat kecerahan (dimmer) pada lampu.
1
menghitung detik, menit, jam, tanggal, bula, hari dan tahun valid sampai tahun 2100.
2.2 Arduino Uno Arduino Uno adalah papan microcontroller berbasis ATMega328 yang memiliki 14 pin digital input/ouput (dimana 6 pin dapat digunakan sebagai output PWM ), 6 input analog, clock speed 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Board ini mengunakan daya yang terhubung ke komputer dengan kabel USB atau daya eksternal dengan adaptor AC – DC atau baterai untuk memulainya.
2.3.7 Optocoupler Dalam Dunia Elektronika, Optocoupler juga dikenal dengan sebutan Opto-isolator, Photocoupler atau Optical Isolator. Komponen ini biasanya digunakan sebagai antar muka (interface) antara rangkaian pengendali dengan rangkaian daya (triac). 2.4 Local Area Network (LAN) Nirkabel
2.3 Pengenalan Serial Module dan Komponen Elektronika
LAN adalah jaringan komputer yang mencakup area lokal/relatif kecil, seperti rumah, kantor, atau kumpulan dari bangunan. LAN sekarang lebih banyak menggunakan teknologi berdasar IEEE 802.3 Ethernet switch atau dengan Wi-Fi. Kebanyakan berjalan pada kecepatan 10, 100, atau 100 Mbps. Berikut merupakan sebagian kecil pendukung dari jaringan LAN nirkabel yang digunakan dalam sistem kontrol yang dirancang yaitu Access Point (AP), Wireless Fidelity (WiFi), Client-Server, dan WebServer.
2.3.1 Modul Wifi ESP8266-01 ESP8266 adalah sebuah komponen chip terintegrasi yang didesain untuk keperluan dunia terkini yang serba tersambung. Chip ini menawarkan solusi networking WiFi yang lengkap dan menyatu dengan memiliki kemampuan on-board prosesing dan stronge yang memungkinkan chip tersebut untuk diintegrasikan dengan sensor-sensor atau dengan aplikasi alat tertentu melalui pin input-output dengan pemrograman singkat dengan output serial TTL yang dilengkapi dengan 2 buah pin GPIO.
2.5
Pengenalan Android
2.5.1 Sejarah Android
2.3.2 Relay
Android pada mulanya berasal dari perusahaan bernama Android, Inc. Didirikan di Palo Alto, California, pada Oktober tahun 2003, Pada tahun 2005 Google membeli/mengakusisi perusahaan yang waktu itu bernama Android sebuah perusahaan yang berkecimpung di dunia mobile. Setelah diambil alih oleh Google, pada November 2007 mereka mengumumkan bahwa sedang mengembangkan ponsel Google dengan OS (Operating System) mobile terbaru yang diberi nama Android.
Relay adalah alat yang diopersikan dengan listrik dan secara mekanis mengontrol hubungan rangkaian listrik, serta dioprasikan sebagai saklar (switch) listrik yang bermanfaat untuk kontrol jarak jauh. 2.3.3 Printed Circuit Board (PCB) PCB merupakan singkatan berasal dari bahasa inggris, yakni Printed Circuit Board. Dalam bahasa kita bahasa Indonesia berarti Papan sirkuit cetak. PCB adalah sebuah papan yang penuh dengan komponenkomponen elektronika yang tersusun membentuk rangkaian elektronik.
2.5.2 Definisi Android Menurut Teguh Arifanto (2011:1), Android merupakan perangkat bergerak pada sistem operasi untuk telepon seluler yang berbasis linux.
2.3.4 Resistor Resistor merupakan komponen elektronika berjenis pasif yang mempunyai sifat menghambat, membatasi, dan mengatur arus listrik dalam suatu rangkaian elektronika.
2.5.3
Arsitektur Android
Secara umum arsitektur android di bagi 4 layer elemen. Bisa dilihat pada skema pembagian elemen pada arsitektur Android yaitu, Aplication dan Widget, Application Framework, Libraries, Android Runtime, dan Linux Kernel.
2.3.5 DAC0808 DAC 0808 adalah sebuah digital to analog converter 8-bit monolothic yang mempunyai waktu setting sekitar 150 ns. Tidak diperlukan setting arus referensi (IREF) dalam berbagai penerapan. Pada pengaturan skala penuh arus output yang dikeluarakan umumnya 255 (IREF/256).
2.5.4
Fundamental Aplikasi
Ada 4 komponen penting yang digunakan pada aplikasi Android, yaitu Activities, Service, Broadcast Receiver, dan Content Provider. 2.5.5 Versi Android
2.3.6 RTC DS1307
Berikut ini daftar urut pengembangan sistem operasi Android, oleh Google dan Open Handset Alliance (OHA) : Android, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow.
DS1307 merupakan Real-time clock (RTC) dengan jalur data paralel yang memiliki antarmuka serial Twowire (I2C), sinyal luaran gelombang-kotak ter-program (Programmable squarewave), Real-time clock (RTC)
2
2.6
Pengenalan Bahasa Pemrograman
3. Analisis dan Perancangan Sistem Analisis sistem didefinisikan sebagai bagaimana memahami dan menspesifikasikan dengan detail apa yang harus dilakukan oleh sistem. Tujuan utama dari analisis sistem, yaitu untuk menemukan kelebihan/kekurangan, kelemahan/kekuatan yang terdapat dari sebuah sistem yang dirancang atau dibuat.
2.6.1 Java Menurut Budi Raharjo , Imam Heryanto, Arif haryono (Mudah Belajar Java 2010) Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM).
3.1 Analisis SWOT Adapun hasil dari analisa tersebut adalah sebagai berikut dibawah ini :
2.6.2 XML XML kepanjangan dari “eXtensible Markup Language”. Dalam kaitan, dengan bahasa pemrograman, kata extensible berarti pengembang dapat mengembangkan kemampuannya. Informasi dari XML disimpan didalam tag. XML dapat digunakan sebagai alternatif dalam bertukar data antaraplikasi atau mentransfer data dari software satu ke software yang lain.
1. Sistem kontrol (perangkat) ini merupakan sebuah inovasi dan teknologi terbaru, maka sangat diperlukan pengenalan (review) tentang apa saja keunggulan, kualitas serta manfaat yang lebih efisien jika dibandingkan dengan penggunaan saklar konvensional pada umumnya.
2.6.3 PHP
2. Pengembangan perangkat harus dapat mengikuti trend perkembangan teknologi, zaman, serta kebutuhan yang sesuai dengan pengguna.
PHP adalah bahasa server-side programing yang power full untuk membuat halaman web yang dinamis dan interaktif. Sintak pada PHP mirip dengan bahasa Perl dan C.
3. Pengenalan dan pemasaran produk (perangkat) diprioritaskan untuk wilayah yang telah terorganisir dengan baik atau mendapat dukungan jangkaun internet yang memadai.
2.7 Analisis SWOT
3.2 Analisis Kebutuhan Fungsional
Menurut Jogiyanto (2005:46), SWOT digunakan untuk menilai kekuatan-kekuatan dan kelemahankelemahan dari sumber-sumber daya yang dimiliki perusahaan dan kesempatan-kesempatan eksternal dan tantangan-tantangan yang dihadapi.
Dalam perancangan sistem kontrol lampu berbasis Android yang diintegrasikan dengan modul Wi-Fi ESP8266-01 webserver dan sebuah microcontroller (Arduino Uno), pada aplikasi kontrol berbasis Android yang dirancang memiliki beberapa fungsi serta fitur yang dapat di dijalankan oleh pengguna (user). Berikut adalah fitur-fitur yang tersedia, antara lain : 1. Sistem dapat memproses dan menjalankan fungsi perintah menghidupkan dan menyalakan lampu, pengaturan waktu ON/OFF-nya lampu, serta tingkat level kecerahan (dimmer) pada lampu. 2. Pengaturan untuk menginput IP server dan domain webserver untuk mengirim data status lampu. 3. Pengaturan hidup dan matinya lampu dengan tombol ON/OFF. 4. Pengaturan ON/OFF-nya lampu berdasarkan waktu (timer) yang dapat ditentukan oleh pengguna dengan tampilan time picker pada aplikasi Android. 5. Pengaturan intensitas level cahaya (dimmer) pada tombol horisontal seekbar, yang terbagi atas 5 (lima) tingkat/level kecerahan ( 0, 1, 2, 3,- dan 4 ). 6. Aplikasi dapat menyimpan dan membaca secara otomatis pada IP dan domain webserver yang disimpan pada internal storage on smartphones pada saat tombol save ditekan pada laman setting webserver. 7. Pengaturan hidup dan matinya pada semua lampu dapat diatur pada tombol All ON dan All OFF.
Berikut ini merupakan penjelasan dari SWOT (David,Fred R.,2005:47) yaitu Kekuatan (Strenghts), Kelemahan (Weakness), Peluang (Opportunities), Ancaman (Threats). 2.8 Pengenalan Unified Modeling Language (UML) UML adalah bahasa visual dalam menentukan, menggambarkan, membangun, dan mendokumentasikan sebuah sistem software dengan menggunakan diagram dan teks-teks pendukung. Berikut ini merupakan diagram UML yang digunakan pada sistem yang dibuat, yaitu Class Diagram, Use Case Diagram, Activity Diagram, dan Sequence Diagram. 2.9 Flowchart Aplikasi flowchart menggambarkan tahapan proses suatu sistem, teramsuk sistem multimedia. Program flowchart menggambarkan uruta-urutan instruksi dari suatu program komputer. Flowchart biasanya digunakan untuk mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut
3
Tabel 3. Spesifikasi Software untuk perancangan
3.3 Analisis Kebutuhan Non-Fungsional
No. 1. 2.
3.3.1 Analisis Kebutuhan Hardware 1. Kebutuhan hardware (perangkat keras) yang dibutuhkan dalam perancangan sistem kendali dapat dilihat pada tabel dibawah ini. Tabel 1. Spesifikasi hardware untuk implementasi No. 1.
Hardware Notebook
2. Processor 3. 4. 5. 6. 7.
RAM ( Random Access Memory) Memory Type LCD (Liquid Crystal Display) Hardisk VGA (Video Graphic Adapter)
Spesifikasi Asus K43SD Intel(R) Core(TM) i52450M CPU @ 2,50GH 2,50 GHz
14” 640 GB INVIDIA GeForce 610M 2 GB
2. Kebutuhan komponen elektronika untuk perancangan sistem kendali dapat dilihat pada tabel dibawah ini. Tabel 2. Spesifikasi komponen untuk perancangan Spesifikasi/Jumlah
1. 2. 3.
Microcontroller Modul WiFi Relay
4.
Resistor
5. 6.
PCB TRIAC
Arduino Uno R3 (5 Volt) ESP8266-01 (3.3 Volt) Relay 4 Channel (5 Volt) 7 buah (besarnya ohm disesuaikan berdasarkan keperluan arus) 1 buah TRIAC BD136 (1 buah)
7. 8 9. 10.
Kabel Power Suplay RTC DS1307 Optocoupler
11.
DAC0808
12.
Batterai
13.
Lampu
14.
Lampu
15.
Multimeter/Avometer
16.
AP (Access Point)
ADT (Android Development Tools)
4.
Arduino IDE
5.
Android Studio
4. 6.
XAMPP – Apache Web server Operating System : Windows 10 64Bit
Analisis kelayakan sistem merupkan sebuah tahapan analisis dalam menentukan mekanisme untuk menjustifikasi apakah sistem yang dibuat layak untuk dilanjutkan menjadi sistem atau tidak. Ada beberapa kriteria yang dapat ditinjau kelayakannya sebagai berikut : 1. Kelayakan Teknis Dari segi atau aspek kelayakan teknologi, aplikasi ini dapat dikatakan layak karena sudah diuji coba, merupakan pengembangan dari saklar-saklar konvensional, serta teknologi yang digunakan sangat inovatif dengan pemanfaatan perkembangan teknologi khususnya di bidang jaringan, yang terintegrasikan dengan sebuah webserver. 2. Kelayakan Operasional Dari segi pengoperasian atau penggunaannya, aplikasi ini tidak membutuhkan keterampilan atau keahlian khusus, dikarenakan hampir sebagian besar publik (pada masyarakat Indonesia) telah terbiasa dan dapat menguasai penggunaan samrtphones dan telah mengerti apa itu internet, serta mengetahui prosedur agar dapat melakukan browsing melalui smartphones.
DDR3
Komponen
3.
3.4 Analisis Kelayakan Sistem
4,00 GB
No.
Software Android SDK (Software Development Kit) JDK (Java Development Kit)
± 2 meter (kabel tunggal) 5 Volt (1 buah) Daya 500nA (1 buah) 1 buah Power supply voltage range: ±4.5V to ±18V 3 Volt (1 buah ) 3 buah lampu pijar ( 20 Watt) 1 buah lampu pijar (dimmabel lamp) 1 buah TP-LINK TL-MR3420 Wireless N Router
3.5 Perancangan Unfield Modelling Language (UML) 3.5.1 Use Case Diagram Use case mendeskripsikan sebuah interaksi (event) antara satu atau lebih aktor dengan perangkat lunak (software) yang dibuat. Uses case diagram pada aplikasi Android yang dibuat dapat dilihat pada gambar dibawah ini.
3.3.2 Analisis Kebutuhan Software Analisis kebutuhan software merupakan analisis spesifikasi dari sebuah atau beberapa perangkat lunak yang digunakan (mendukung) dalam pembuatan aplikasi ini adalah sebagai berikut : Gambar 1. Use case diagram aplikasi android
4
3.5.2
Activity Diagram
Activity diagram menggambarkan alur kerja (workflow) atau aktifitas dari sebuah sistem, menu, maupun user interface (antarmuka tampilan) yang ada pada perangkat lunak (software). Berikut merupakan actvity diagram pada aplikasi android yang dibuat.
Gambar 4. Block diagram system 3.7 Perancangan Software 3.7.1 Perancangan Interface Aplikasi Android Dalam setiap perancanagan atau desain tampilan (interface) pada aplikasi harus menarik, lebih simple, dan user friendly.
Gambar 2. Activity Diagram aplikasi android 3.5.3 Sequence Diagram Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek serta pesan yang dikirimkan dan diterima antar objek. Berikut ini gambaran sequence diagram dari aplikasi android dibawah ini.
Gambar 5. Tampilan Interface aplikasi android 4. Pembahasan 4.1 Implementasi Perancangan sistem kendali lampu dengan arduino uno melalui modul Wi-Fi ESP8266-01 dibangun dalam bentuk prototype dan kemudian dilakukan pengujian serta analisis guna untuk mengetahui kinerja sistem kendali lampu dengan menggunakan client-server melalui komunikasi wireless.
Gambar 3. Sequence diagram aplikasi android 3.6 Perancangan Blok Diagram Sistem
Gambar 6. Prototype sistem kendali lampu
Pada blok diagram yang di buat merupakan gambaran kerja sistem kontrol lampu yang dikendalikan oleh sebuah smartphone android yang terkoneksi dengan jaringan lokal pada sebuah access point (Wi-Fi) dan sebuah perangkat modul Wi-Fi ESP8266-01 yang diintergrasikan pada microcontroller (Arduino - Uno) juga terkoneksi dengan access point serta sebuah webserver yang juga terkoneksi dengan access point yang sama pada jaringan lokal yang sama pula.
4.2 Pengujian Keseluruhan Sistem Kontrol Lampu 4.2.1 Pengujian Terhadap Kemampuan Jarak 1. Pengujian jarak pada kondisi access point, server lokal, dan sistem kontrol pada ruangan indoor sementara client mengakses pada ruangan indoor maupun outdoor.
5
Tabel 4. Hasil pengukuran delay dan RSSI pada client indooroutdoor
Tabel 6. Hasil pengujian kompetibilitas aplikasi android
4.2.3 Pengujian Data Request pada Multiclient Pengujian sistem kontrol dapat di akses lebih dari satu smartphones pada sistem client server ini atau tidak. Tabel 7. Hasil pengujian multiclient request
5. Kesimpulan dan Saran 5.1 Kesimpulan
2. Pengujian jarak pada kondisi server lokal, dan sistem kontrol pada ruangan indoor dan access point berada pada ruangan outdoor sementara client mengakses pada ruangan outdoor juga tanpa adanya batas atau penghalang.
Waktu delay/response pada user data request melalui smartphone android ke webserver serta request baca data dari modul Wi-Fi ESP8266-01 terhadap webserver juga dipengaruhi oleh jarak, kondisi, maupun tata letak sebuah access point.
Tabel 5. Hasil pengukuran delay dan RSSI pada client outdoor-indoor
5.2 Saran Untuk kedepannya dapat diakses tidak hanya pada jaringan lokal saja tetapi dapat diakses melalui jaringan internet yang lebih luas serta alat kontrol dapat diminimaliskan lagi. Daftar Pustaka [1] Heri Andriyanto, Aan Darmawan. 2016. Arduino
Belajar Cepat dan Pemrograman, Penerbit INFORMATIKA, Bandung. ISBN: 978-602-151481-[9] [2] Safaat H, Nazaruddin. 2015. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Rev.2. INFORMATIKA BANDUNG. ISBN: 978-602-1514-47-4. [3] Syahwil, Muhammad. 2013. Panduan Mudah Simulasi dan Praktek Mikrokontroler Arduino, Penerbit : CV. ANDI OFFSET (penerbit ANDI). Biodata Penulis
4.2.2 Pengujian Kompetibilitas Aplikasi Android.
Fransisko Aristo, memperoleh gelar Sarjana (S.Kom) Program Studi Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2016.
Berikut ini merupakan hasil pengujian aplikasi android terhadap beberapa tipe atau merk samrtphones dapat dilihat pada tabel dibawah ini.
Barka Satya, Memperoleh gelar Diploma Komputer (D3),Jurusan Sistem Informasi STMIK AMIKOM Yogyakarta, lulus tahun 2001. Memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Sistem Informasi STMIK AMIKOM Yogyakarta, lulus tahun 2005. Memperoleh gelar Magister Komputer (M.Kom) Program Pasca Sarjana Magister Teknik Informatika STMIK AMIKOM Yogyakarta, Lulus tahun 2012. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta, pada Program Studi Sistem Informasi dan Manajemen Informatika.
Tabel 6. Hasil pengujian kompetibilitas aplikasi android
6