keterangan kode program

3
Keterangan : fungsi # untuk komentar Tanda berwarna merah tidak digunakan Koding Program: #!/usr/bin/python #mengimport library yang dibutuhkan untuk Pilarm import subprocess import datetime import time import os #untuk mengimport library gpio untuk bisa dikendalikan lewat program python import RPi.GPIO as io #untuk mengimport library twitter agar bisa mengakses twitter import tweetpony #men-setting akun twitter yag digunakan dengan API Key pada website apps.twitter.com api = tweetpony.API(consumer_key = "abcd", consumer_secret = "efgh", access_token = "ijkl", access_token_secret = "mnop") io.setmode(io.BCM) #deklarasi pin gpio apa saja yang digunakan dan apakah input atau output #pin gpio yang digunakan adalah gpio18 pada pin nomor 12 pir_pin = 18 #mengatur sensor gerak menjadi sebuah input bagi raspberry pi flashingLight_pin = 7 io.setup(pir_pin, io.IN) #---------- Main Program --------- #kondisi awal sensor gerak io.setup(flashingLight_pin, io.OUT) io.output(flashingLight_pin, io.LOW) previous_pir=0 #jika sensor gerak mendeteksi pergerakan while True: #cek kondisi awal sensor dan menentukan kembali sensor adalah sebuah input bagi raspberry pi current_pir=io.input(pir_pin) # jika sensor mendeteksi pergerakan maka akan bernilai 1 if previous_pir==0 and current_pir==1: with open("/home/pi/Alarm/armed.txt", "r") as fo: fo.seek(0, 0) status = fo.read(1) fo.closed print "Telah terdeteksi gerakan, Tweet kondisi ruangan " + str(status)

Upload: andri-ahmad-gozali

Post on 01-Feb-2016

20 views

Category:

Documents


0 download

DESCRIPTION

Program Raspberry Pi B

TRANSCRIPT

Page 1: Keterangan Kode Program

Keterangan : fungsi # untuk komentar Tanda berwarna merah tidak digunakan

Koding Program:

#!/usr/bin/python#mengimport library yang dibutuhkan untuk Pilarmimport subprocessimport datetimeimport timeimport os #untuk mengimport library gpio untuk bisa dikendalikan lewat program pythonimport RPi.GPIO as io#untuk mengimport library twitter agar bisa mengakses twitterimport tweetpony#men-setting akun twitter yag digunakan dengan API Key pada website apps.twitter.comapi = tweetpony.API(consumer_key = "abcd", consumer_secret = "efgh", access_token = "ijkl", access_token_secret = "mnop")

io.setmode(io.BCM)#deklarasi pin gpio apa saja yang digunakan dan apakah input atau output#pin gpio yang digunakan adalah gpio18 pada pin nomor 12pir_pin = 18#mengatur sensor gerak menjadi sebuah input bagi raspberry piflashingLight_pin = 7

io.setup(pir_pin, io.IN)#---------- Main Program ---------#kondisi awal sensor gerakio.setup(flashingLight_pin, io.OUT)io.output(flashingLight_pin, io.LOW)

previous_pir=0#jika sensor gerak mendeteksi pergerakan

while True:#cek kondisi awal sensor dan menentukan kembali sensor adalah sebuah input bagi

raspberry picurrent_pir=io.input(pir_pin)# jika sensor mendeteksi pergerakan maka akan bernilai 1if previous_pir==0 and current_pir==1:

with open("/home/pi/Alarm/armed.txt", "r") as fo: fo.seek(0, 0) status = fo.read(1) fo.closed print "Telah terdeteksi gerakan, Tweet kondisi ruangan " + str(status)

if (status == "1"): subprocess.call("mpg123 /home/pi/Alarm/motiondetect.mp3", shell=True)

time.sleep(10) with open("/home/pi/Alarm/armed.txt", "r") as fo:

fo.seek(0, 0) status = fo.read(1) fo.closed

if (status == "1"): print "Correct passcode not entered, emailing picture and sounding

alarm."#python akan menjalankan subprocess software fswebcam dalam python dan

menyimpan gambar dengan nama file waktu saat ini

Page 2: Keterangan Kode Program

# keterangan program : -p = jenis kamera-d = kamera yang digunakan-r = resolusi-q = direktori/lokasi

#webcam akan aktif dan mencapture gambar dan menyimpannya pada folder Pilarm/pictures grab_cam = subprocess.Popen("sudo fswebcam –p YUYV -d /dev/video0 –r 640x480 –q /home/pi/Alarm/pictures/%m-%d-%y-%H%M.jpg", shell=True) grab_cam.wait()

#program python akan mengambil data waktu todays_date = datetime.datetime.today() #program python memberi nama gambar dengan waktu saat ini image_name = todays_date.strftime('%m-%d-%y-%H%M')

#program python menyimpan gambar di lokasi /home/pi/Alarm/pictures dan dibuat variabel image_path image_path = '/home/pi/Alarm/pictures/' + image_name + '.jpg' subprocess.Popen('echo "Here is your intruder:" | mail -a ' + image_path + ' -s "Intruder Alert" [email protected]', shell=True)

try:#program python akan melakukan koneksi dengan twiter lewat API key yang sudah

ditulis dibagian atas dan melakukan tweet gambar dari variabel image_path api.update_status_with_media(status = ("Peringatan Keamanan: " +

todays_date.strftime('%m-%d-%y-%H%M')), media= image_path) #jika program python tidak tesambung ke twitter maka akan muncul tulisan berikut.

except tweetpony.APIError as err: print "tidak tersambung dengan twitter #%i and said: %s" %

(err.code, err.description)#memberikan laporan bahwa gambar telah di tweet dan kamera sudah siap kembaliprint “Gambar telah di tweet!!”print “Kamera siap kembali!!” io.output(flashingLight_pin, io.HIGH)

subprocess.call("mpg123 /home/pi/Alarm/alarm.mp3", shell=True) subprocess.call("mpg123 /home/pi/Alarm/surrender.mp3", shell=True) subprocess.call("mpg123 /home/pi/Alarm/alarm.mp3", shell=True) io.output(flashingLight_pin, io.LOW)#menghapus banyak gambar yang memiliki waktu yang sama dalam satu menit. del_img = subprocess.Popen("sudo rm -rf " + image_path, shell=True) del_img.wait()#kembali ke kondisi awal dan kamera dan sensor siap kembali

previous_pir=current_pirtime.sleep(1)