Tugas akhir ini membahas tentang menyalakan dan mematikan lampu menggunakan Internet of Things (IoT) dengan Arduino. Program ini menggunakan Wemos D1 Mini board yang terhubung ke internet melalui jaringan WiFi untuk mengambil nilai dari server AgnosThings untuk menentukan status lampu. Kode program ditulis untuk memanggil data dari server, lalu menyalakan atau mematikan lampu berdasarkan nilai yang diterima.
1. TUGAS AKHIR
IoT
Menyalakan dan Mematikan Lampu Via
Internet
Disusun oleh
Nama :Silalahi Afrina Clarissa
Nis :1516116129
Kelas : XII TKJ-1
SMK NEGERI 4 BANDUNG
2018
2. i
KATA PENGANTAR
Dengan mengucap puji kami panjatkan kehadirat Allah Swt yang telah melimpahkan rahmat
dan karunia-Nya sehingga penulis dapat menyelesaikan tugas ini dengan baik. Adapun judul
tugas akhir ini yaitu “IoT Menyalakan dan Mematikan Lampu Via Internet”.
Tujuan penulisan tugas akhir ini dibuat sebagai salah satunilai untuk mata pelajaran
rancang bangun jaringan dan administrasi server. Maka tugas akhir ini dirancang untuk
menambah pengetahuan dan pemahaman pembaca dan merancang jaringan komputer, serta
pembaca dapat mengaplikasikan pada kehidupan sehari-hari.
Dalam membuat tugas akhir ini, banyak pihak yang telah memberikan bantuan,
bimbingan dan dorongan, terutama kepada teman-teman dan guru-guru saya. Oleh karena itu,
dengan segenap kerendahan hati saya, pada kesempatan ini penulis menyampaikan ucapan
terimakasih kepada guru-guru dan teman-teman yang telah membantu.
Penulis menyadari sepenuhnya bahwa tugas akhir ini jauh dari kata sempurna, oleh
karena itu penulis mengharapkan saran dan kritik yang bersifat membangun yang lebih baik
untuk generasi penerus kita.
Akhir kata penulis berharap semoga Tugas Akhir ini berguna bagi penulis pada
khususnya dan bagi pembaca umumnya.
Bandung, 15 April 2018
Penulis
Silalahi Afrina Clarissa
3. ii
DAFTAR ISI
KATA PENGANTAR ...............................................................................................................i
DAFTAR ISI..............................................................................................................................ii
BAB I PENDAHULUAN..........................................................................................................1
A. LATAR BELAKANG....................................................................................................1
B. RUMUSAN MASALAH...............................................................................................1
C. TUJUAN ATAU IMPLEMENTASI.............................................................................1
BAB II PEMBAHASAN...........................................................................................................2
A. PENGERTIAN ARDUINO...........................................................................................2
B. KELEBIHAN DAN KEKURANGAN ARDUINO ......................................................2
PERSIAPAN PERANGKAT DAN ALAT-ALAT....................................................................3
LANGKAH-LANGKAH...........................................................................................................4
KESIMPULAN........................................................................................................................13
KRITIK DAN SARAN ...........................................................................................................14
4. 1
BAB I PENDAHULUAN
A.LATAR BELAKANG
Internet of Things kian marak. Perangkat IoT yang murah meriah dan
canggih sudah banyak dan akan terus bermunculan. Berbagai layanan platform
IoT pun semakin berkembang dan saling berkompetisi. Ekosistem yang semakin
meluas ini berdampak pada membludaknya jumlah penggiat IoT
untuk membuat berbagai kreasi. Vision Mobile dalam salah
satu reportnya menyebutkan bahwa pada hingga penghujung tahun 2015 ada
sekitar 4,5 juta individu developer aktif di seluruh dunia yang mengembangkan
perangkat IoT.
B. RUMUSAN MASALAH
Berdasarkan latar belakang tersebut dapat dirunmuskan masalah-masalah yang
harus diselesaikan yaitu:
1. Pengertian ARDUINO
2. Fungsi ARDUINO
3. Kelebihan dan kekurangan ARDUINO
C. TUJUAN ATAU IMPLEMENTASI
Tujuan “IoT Menyalakan dan Mematikan Lampu Via Internet” adalah sebagai
berikut:
1. Mempermudah pekerjaan dengan kecanggihan Androit
2. Membuat pekerjaan lebih mudah
3. Mempelajari kelebihan Arduino
4. Mengetahui fitur yang ada di Arduino
Adapun tujuan dari pembuatan makalah ini yaitu untuk menambah
pengetahuan dan memahami apa itu ardunio. Manfaat pembuatan makalah ini yaitu
pembaca dapat mengetahui tentang pengertian ardunio, fitur ardunio, dan
kelebihan ardunio.
5. 2
BAB II PEMBAHASAN
A. PENGERTIAN ARDUINO
Arduino adalah kit elektronik atau papan rangkaian elektronik open source
yang didalamnya terdapat komponen utamaya itu sebuah chip mikrokontroller dengan
jenis AVR. Mikrokontroller itu sendiri adalah chip atau IC (integrated Circuit) yang
bisa diprogram menggunakan komputer. Tujuan menanamkan program pada
mikrokontroller adalah agar rangkaian elektronik dapat membaca input, memproses
input tersebut dan kemudian menghasilkan output seperti yang diinginkan. Jadi,
mikrokontroller bertugas sebagai otak yang mengendalikan input, proses ,dan output
sebuah rangkaian elektonik.
B. KELEBIHAN ARDUINO
Kelebihan Arduino
Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloader
yang akan menangani upload program dari komputer.
Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak
memiliki port serial/RS323 bisa menggunakan nya.
Bahasa pemrograman relatif mudah karena software Arduino dilengkapi dengan
kumpulan library yang cukup lengkap.
Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board Arduino.
Misalnya shield GPS, Ethernet, SD Card, dll.
Kekurangan Arduino
Jika satu simbol pun salah dalam konfigurasi dapat menimbulkan error atau
rancangan tidak berjalan dengan lanjar
Harus memodifikasi program lama karena pada penggunaan pin harus tepat
Stroge flash berkurang, karena dipakai untuk bootlader
6. 3
PERSIAPAN PERANGKAT DAN
ALAT-ALAT
1. Wemos D1 Mini Board ini adalah board wifi kecil berbasis ESP8266. ESP8266
dikenal sebagai modul WiFi yang handal, ekonomis dan komunitas yang besar.
ESP8266 inilah yang akan menghubungkan perangkat kita dengan internet via WiFi.
2. Relay module Modul ini berfungsi sebagai sakelar digital untuk lampu yang on-
offnya akan kita kendalikan menggunakan ESP8266 board.
3. Breadboard
4. Kabel jumper
5. Set lampu Rangkaian lampu lengkap dengan dudukan lampukabel dan stekernya.
Perhatikan bahwa bagian tengah dari salah satu linekabelnya kita putus untuk
nantinya dihubungkan ke relay.Selain perangkat-perangkat di atas, Kamu akan
memerlukan Wifi Access Point yang terhubung ke internet. Access Point ini yang
nantinya akan digunakan oleh ESP8266 untuk terkoneksi ke internet. Kamu bisa
menggunakan jaringan Wifi rumah kalo punya, sekolah, kantor atau melalui tethering
hotspot dari smartphone atau wireless router.
6. Obeng
7. Gunting
7. 4
LANGKAH-LANGKAH
1. Install Hardware Package ESP8266
ESP8266 dapat diprogram dengan Arduino IDE. Untuk itu kita akan menginstal
terlebih dahulu hardware package untuk ESP8266 pada Arduino IDE. Ada dua jalan
untuk itu, yakni melalui board manager pada Arduino IDE, atau mengunduh source
code atau git clone dari repo Github. Kalo Setelah itu ikuti salah satu langkah di
bawah ini untuk menginstal hardware package untuk ESP8266.
Via Board Manager
Jalankan Arduino IDE
Pilih menu File > Preferences
Pada kolom "Additional Boards Manager URLs", isikan tautan
berikut:http://arduino.esp8266.com/stable/package_esp8266com_index.json Kalo
kolom Boards Manager sudah ada isinya sebelumnya, pisahkan dengan koma.
Pilih menu Tools > Board: > Boards Manager..., akan muncul jendela Boards
Manager. Pilih "esp8266 by ESP8266 Community" lalu klik tombol install di
sebelah kanan bawahnya.
Via Git
Masuk ke folder Sketchbook location untuk Arduino IDE. Lokasi Sketchbook
location dapat dilihat pada menu File > Preferences, pada jendela Preferences bagian
atas.
Buat folder hardware/esp8266com/ lalu masuk ke dalam folder tersebut.
Di dalam folder hardware/esp8266com/ clone repository ESP8266 dengan perintah
berikut: git clone --depth=1https://github.com/esp8266/Arduino.git esp8266
Unduh binary tools untuk ESP8266. (Untuk tahap ini kita akan menjalankan script
python, maka komputermu harus terisntall python 2.7 ke atas). Masuk ke folder
esp8266/tools/ lalu jalankan perintah berikut: python get.py
Restart Arduino IDE
8. 5
2. Merangkai Alat
Rangkai semua perangkat menjadi seperti bagan berikut:
Pasang setiap kabel jumper seperti gambar berikut:
Perhatian: karena kita bermain dengan listrik AC bertegangan tinggi, maka
pastikan Kamu memasang kabel ke steker dan dudukan lampu dengan rapi, dan
masukkan kedua ujung kabel ke relay dengan rapi agar tidak tersentuh saat arus
tertutup.Pada umumnya ada 3 port pada relay, yang diberi simbol C, NC dan NO. C
singkatan dari Common Connection, NC singkatan dari Normally Closed dan NO
singkatan dari Normally Opened. Jadi bila kita menghubungkan kedua ujung kabel ke C
dan NC, maka rangkaian listrik akan tertutup pada awalnya, dan bila dihubungkan ke C
9. 6
dan NO, maka rangkaian listrik akan terbuka. Kita akan gunakan C dan NO agar lampu
tidak menyala saat pertama kali listrik dihubungkan.
3. Membuat project di AgnosThings
Sebenarnya ESP8266 dapat berlaku sebagai Access Point, sehingga perangkat lain
seperti komputer dan smartphone dapat terhubung langsung ke ESP8266
dan mengirimkan sinyal perintah tertentu. Namun bila skenarionya demikian, maka kita
hanya bisa mengontrol ESP8266 dalam jarak yang terbatas. Nantinya perangkat Wemos
kita akan kita hubungkan ke internet dan mengambil nilai dari server AgnosThings untuk
menentukan apakah lampu harus menyala atau mati. Pertama-tama mauk terlebih dahulu
ke website AgnosThings di http://agnosthings.com kemudian registrasi. Setelah proses
registrasi selesai, login dengan akun yang sudah Kamu buat melalui halaman login. Kamu
akan diarahkan ke halaman dashboard AgnosThings. Seperti gambar berikut :
Sekarang kita akan membuat project di AgnosThings. Project yang kita buat akan
menyimpan data yang kita simpan untuk kebutuhan proyek IoT kita. Pilih menu untuk
membuat Project/Channel baru. Kamu akan diarahkan ke halaman form untuk
membuat project. Bagian paling penting adalah kolom Field(s). Kolom ini berisi field
apa saja yang akan disimpan datanya. Karena kita hanya memerlukan pengecekan satu
nilai saja --lampu menyala atau mati, maka kita hanya akan mengisi kolom ini dengan
satu field bernama 'switch'.Daftar project/channel dapat diakses melalui menu Channel
List. Setiap project/channel akan memiliki setidaknya tiga halaman fitur yang bisa
diamati: Info, Raw Data dan Chart.
Setiap project memiliki ID dan GUID yang
akan digunakan pada API.Coba masuk ke halaman
Info dan perhatikan bagian Channel API. Salin
URL API yang berlabel 'Sending data to channel'
dan panggil pada browser lain.
10. 7
Karena kita hanya akan menyalakan dan mematikan lampu, maka kita hanya
perlu menyimpan nilai 0 dan 1.Kamu dapat mengecek data yang sudah masuk pada
halaman Raw Data dan Chart.
Kita juga dapat memanggil data yang sudah tersimpan dengan menggunakan
URL API yang ada di bawah label 'Getting data back from channel' pada halaman Info.
4. Menuliskan Kode
Kita sudah mendapatkan API untuk mengambil data dari server AgnosThings.
Sekarang kita akan gunakan pada program ESP8266. Buka Arduino IDE dan hubungkan
board Wemos D1 Mini ke komputer menggunakan kabel MicroUSB.
Pada menu Tools > Board:, pilih WeMos D1 R2 & mini. Set CPU
Frequency ke 80MHz. Pilih Flash Size ke 4M (1M SPIFFS). Pilih Upload
Speed ke 115200. Terakhir set Port ke port USB dimana WeMos terhubung.
11. 8
Setelah itu tuliskan kode program berikut:
Upload kode program Kamu kemudian setelah proses upload selesai, buka
jendela Serial Monitor melalui menu Tools > Serial Monitor. Bila programmu benar,
mestinya WeMos akan mencetak data seperti pada gambar berikut:
12. 9
Sembari program jalan dan terus mengecek API setiap 5 detik, coba Kamu
perbaharui valuenya menggunakan API untuk mengirim data. Ubah value switchdari 1
menjadi 0, kemudian update lagi menjadi 1, dan mestinya data terakhir yang diterima
oleh program kita pun berubah sesuai dengan data terakhir yang sudah kita update ke
server.
5. Menyalakan dan Mematikan Lampu
Kita sudah bisa memanggil data switch kita dari server AgnosThings. Sampai sini
kita masih belum bisa menyalakan dan mematikan lampu. Kita hanya perlu
menambahkan pengecekan value jsonnya. Bila valuenya {"value":"1","code":200} maka
kita nyalakan lampu dan bila valuenya {"value":"0","code":200} kita matikan lampu.
Setelah itu tuliskan kode program berikut:
13. 10
Langkah Terakhir
Pastikan rangkaian lampu sudah terhubung dengan relay dan pin D1 pada
WeMos terhubung ke pin input signal relay. Kemudian update baris kode int
lamp = LED_BUILTIN; menjadi int lamp = D1;.
1. Hasil jika lampu mati
16. 13
KESIMPULAN
Arduino merupakan pengendali mikro single-board yang bersifat open-
source, diturunkan dari Wiring platform, dirancang untuk memudahkan
penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor
Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.
Hardware Arduino diprogram menggunakan bahasa pemrograman C/C++, yang
sudah disederhanakan dan dimodifikasi. Arduino mengikuti pola
pemrograman Wiring (syntax dan library). Sementara untuk editor
pemrograman nya (IDE – Intergrated Development Enviroment) dikembangkan
dari Processing.
17. 14
KRITIK DAN SARAN
Pada dasarnya penulisan makalah ini jauh dari sempurna, banyak
kekurangan baik yang disengaja ataupun tidak. Maka dibutuhkan saran untuk
meminimize kesalahan tentunya bagi penulis.
Perkembangan teknologi mikrokontroler yang sangat pesat mengharuskan
kita memilih Sistem minimum yang tepat guna menunjang fleksibilas kita
dalam menyikapi perkembangan ini. Sistem minimum Arduino yang bersifat
open source dapat digunakan siapa saja dan dapat dikembangkan seperti
keinginan kita sendiri tanpa harus ada tekanan legalitas ataupun lisensi dari
perusahaan pemegang lisensi tersebut. Dan semua kembali kita sendiri mau
memakai sistem minimum yang seperti apa.