BAB III PERANCANGAN ALAT

advertisement
BAB III
PERANCANGAN ALAT
3.1 Gambaran Umum
Rancangan alat pengendali pintu melalui monitoring kamera yang digunakan
pada penulisan ini terdapat 2 cara yang dilakukan yaitu melalui kamera yang akan
mengambil gambar secara otomatis dan hasilnya dikirim ke email langsung, dan
yang kedua adalah melalui webcam yang digunakan untuk melihat atau memantau
objek melalui web browser dimana mekanisme ini juga dilengkapi tombol
simulasi yang berfungsi mengontrol buka dan tutup sebuah pintu.
3.2 Blok Diagram Rancangan Simulasi Alat Monitoring
Pada perancangan alat sistem pengairan tanaman ini menggunakan 2 buah
sensor, yaitu sensor ultrasonik dan sensor kelembaban tanah. Gambar 3.1
menunjukkan diagram blok sistem.
Gambar 3.1. Blok Diagram Monitoring Kamera
36
http://digilib.mercubuana.ac.id/
37
Gambar diatas merupakan rancangan diagram blok yang digunakan dalam
merancang alat monitoring dan pengendali pintu. Dalam diagram blok tersebut
digambarkan sumber daya yang memberikan arus listrik berasal dari aktivator
yang memiliki kekuatan daya sebesar 5 dan 12 volt. Saat dialiri arus, semua
komponen yang terhubung pada aktivator siap untuk digunakan. Dalam
perancangan ini, input yang digunakan adalah berasal dari kamera non usb dan
usb webcam, sedangkan untuk proses akan ditangani didalam memory alat
Raspberry Pi, dan motor DC digunakan untuk output yang berperan sebagai
simulasi pintu.
Fungsi dari tiap blok dalam diagram adalah sebagai berikut :
1. Input: Dimana kamera berperan sebagai media monitoring dan mengambil
gambar objek, dimana juga diintegrasikan dengan email.
2. Proses: Proses disini yaitu peran dari memory alat yang digunakan memproses
gambar yang dihasilkan dari kamera dan juga simulasi pintu.
3. Output: Proses output mewakili dari simulasi buka-tutup pintu dimana user
dapat mengontrol dari jauh dimana sudah terintegrasi oleh webcam dan dapat
dipantau di dalam web browser.
3.3 Perancangan Hardware
Skema perancangan hardware sistem monitoring digambarkan dalam model
berikut ini:
http://digilib.mercubuana.ac.id/
38
Gambar 3.2. Perancangan Sistem Hardware.
Gambar diatas merupakan skema perancangan dari beberapa sisi perangkat
keras, dimana dalam skema tersebut terdiri dari perangkat Raspberry Pi,
komputer, dan perangkat telepon seluler. Dalam perangkat Raspberry, terdapat
beberapa port yang digunakan dalam perancangan monitoring yaitu port yang
menghubungkan dengan perangkat kamera usb. Terdapat empat port usb pada
komponen Raspberry Pi yang digunakan, dimana dalam penelitian ini seluruh
port tersebut digunakan untuk menghubungkan beberapa perangkat media lain
yang dibutuhkan yaitu usb webcam, keyboard dan mouse. Untuk media perangkat
non-usb yang juga digunakan pada penelitian ini adalah berupa port LAN yang
digunakan untuk berkomunikasi dengan perangkat komputer / laptop. Port fisik
pada media perangkat LAN ini terletak di komponen atau sirkuit yang sama
dengan port usb.
Komponen berikutnya adalah port GPIO yang berfungsi sebagai penghubung
alat simulasi pintu, dimana pada port tersebut memiliki dua jalur untuk
mengendalikan simulasi buka tutup pintu yaitu pada port GPIO 7 dan GPIO 11.
http://digilib.mercubuana.ac.id/
39
3.4 Flowchart dan Perancangan Alat Raspberry Pi 2
Berikut adalah tampilan flowchart untuk perancangan alat monitoring
menggunakan Raspberry Pi 2.
Gambar 3.6 Flowchart Pemrograman
Gambar 3.3. Flowchart Rancangan Alat Monitoring.
Sistem kerja alat monitoring sebagaimana dijelaskan pada flowchart
diatas dimulai dari status saat alat mulai menyala. Saat lampu berwarna hijau
sudah aktif, sistem akan mulai menginisialisasi semua perangkat yang
terhubung pada Raspberry Pi. Saat memulai pertama kali sistem akan
meminta kredensial atau autentikasi user melalui perintah berbasis linux.
Langkah selanjutnya saat berhasil masuk ke dalam tampilan sistem
operasi Raspberry adalah buka browser dan masukkan IP serta port yang
sudah dikonfigurasi sebelumnya. Setelah itu akan muncul tampilan sebuah
kotak yang berfungsi sebagai kamera monitor dan dua tombol pengatur sistem
buka dan tutup pintu.
http://digilib.mercubuana.ac.id/
40
Terdapat 2 mekanisme kerja pada setiap tombol pengendali pintu
tersebut yaitu saat kondisi tombol buka dan tutup serta fungsi motor DC yang
mengendalikan simulasi pintu. Saat tombol buka diklik, maka motor DC akan
menyala dan membuka pintu. Tombol akan berganti warna kuning saat diklik,
selama tombol masih berwarna kuning artinya motor DC tersebut masih
dalam
keadaan
menyala.
Klik
tombol
tersebut
sekali
lagi
untuk
menonaktifkan motor DC. Mekanisme sama juga terintegrasi pada tombol
untuk simulasi tutup pintu.
3.5 Pemrograman Alat Simulasi Monitor Dan Pintu
Untuk menjalankan simulasi pada alat diatas, ada beberapa perintah
yang harus dibuat melalui sebuah bahasa pemrograman. Adapun bahasa
pemrograman yang dibutuhkan agar dapat berkomunikasi dengan perangkat
dirancang adalah python, html, css, javascript serta beberapa perintah dalam
terminal linux untuk mengeksekusi perintah program yang telah dibuat.
Berikut adalah kumpulan listing program yang dibuat untuk
perancangan alat simulasi ini:
Sende.py
import io
import time
from datetime import datetime
import picamera
import os
#import picamera
from smtplib import SMTP
from smtplib import SMTPException
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
stream = io.BytesIO()
with picamera.PiCamera() as camera:
http://digilib.mercubuana.ac.id/
41
camera.resolution = (1024, 768)
camera.start_preview()
# Camera warm-up time
time.sleep(2)
camera.capture('photo.jpg')
f_time = datetime.now().strftime('%a %d %b @ %H:%M')
toaddr = ' [email protected]’ # redacted
me = '[email protected]' # redacted
subject = 'Photo ' + f_time
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = me
msg['To'] = toaddr
msg.preamble = "Photo @ " + f_time
fp = open('photo.jpg', 'rb')
img = MIMEImage(fp.read())
fp.close()
msg.attach(img)
try:
s = smtplib.SMTP('smtp.gmail.com',587)
s.ehlo()
s.starttls()
s.ehlo()
s.login(user
=
'[email protected]',password
'saya12345678')
#s.send_message(msg)
s.sendmail(me, toaddr, msg.as_string())
s.quit()
#except:
# print ("Error: unable to send email")
except SMTPException as error:
print "Error: unable to send email : {err}".format(err=error)
=
Script program diatas berfungsi untuk mengaktifkan kamera
Raspberry yang dijalankan melalui terminal dengan resolusi gambar 1024 x
768. Kamera akan mati secara otomatis setelah 2 detik setelah gambar
diambil, lalu gambar yang sudah di capture akan disimpan dengan nama file
http://digilib.mercubuana.ac.id/
42
photo.jpg. Kemudian file gambar akan dikirim ke alamat email yang sudah
ditentukan pada baris script toaddr = ' [email protected]’, hasil foto
akan dikirim langsung ke alamat tersebut.
Pintu.py
import webiopi
GPIO = webiopi.GPIO
B= 17
T= 27
def setup():
GPIO.setFunction(B, GPIO.OUT)
GPIO.setFunction(T, GPIO.OUT)
def loop():
webiopi.sleep(1)
Fungsi dari script diatas digunakan untuk mengontrol fungsi dari
perangkat input dan output pada simulasi pintu. Fungsi ini terletak pada
tampilan web beserta tampilan monitoring kamera.
Index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.o$
<html>
<html>
<head>
<h1 align="center"> Monitoring Pengendali Pintu </h1>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Pengendali Pintu</title>
<script type="text/javascript" src="/webiopi.js"></script>
<script type="text/javascript">
webiopi().ready(function() {
// Create a "pintu" labeled button for GPIO 17 dan 27
var button ;
button =webiopi().createGPIOButton(17, "Buka");
$("#up").append(button);
button=webiopi().createGPIOButton(27, "Tutup");
$("#middle").append(button);
// Refresh GPIO buttons
// pass true to refresh repeatedly of false to refresh once
http://digilib.mercubuana.ac.id/
43
webiopi().refreshGPIO(true);
});
</script>
<style type="text/css">
button {
display: block;
margin: 5px 5px 5px 5px;
width: 100px;
height: 50px;
font-size:10pt;
font-weight: bold;
color: white;
}
#gpio17.LOW {
background-color: Black;
}
#gpio17.HIGH {
background-color: Yellow;
}
#gpio27.LOW {
background-color: Black;
}
#gpio27.HIGH {
background-color: Yellow;
}
</style>
</head>
<body>
<!-- -->
<div id="content" align="center">
http://digilib.mercubuana.ac.id/
44
<img width="480" height="360" src="http:// 192.168.43.20:8080
/?action=stream"><br/>
<div id="up"></div>
<div id="middle"></div>
<div id="down"></div>
</div>
</body>
</html>
Script diatas digunakan untuk menampilkan hasil monitoring kamera
pada halaman web sekaligus dua tombol untuk simulasi buka dan tutup pintu.
Fungsi yang digunakan untuk membuka dan menutup pintu terdapat kode
GPIO dengan nilai 17 dan 27. Kedua nilai tersebut terhubung dengan fungsi
webiopi() yang mengatur kontrol input output Raspberry Pi melalui tampilan
web.
http://digilib.mercubuana.ac.id/
Download