45
BAB III PERANCANGAN DAN PEMBUATAN ALAT 3.1.
Block Diagram Perancangan dari Konfigurasi System
Gambar.3.1. Block Diagram System Dari blok diagram diatas ada beberapa komponen yang dapat dibagi dalam beberapa kelompok yaitu : 1. Perancangan dan Pembuatan Sisi Hardware : a. Driver Motor : perancangan sisi Hardware yang berfungsi untuk pengontrolan Motor DC. b. Power supply : merupakan sumber daya yang akan konsumsi alat. c. Desain Mekanik : pada tahap perancangan akan dibuat desain prototype simulasi yang dapat mewakili Garasi.
46
2. Perancangan dan Pembuatan Sisi Software : a. Instalasi Sistem Operasi : Sistem Operasi yang akan diinstal pada Raspberry yaitu Raspbian OS b. Instalasi Wifi dan Jaringan : Pada tahap ini akan menjelaskan tahap perancangan dan pemasangan wifi pada Raspberry Pi. c. Webserver : sebagai server sebuah web yang dapat menghandle data data website yang diakses oleh client. Pada webserver akan terdapat pemasangan Apache, Mysql dan Php pada sistem. d. Perancangan User interface : merupakan perancangan tampilan web, yang menggunakan bahasa pemprograman Php, Python dan Html. 3.2.
Perancangan dan Pembuatan Sisi Hardware
3.2.1. Persiapan Bahan – bahan Dalam perancangan dan pembuatan sisi Hardware bahan – bahan yang perlu dipersiapkan yang berupa komponen, tool yang digunakan dan perangkat lainnya, berikut adalah tabel bahan pada sisi Hardware.
47
Tabel 3.1. Tabel Komponen Hardware NO
Sisi Hardware
Quatity
1
Raspberry Pi model B
1
2
Kabel HDMI
1
3
Power Supply 5V 1A
1
4
Micro SD Card 8 GB
1
6
Adapter micro SD Card
1
7
CD Room Bekas
1
8
Acrilic
1
9
Lem Acrilic
1
10
Ferit Clorit
1
11
Kabel
1
12
Wifi usb
1
14
PCB Polos
1
16
IC L293D
1
3.2.2. Driver Motor Driver Motor merupakan rangkaian yang dapat menggerakkan motor dc dengan
kecepatan
sesuai
sinyal
PWM
yang
diinputkan
dan
dapat
mengubah/membolak-balikan kutub yang akan akan terhubung ke motor dc. Pada rangkaian Driver Motor terdapat IC L293D yang mana merupakan dual motor H-Bridge driver yangakan digunakan untuk pengendali motor DC, dimana L293 ini akan dihubungkan dengan GPIO raspbery pi sebagai pusat kontrolnya. Dalam rangkaian ini pin L293D yang a kan digunakan adalah EN1, IN1 dan IN2 pada kaki no 1, 2 dan 7 dan sebgai outputnya kaki no 3 dan 6 atau output 1 dan 2 pada L293D yang akan dihubungkan dengan motor DC (penggerak
48
garasi), untuk kaki VCC diberi tegangan 5 V, agar rangkaian dapat berfungsi dengan baik maka tegangan VM harus diberi tegangan lebih dari tegangan VCC. Untuk rangkaian Driver Motor ini dapat didesain dan dirancang menggunakan Software Eagle, yang mana penulis menggunakan eagle versi 7.0.0. berikut gambar rangkaian Driver Motor menggunakan L293D :
Gambar.3.2. Rangkaian Driver Motor
Gambar.3.3. Layout pcb rangkain Driver Motor
49
Gambar.3.4.
Tata Letak komponen
3.2.3. Catu Daya Untuk menjalankan seluruh bagian rangkaian pengendali kecepatan motor DC pada miniatur sistem otomatis garasi diperlukan catu daya. Adapun catu daya ini menghasilkan tegangan output 5 Volt. Untuk menurunkan tegangan jala-jala 220 Volt(AC) menjadi tegangan AC 9 volt dengan menggunakan transformator penurun tegangan (step down). Kemudian tegangan AC ini disearahkan dengan menggunakan penyearah gelombang penuh yaitu menggunakan dioda bridge. Keluaran dari penyearah merupakan tegangan DC yang masih mengandung sinya l AC. Untuk memfilter sinyal AC tersebut dipasangkan kapasitor elektrolit 100 µF. Dengan output dari penyearah ini masuk ke IC regulator LM7805CT. Fungsi dari IC ini adalah menghasilkan output 5 Volt yang stabil ketika pada inputnya diberi tegangan DC > 5V maka kapasitor elektrolit 100 µF berfungsi memfilter tegangan output dari IC LM7805CT.
50
Gambar.3.5. Rangkaian Power Supply Pada pembuatan alat ini penulis tidak membuat modul power supply sendiri, penulis menggunakan adaptor 5 V yang telah jadi, yang banyak dijual dipasaran. 3.3.
Perancangan dan Pembuatan Sisi Software Perancangan sisi software merupakan perancangan perangkat lunak yang
akan diterapkan pada alat, ada beberapa tahap dalam perancangan dan pembuatan pada sisi software, berikut tahap- tahap dan penjelasannya. 3.3.1. Instalasi Sistem Operasi Pada tahap instalasi sistem operasi, yang perlu dipersiapakan adalah: a. Raspbian OS image link download: http://downloads.Raspberrypi.org/raspbian_latest b. Micro SD dengan kapasitas minimal 2 GB, dalam perancangan ini penulis menggunakan Micro SD 8 GB. c. Adapter Micro SD. d. Win32 Disk Imager link download: http://win32-disk imager.en.uptodown.com/download
51
Tahap instalasi : a. Langkah pertama yang dilakukan yaitu membuat bootable menggunakan win32 Disk Imager b. memasangakan microSD ke komputer yang telah terinstal win32 Disk Imager, dan menjalankan win32 Disk Imager, berikut tampilan program win32 Disk Imager:
Gambar.3.6. Win32 Disk Imager e. Image file : memilih file Raspbian OS image dengan mengclick button pada point 2. f.
Device file : pilihan device yang akan dibikin boot nya.
g. Men-click tombol “write” (point 4). h. Lalu menunggu hingga Pogress bar selesai (point 3). i.
Memasangkan Micro SDcard pada Raspberry Pi.
j.
memastikan kabel HDMI telah terpasang, Mouse, Keyboard, LCD monitor. Dan menghidupkan Raspberry Pi dengan memasangkan power supply 5 Volt.
k. Awal nya akan muncul windows seperti gambar berikut:
52
Gambar.3.7. Konfigurasi awal Raspbian OS l.
Memilih menu “Enable Boot to Desktop/Scratch” lalu enter dan Finish, lalu akan menampilan desktop raspbian pi, seperti gambar berikut :
Gambar.3.8. Tampilan Awal Raspberry Pi Untuk pemasangan sistem operasi Raspbian pada Raspberry sudah selesai. Agar raspbian ini bisa diakses dan diremote melalui jaringan maka sebelumnya, pastikan dulu jaringan sistemnya telah terkonfigurasi dengan jaringan local. Berikut setting network untuk jaringan LAN pada raspbian sebagai berikut: a. Menjalankan program LXTerminal yang ada pada Raspbian, berikut gambar Icon nya:
Gambar.3.9. Icon LXTerminal
53
Dan akan tampil window berikut:
Gambar.3.10. Tampilan Program LXTerminal b. LXTerminal merupakan tempat dimana user dapat melakukan command line terhadap sistem root nya. c. Pada command line mengetik command berikut untuk memastikan IP, lalu tekan “Enter” :
Akan muncul setting IP yang tersetting saat ini,untuk setting network nya dapat dengan mengetikan command berikut:
Dan menyetting konfigurasi IP seperti berikut:
Gambar.3.11. Settingan IP Simpan dan restart dengan command:
54
Untuk memastikan settingan IP sudah benar dapat menggunakan command: ifconfig, dan memeriksa koneksi dengan ping ke alamat ip yang terhubung kedalam jaringan Lokal. Pada kasus ini penulis menggunakan IP : 192.168.2.106 d. Menyetting SSH agar dapat meremot dan mengakses raspbian melalui jaringan, menggunakan putty berikut langkah langkahnya:
Mengetik command berikut pada Terminal:
Maka muncul tampilan seperti berikut:
Gambar.3.12. Konfigurasi SSH
Memilih menu “8 Advanced Options”, dan enter.
Meng-Enable-kan SSH dengan memilih list “A4 SSH”
Gambar.3.13. Menu Konfigurasi SSH Setelah itu, memilih “enable” dan enter. Seperti gambar dibawah :
55
Gambar.3.14. Enable SSH Untuk saat ini SSH server telah terpasang, untuk memastikanya, gunakan Putty, berikut tampilan programnya:
Gambar.3.15. Tampilan Program Putty
Untuk
settingan
Putty,
Hostname
: 192.168.2.106
Port
: 22
Conn Type
: SSH
Lalu menekan “open”.
dapat
disi
sebagai
berikut:
56
Maka akan muncul tampilan login as, sebagai security akses login. Pada kasus ini diisi sebagai berikut: Login as : pi Password : test
Jika user dan passwordnya benar maka akan muncul tampilan berikut:
Gambar.3.16. Tampilan remote Rapsberry dengan Putty
Dengan hasil ini dapat dikatakan Raspbian sudah dapat diremote dari komputer mana saja asalkan terkoneksi ke dalam jaringan local Raspbian.
3.3.2. Instalasi Wifi dan Jaringan Setelah melakukan instalasi Sistem Operasi Raspbian, konfigurasi IP dan SSH, langkah berikutnya adalah pemasangan wifi pada Raspbian yang mana, nantinya akan digunakan untuk Adapter untuk koneksi ke jaringan jadi tidak menggunakan ethernet LAN lagi, seperti yang telah disetting sebelumnya. Untuk langkah awal yang pastinya wifi usb harus support dengan Sistem Operasi Linux, pada kasus ini digunakan Usb wifi dengan merek “WiFi-stick EDIMAX EW7811Un”, berikut gambar bentuk fisiknya:
57
Gambar.3.17. Wifi Edimax Support Linux (Raspbian OS) Untuk melakukan konfigurasi jaringan wifi, sebelumnya driver untuk usb wifi ini harus telah terpasang terlebih dahulu, berikut langkah – langkah pemasangan driver usb wifi :
Menjalankan terminal pada Raspberry, pada tahap ini penulis mengguanakan putty untuk meremote Raspberry Pi dari komputer.
Ketik command berikut:
Dengan output :
Gambar.3.18. Output command “lsusb” Dari output diatas dapat diihat pada ID 7392:7811 terdapat nama “edimax technology” yang merupakan wifi yang terpasang Raspberry Pi. Lalu untuk memastikan wifi ini telah dikenali Raspbian maka ketik perintah berikut:
58
Gambar.3.19. Output command “lsmod” Dari gambar terdapat nama module “8192cu”, jika ini tidak ada maka dapat dikatakan wifi yang digunakan tidak support untuk Raspbian. Dapat
melakukan
instalasi
dengan
command
berikut:
Setelah melakukan instalasi driver dan memastikan kembali driver wifi seperti tahap diatas, maka langkah selanjutnya adalah melakukan konfigurasi jaringan untuk langkah awal, ketik perintah berikut:
Maka menghasil output berikut:
Gambar.3.20. Output command “iconfig”
59
Dari
gambar
yang
dilingkari
terdapat
wlan0
yang
belum
terkonfigurasi. Untuk melakukan konfigurasi dapat mengguanakan perintah berikut:
Dan konfigurasi dapat menambahkan script seperti berikut:
Gambar.3.21. Konfigurasi Wlan Setelah konfiguarasi intefaces, selanjutnya konfigurasi file wpa, berikut perintahnya :
Gambar.3.22. Konfigurasi wpa Wifi.
60
Untuk mengaktifkan wifi, dapat dengan perintah berikut:
Untuk mengetahui dan memverifikasi koneksi wifi dapat menggunakn perintah :
Dengan output sebagai berikut:
Gambar.3.23. Output command “ifconfig wlan0” Dari hasil output diatas dapat dikatakan instalasi dan konfigurasi wifi telah berjalan dengan baik. 3.3.3. Instalasi Webserver Pemasangan webserver bertujuan agar Raspberry Pi dapat menghandle data web yang dapat diakses oleh user dan pada webserver akan terpasang Phpadmin dan database sebagai server, pada penginstalan webserver diharapkan koneksi Raspberry ke internet terhubung karena saat penginstallan akan melalukan download data apache, php dan mysql dan menginstalnya secara automatis, berikut langkah pembuatannya: Install Apache dan php, dengan command sebagai berikut:
Gambar.3.24. Command Install Apache Server
61
Untuk menguji apache telah berhasil diinstal dapat diakses menggunakan browser sebagai berikut:
Gambar.3.25. Pengujian Apache Server Jika halaman ini muncul setelah memasukan alamat ip webserver maka dapat dikatakan instalasi apache berhasil diinstal. Tahap selanjutnya yaitu penginstalan mysql pada webserver yaitu cukup dengan mengetikan command berikut:
Dengan perintah tersebut mysql akan didownload dan akan diinstal, lalu akan ada konfigurasi sebagai berikut:
Gambar.3.26. Setting password root mysql
62
Gambar.3.27. Konfirmasi password Setelah menginstal mysql server, langkah berikutnya yaitu melakukan instalasi mysql clien dan php5 untuk mysql berikut command nya:
Jika penginstalan mysql-client dan php selesai maka untuk masuk kedalam mysql-nya bisa menggunakan perintah berikut:
Gambar.3.28. Tampilan mysql root. Dari gambar diatas dapat dikatakan bahwa mysql server telah terinstall pada Raspberry Pi, agar mempermudah dalam perancangan dan pembuatan database tanpa menggunakan command query sql maka dapat menggunakan
63
program Mysql Workbench yang dapat dikatakan merupakan inte rface user yang sangat user friendly, berikut tampilan programnya yang telah diinstal pada windows7 :
Gambar.3.29. Tampilan Program Mysql Workbench 3.3.4. Instalasi Python dan Module RPi.GPIO Software ini digunakan untuk pembacaan bahasa pemrograman yang digunakan saat pembuatan aplikasi, karena Python dapat membaca multi paradigma pemrograman interpretatif multiguna dimana tidak dibatasi pada satu jenis bahasa pemrograman. Pada Raspberry Pi, instalasi python dilakukan dengan sangat mudah, karena sudah ada paket python yang tersedia dalam repository linux untuk OS raspbian, untuk instalasi python menggunakan command line dengan terminal dan mengetikan comand berikut :
Sebelumnya koneksi Raspberry Pi
harus terhubung ke internet sebab
command diatas akan mendownload phython dari repository dan menginstalnya secara otomatis. Setelah melakukan instalasi python maka yang perlu diinstalasi
64
yaitu module library RPi.GPIO, dengan mengetikan command berikut pada terminal :
Dengan adanya library Rpi.GPIO akan mempermudah pemprograman python untuk dapat terintegrasi dengan GPIO nya Raspberry Pi. 3.3.5. Perancangan Sistem Setelah melakukan penginstalan terhadap Raspbian OS, konfigurasi IP, instalasi Wifi, instalasi webserver, database mysql, instalasi SSH, Maka langkah selanjutnya menggabungkannya menjadi sebuah sistem, dari Block Diagram dapat dipecah lebih detail lagi menjadi diagram flow berikut:
IP static :192.168.2.101 Netmask : 255.255.255.0 Gateway : 192.168.2.1 DNS 1 : 8.8.8.8 DNS 2 : 8.8.4.4
Gambar.3.30. Block Diagram Sistem Software Dari flow diagram diatas block yang berwarna biru adalah sisi Hardware dan block warna putih adalah sisi Software. Dalam perancangan blok diagram ini merupakan panduan untuk perancangan system tahap selanjutnya yaitu
65
perancangan flowchart, yang merupakan alur program dari sebuah sistem, untuk lebih jelas dapat dijelaskan pada point berikutnya. 3.3.6. Perancangan Flowchart Sistem Web
Gambar.3.31. Perancangan Flowchart I
Gambar.3.32. Perancangan Flowchart II
66
Pada flowchart I merupakan alur pemprograman untuk program utama dari sebuah sistem, dan fowchart II merupakan alur pemprograman untuk program interface php dengan pemprograman python yang mana dapat langsung berkomunikasi dengan GPIO nya Raspberry. 3.3.7. Perancangan dan Pembuatan User interface A. Desain Form Login a
b c d e
Gambar.3.33. Desain Form Login
Pada gambar desain form login diatas ada beberapa komponen yaitu: a. Header Login b. Text box Username c. Text box password d. Checkbox show/hide password e. Command Button Sign in Untuk pemprograman nya penulis menggunakan boostrap sebagai library tampilan dan php sebagai core nya, berikut potongan source code form login pada file login.php :
67
Gambar.3.34. Potongan Source code login.php Bagian yang garis yang berwarna merah merupakan sintak yang berfungsi untuk mengeksekusi file login_proc.php setelah menekan tombol Sign In, yang mana login_proc.php berfungsi untuk melakukan query database user berdasarkan username dan password, lalu memverifikasi nya, jika username dan password yang diinputkan terdaftar pada database maka program akan mengeksekusi file remot.php untuk menampilkan form remote, tapi jika tidak terdaftar maka program akan mengirimkan parameter error dan menampilka n kembali login form dengan pesan error. B. Desain Form Remote Pada tampilan form remote tidak terlalu banya komponen hanya terdiri dari header title, button remot, dan link Logout. Berikut gambar desain yang dibuat saat Garasi dalam keadaan dibuka atau ditutup :
68
Gambar.3.35. Tampilan Remot Saat Garasi di Buka
69
Gambar.3.36. Tampilan Remot saat garasi di Tutup Untuk pembuatan scriptnya digunakan javascript agar dapat mengubah kondisi button sesuai dengan data status GPIO yang didapat dari GPIO.php, berikut potongan surce code javascript yang terdapat pada form remot :
70
Gambar.3.37. A. Potongan Script dari Script.js
Gambar.3.38. B. Potongan script dari Script.js Dari potongan java script diatas terdapat 2 Function yaitu :
71
function change_pin (pin, status) : fungsi ini berkerja untuk mengirimkan parameter ke file GPIO.php pada saat tombol ditekan baik itu dibuka atau ditutup, untuk menutup garasi atau membuka garasi dengan perintah python.
button_7.addEventListener("click", function () : Fungsi ini bekerja untuk mengubah status dari tombol sesuai dengan data parameter dari GPIO.
C. Pembuatan intefaces GPIO dengan web GPIO pada Raspberry Pi pada alat digunakan Python untuk pemprgraman, jadi agar dapat mengeksekusi perintah python pada php maka dibuat file control.php yang merupakan fungsi php yang berguna untuk mengeksekusi perintah dalam bahasa python berik ut potongan programnya :
Gambar.3.39.
Potongan Source code buka.py dan tutup.py
Dan untuk melakukan eksekusi script python ini pada php dapat menggunakan script berikut:
72
Dapat dilihat pada potongan script diatas, yang mana bahasa pemprograman php dapat memanggil dan mengeksekusi bahasa python, hal ini tidak akan bisa terjadi jika python server tidak terinstal sebelumnya, karena jika belum terpasang maka program akan error seperti gambar berikut:
Gambar.3.40.
Hasil error pada form remot jika python tidak terinstal
Dari hasil diatas maka website yang dibuat hanya akan dapat berjalan jika telah terinstal python pada server tersebut, dan library Rpi.Gpio
73
yang merupakan library python dapat dieksekusi oleh GPIO nya Raspberry Pi.