BAB III PERANCANGAN ALAT DAN CARA KERJA RANGKAIAN
3.1
Gambaran Umum Pada bab ini akan dibahas mengenai perencanaan perangkat keras (hardware) dan perangkat lunak (Software). Pembahsan perangkat keras meliputi perancangan mekanik alat dan modul elektronik sedangkan perancangan perangkat lunak meliputi perancangan pemrograman.
3.1.1
Diagram Blok Dalam perencanaan alat Sistem Keamanan Rumah berbasis Minikomputer Raspberry Pi via Whatsapp Messenger menggunakan webcam dan sensor gerak, diperlukan adanya suatu blok diagram untuk mengetahui prinsip kerja alat. Adapaun blok diagram tersebut adalah sebagai berikut:
Gambar 3.1 Perancangan Blok Diagram
29
Sensor Gerak Mendeteksi setiap adanya pergerakan manusia
Sensor Pintu dan Jendela menggunakan Switch Jenis Magnetic Switch yang bekerja jika ada perubahan kondisi ( buka atau tutup) pada Pintu dan Jendela yang bergantung dari ada tidaknya medan magnet disekitar switch.
Webcam mengambil capture setiap pergerakan dan merekam pergerakan dalam format jpg
Minikomputer Raspberry Pi model B membaca data dari sensor gerak, saklar magnetik pada pintu dan jendela, sensor cahaya kemudian mengolah data, dan memproses. Mengakses server whatsapp untuk menginformasikan kepada user atas respon sensor. Menerima instruksi dari user via whatsapp messenger.
Audio Alarm untuk membunyikan alarm yang di trigger oleh saklar magnetik pada pintu dan jendela, serta membunyikan audio ( voice ) oleh user melalui whatsapp send voice.
Internet sebagai interface Raspberry Pi sehingga bisa terkoneksi ke server whatsapp serta media sharing
Media Sharing sebagai penyimpan sementara hasil rekaman video dalam format jpg
Handset ( user whatsapp messenger ) sebagai interface user dengan perangkat Raspberry Pi
30
Gambar 3.2 Rangkaian keseluruhan sistem
31
3.2
Modul Sensor gerak dan saklar Magnetik Modul sensor gerak yang digunakan dalam rangkaian ini adalah type Pyroelektrik HC-SR501, yang mana output dari sensor tersebut sudah dalam bentuk digital sehingga langsung terkoneksi ke pin GPIO pada Modul Raspberry Pi. Pin output pada sensor ini akan menghasilkan tegangan 0 volt ( saat tidak ada gerakan) dan 3.3 volt ( saat ada pergerakan pada radius sensor), 0 volt sebagai digit 0 sedangkan 3.3 volt sebagai digit 1.
Gambar 3.3 Koneksi pin dari modul sensor ke Raspberry Pi
Modul sensor gerak akan memberikan input digit 1 kepada Raspberry Pi disaat terdeteksi ada gerakan dalam radius sensor, kemudian Raspberry Pi akan memproses sinyal digit 1 tersebut untuk memicu webcam agar mengambil capture setiap pergerakan, serta Raspberry Pi akan mengakses server whatsapp untuk mengirim pesan kepada user bahwa ada pergerakan yang masuk dalam radius sensor gerak serta mengirimkan hasil snapshot dari kamera tersebut.
32
Sedangkan untuk saklar magnetik dipasang pada setiap pintu dan jendela. Pada kondisi pintu dan jendela tertutup maka kondisi micro switch yang ada didalam sensor akan berstatus tertutup (kontak-kontak terhubung) yang disebabkan oleh magnet yang dipasang di daun pintu dan jendela, dengan sisi ujung saklar dihubungkan dengan ground maka pin GPIO akan berlogika LOW saat kondisi pintu dan jendela tertutup, namun saat pintu dan jendela terbuka maka pin GPIO akan ber logika HIGH karena status awal di set pada kondisi logika 1 (aktif HIGH). Untuk koneksi saklar magnet dengan GPIO Raspberry pi adalah seperti gambar 3.4 berikut ini:
Gambar 3.4 Koneksi saklar Magnet dengan pin GPIO Raspberry Pi
33
3.3.
Modul Webcam Pada pengaplikasian dalam project ini, webcam akan langsung dihubungkan dengan port USB yang tersedia pada Raspberry Pi. Webcam akan bekerja jika terdapat trigger pada sensor gerak yang telah diproses oleh Raspberry Pi untuk mengambil (captured) gambar dari setiap pergerakan. Webcam akan selalu mengirim data berupa file jpg kepada Raspberry Pi dan menyimpan serta mengirimkan file gambar tersebut ke user via whatsapp messenger. Selain itu jika user menginstruksikan Raspberry Pi via whatsapp untuk menjalankan streaming video (motion jpg) maka Raspberry Pi akan meng-interrupt sensor gerak untuk tidak bekerja dan webcam selaku pengambil foto juga tidak bekerja, namun yang aktif adalah webcam sebagai video/motion streaming.
3.4
Modul Audio Amplifier untuk Alarm Modul Audio Amplifier berfungsi sebagai penguat keluaran sinyal audio dari output audio pada Raspberry Pi yang fungsinya sebagai keluaran suara alarm / voice yang dikirim oleh user. Penguat yang digunakan yaitu penguat Op-Amp jenis Non-Inverting Amplifier.
34
Gambar 3.5 adalah desain rangkaian penguat op-amp yang digunakan dalam tugas akhir ini.
Gambar 3.5 Rangkaian Audio Amplifier untuk Alarm
Dengan menggunakan Resistor R1= 2.2 Ohm dan R2 = 220 Ohm maka besarnya Gain pada penguat op-amp non-inverting yang diharapkan adalah sebesar :
Gain
Vout R 1 ( 2 ) Vin R1
220 ) 2.2 Gain 1 100 Gain 1 (
Gain 101 kali
Atau , Gain = 20 log 101
35
Gain = 40 dB Jika diketahui tegangan input Vin sebesar 10mV maka nilai Vout adalah sebesar:
Vout Vin ( 1
R2 ) R1
220 ) 2.2 10 x10 3 ( 101)
Vout 10 x10 3 ( 1 Vout
Vout 1.1V
3.5 Rangkaian pengendali Supply tegangan untuk modul Audio Alarm
Rangkaian pengendali Supply tegangan pada alat ini berfungsi untuk memutuskan atau menghubungkan sumber tegangan 12 volt dengan modul Audio Alarm. Penggerak Relay digunakan untuk mengkoordinasi keadaan on atau Off. Rangkaian ini terdiri dari 2 bagian, yang pertama bagian sebelah kiri yang merupakan rangkaian switching phototransistor (optocoupler) sebagai
saklar
yang
menggunakan
komponen-komponen
seperti
Optocoupler 4N25, Resistor 330Ω dan Resistor 10 kΩ, rangkaian ini mendapatkan trigger dari pin GPIO22 Raspberry Pi yang men-trigger dengan tegangan sebesar 3.3 Volt yang memberikan arus sebesar 10mA untuk menggerakkan phototransistor agar bekerja. Sedangkan rangkaian yang kedua adalah rangkaian penggerak relay yang terdiri dari komponenkomponen seperti Resistor 2.2 kΩ , Transistor NPN yaitu BD139, diode IN4148 dan Relay NC (Normally Close). Rangkaian relay ini merupakan rangkaian pemutus dan penghubung power supply pada modul Audio Alarm. Fungsi diode IN4148 adalah untuk membuang arus AC dari lilitan relay, apabila tidak ada diode maka arus dari relay akan mengalir ke transistor. Apabila hal ini dibiarkan terus akan menyebabkan transistor rusak, maka dipasanglah dioda IN4148 untuk mencegahnya.
36
Tujuan dipisahkan menjadi 2 bagian yaitu untuk memisahkan Pin GPIO pada Raspberry Pi dengan Penggerak Relay, sehingga jika terjadi sort circuit pada rangkaian penggerak relay tidak akan merusak port GPIO pada Raspberry Pi.
Gambar 3.6 Rangkaian pengendali supply tegangan untukr angkaian audio Alarm
3.6
Rangkaian sensor cahaya sebagai pemicu lampu sorot saat kondisi
gelap
Tidak seperti perangkat lain, Raspberry Pi tidak memiliki pin Input Analog. Semua 17 pin GPIO adalah digital (baik sebagai input maupun output). Solusi sederhana untuk sensor yang bertindak sebagai resistor variable seperti LDR (Light Dependent Resistors) memungkinkan untuk mengukur tingkat cahaya yang berbeda, yaitu dengan menggunakan rangkaian dasar ”RC” Charging circuit, yaitu dengan menempatkan resistor secara seri dengan kapasitor, ketika tegangan diterapkan pada rangkaian ini maka tegangan pada kapasitor akan meningkat, waktu yang dibutuhkan untuk mencapai tegangan 63% dari tegangan maksimum 37
adalah sama dengan resistansi dikalikan kapasitansi, bila menggunakan resistor cahaya maka nilai resistansi akan sebanding dengan tingkat cahaya. Maka kontansta waktunya adalah: t=R*C Dimana; t = waktu R = resistansi ( Ω ) C = Kapasitansi ( Farad ) Sehingga dengan rumus tersebut bisa diketahui berapa lama waktu yang dibutuhkan rangkaian untuk mencapai tegangan yang cukup untuk dianggap sebagai register ”high” pada pin GPIO. Jadi waktu yang dibutuhkan rangkaian untuk mengubah input GPIO dari ”LOW” ke ”HIGH” adalah ”t”
Gambar 3.7 Rangkaian sensor cahaya
38
Urutan proses “charge-discharge” pada rangkaian “RC” sebagai input sensor cahaya pada Raspberry Pi adalah sebagai berikut: 1. Mengatur pin GPIO sebagai output dan mengaturnya sebagai “LOW”. Hal ini akan menyebabkan kapasitor dalam keadaan kosong (discharge) dan memastikan bahwa kedua sisi kapasitor adalah 0 Volt. 2. Mengatur pin GPIO sebagai input. Hal ini untuk memulai aliran arus melalui resistor dan melalui kapasitor ke ground. Tegangan kapasitor mulai naik.Waktu yang dibutuhkan sebanding dengan resistansi LDR. 3. Memonitor pin GPIO dan membaca nilainya. 4. Di beberapa titik tegangan kapasitor akan meningkat dan dianggap sebagai“HIGH” pada pin GPIO (sekitar 2 Volt). Waktu yang dibutuhkan sebanding dengan tingkat cahaya yang terbaca oleh LDR. 5. Mengatur pin GPIO sebagai output dan proses akan selalu berulang
39
3.7 Flowchart Sistem
Pada pembahasan ini akan dibahas tentang alur sebuah program yang ditanamkan pada Raspberry Pi tersebut. Adapun flowchartnya sebagai berikut:
Gambar 3.8 Flowchat sistem program pada Raspberry Pi
. 40
Gambar 3.9 Lanjutan Flowchat sistem pada Raspberry Pi
Dilihat dari flowchat pada gambar 3.8 dan gambar 3.9, terdapat 4 skrip pemrograman utama yang terdiri dari : 1. Program scanning pergerakan (oleh Sensor HCSR501) dan sensor cahaya
41
2. Program scanning kondisi saklar magnetik pada pintu dan Jendela. 3. Program Listenning Whatsapp message 4. Program kompresi file jpg dan kirim ke media sharing ge.tt
3.7.1
Program scanning pergerakan dan sensor cahaya
Saat power on Raspberry Pi, skrip yang berisi program scanning gerak (sensor HCSR501) dan sensor cahaya akan jalan saat booting, program ini dibuat dalam bahasa pemrograman Python untuk scanning gerak dan sensor cahaya.
Gambar 3.10 Flowchart Program scanning pergerakan HCSR501 dan sensor cahaya
42
Adapun program untuk scanning pergerakan dan sensor cahaya adalah sebagai berikut: #!usr/bin/python import os import time import RPi.GPIO as GPIO while True:
GPIO.setmode(GPIO.BCM)
GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
sensor = GPIO.input(27)
if sensor == True:
os.system('sudo bash /home/pi/triger_lampu.sh &') os.system('sudo service motion stop; DATE=$(date +"%Y‐%m‐ %d_%H%M%S"); fswebcam ‐r 1280x720 ‐‐no‐banner /home/pi/webcam/$DATE.jpg; sleep 2; php /home/pi/Whatsapp‐ master/WhatsAPI‐master/src/kirim_pesan_sensor.php "/home/pi/webcam/$DATE.jpg"; sleep 20;pkill fswebcam &')
#os.system('sudo pkill ‐9 ‐f "listen_pesan.php" &') os.system('echo "0" > /sys/class/gpio/gpio24/value; echo "24" > /sys/class/gpio/unexport ')
time.sleep(10)
Pada program dijelaskan bahwa output dari sensor HCSR501 disambungkan dengan pin GPIO27 sebagai input, yang mana pin tersebut di awal akan di set sebagai Aktif LOW, sehingga jika sensor HCSR501 mendeteksi adanya gerakan objek ( manusia ) maka akan berlogika HIGH, kondisi ini digunakan sebagai trigger sebuah program untuk mengambil Gambar (snapshot) oleh kamera dan mengirimnya ke user via whatsapp messenger beserta pesan yang berisi pesan bahwa pergerakan terdeteksi. Pada saat yang bersamaan, rangkaian sensor cahaya akan terus membaca kondisi gelap maupun terang, sehingga akan memberikan informasi kepada Raspberry Pi untuk men-trigger rangkaian switching lampu sorot untuk menghidupkan lampu sorot jika kondisi sensor gerak mendeteksi gerakan dan dalam kondisi gelap, namun jika kondisi terang maka lampu sorot tidak bekerja.
43
Adapun program sensor cahaya adalah sebagi berikut: #!/usr/local/bin/python import RPi.GPIO as GPIO, time import os GPIO.setmode(GPIO.BCM) def RCtime (PiPin): measurement = 0 # Discharge capacitor GPIO.setup(PiPin, GPIO.OUT) GPIO.output(PiPin, GPIO.LOW) time.sleep(1) GPIO.setup(PiPin, GPIO.IN) # Count loops until voltage across # capacitor reads high on GPIO while (GPIO.input(PiPin) == GPIO.LOW): measurement += 1 return measurement # Main program loop while True: print RCtime(4) # Measure timing using GPIO4 if RCtime(4) > 450:
os.system('echo "1" > /home/pi/valsensorcahaya ')
if RCtime(4) < 450:
os.system('echo "0" > /home/pi/valsensorcahaya ')
pada program sensor cahaya diatas dapat dijelaskan bahwa jika kondisi pencahayaan kurang (dengan nilai timing lebih dari 450 ms) maka program akan membuat file yg berisi nilai “1” dan jika kondisi terang ( nilai timing kurang dari 450 ms) maka program akan me-rewrite file tersebut dengan nilai “0”, file ini nantinya akan digunakan sebagai trigger rangkaian switching untuk menghidupakan lampu sorot jika kondisi pencahayaan kurang.
44
Adapun program untuk men-trigger rangkaian switching pada lampu sorot dalam bahasa shell bash adalah sebagai berikut: #! /bin/bash echo "24" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio24/direction cat /home/pi/valsensorcahaya > valcahaya while read valuecahaya do if [ "$valuecahaya" == "1" ] then echo "1" > /sys/class/gpio/gpio24/value else echo "0" > /sys/class/gpio/gpio24/value fi done
Program trigger rangkaian switching ini membaca file yang dibuat oleh program sensor cahaya lalu mengeksekusi sebuah perintah untuk men-set output GPIO24 bernilai 1 jika cahaya kurang dan bernilai 0 jika cahaya terang. Sehingga lampu sorot tidak terus-menerus On saat pencahayaannya kurang, namun menunggu dari sensor cahaya dan sensor gerak.
3.7.2
Program scanning kondisi saklar magnetik pada pintu dan Jendela.
Saat Power On pada Raspberry Pi, maka program scanning kondisi saklar pada pintu dan jendela juga akan langsung jalan saat booting, program ini dibuat dalam bahasa pemrograman python agar mudah dalam mengakses pin GPIO pada Raspberry Pi.
45
Gambar 3.11 Flowchart program scanning kondisi saklar magnetik pada pintu dan Jendela Adapun program untuk scanning kondisi saklar magnetik pada pintu dan jendela adalah sebagai berikut: #!usr/bin/python import os import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(9, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_UP) while True:
if GPIO.input(9) == False:
print ('pintu tertutup') os.system(' echo "pintu tertutup" > /home/pi/statuspintu1;echo "alarm off" > /home/pi/statusalarm ')
time.sleep(1)
46
else :
print ('pintu terbuka') os.system(' echo "pintu terbuka" > /home/pi/statuspintu1;echo "alarm on" > /home/pi/statusalarm ')
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, True) os.system('sudo omxplayer ‐o local ‐‐vol 100 /home/pi/Whatsapp‐ master/WhatsAPI‐master/src/alarm/PoliceSiren.mp3 &') os.system('sudo php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan_saklar.php "pintu terbuka";sudo php /home/pi/Whatsapp‐master/WhatsAPI‐master/src/kirim_status1.php &')
time.sleep(31)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, False)
time.sleep(1) os.system('sudo pkill omxplayer')
if GPIO.input(10) == False:
print ('jendela kiri tertutup') os.system(' echo "jendela kiri tertutup" > /home/pi/statusjendelakiri1;echo "alarm off" > /home/pi/statusalarm ') time.sleep(1) else : print ('jendela kiri terbuka') os.system(' echo "jendela kiri terbuka" > /home/pi/statusjendelakiri1;echo "alarm on" > /home/pi/statusalarm ')
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, True) os.system('sudo omxplayer ‐o local ‐‐vol 100 /home/pi/Whatsapp‐ master/WhatsAPI‐master/src/alarm/PoliceSiren.mp3 &') os.system('sudo php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan_saklar.php "jendela kiri terbuka";sudo php /home/pi/Whatsapp‐master/WhatsAPI‐master/src/kirim_status1.php &')
time.sleep(31)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, False)
time.sleep(1)
os.system('sudo pkill omxplayer')
if GPIO.input(8) == False:
print ('jendela kanan tertutup') os.system(' echo "jendela kanan tertutup" > /home/pi/statusjendelakanan1;echo "alarm off" > /home/pi/statusalarm ') time.sleep(1) else : print ('jendela kanan terbuka') os.system(' echo "jendela kanan terbuka" > /home/pi/statusjendelakanan1;echo "alarm on" > /home/pi/statusalarm ') GPIO.setup(22, GPIO.OUT)
47
GPIO.output(22, True) os.system('sudo omxplayer ‐o local ‐‐vol 100 /home/pi/Whatsapp‐ master/WhatsAPI‐master/src/alarm/PoliceSiren.mp3 &') os.system('sudo php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan_saklar.php "jendela kanan terbuka";sudo php /home/pi/Whatsapp‐master/WhatsAPI‐master/src/kirim_status1.php &')
time.sleep(31)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, False) time.sleep(1)
os.system('sudo pkill omxplayer')
Pada program dijelaskan bahwa pin GPIO diset sebagai aktif HIGH, pada saat kondisi pintu dan jendela tertutup, maka pin GPIO akan berlogika LOW karena switch terhubung dengan ground, pada kondisi tersebut
program
akan
membuat
sebuah
file
yang
isinya
menginformasikan bahwa kondisi pintu atau jendela dalam keadaan tertutup. Namun saat kondisi pintu atau jendela dalam kondisi terbuka, maka pin GPIO akan kembali berlogika HIGH, sehingga program akan membuat sebuah file yang berisi informasi bahwa pintu atau jendela dalam keadaan terbuka, dan mengintruksikan raspberry Pi untuk membunyikan alarm serta megirim informasi ke user bahwa pintu atau jendela dalam keadaan terbuka sesuai isi dari file yang dibuat program tersebut.
3.7.3
Program listening whatsapp message
Skrip dari program listening whatshapp message disusun dari bahasa pemrograman PHP yang secara template sudah disediakan oleh WhatsAPI untuk interface dengan whatsapp server. Program ini akan lagsung aktif saat booting awal Raspberry pi, sehingga user langsung bisa mengakses Raspberry Pi via whatsapp messenger seperti meminta raspberry pi untuk mengirim pesan status alarm, pintu dan jendela apakah dalam keadaan terbuka atau tertutup, serta bisa mengaktifkan atau mengnonatifakn system security secara keseluruhan.
48
Gambar 3.12 Flowchart program listening Whatsapp Message Adapaun program listening whatsapp messenger adalah sebagai berikut: eventManager()‐>addEventListener(new MyEventListener()); $w‐>connect(); $w‐>loginWithPassword($password); while (true){ $w‐>pollMessage();
49
$w‐>sendPong(time());
} ?>
shell_exec('php /home/pi/Whatsapp‐master/WhatsAPI‐
master/src/kirim_status.php');} if ($message == "shutdown"){
shell_exec('php /home/pi/Whatsapp‐master/WhatsAPI‐
master/src/kirim_pesan_saklar.php "raspberry pi shutdown"');
shell_exec('sudo halt');}
if ($message == "start streaming"){
shell_exec('sudo pkill ‐SIGSTOP python');
shell_exec('sudo bash /home/pi/triger_lampu.sh');
shell_exec('sudo service motion start');} if ($message == "security off"){
shell_exec('sudo sudo pkill ‐SIGSTOP python'); shell_exec('php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan.php "security system will be shutdown"');}
if ($message == "security on"){
shell_exec('sudo sudo pkill ‐SIGCONT python'); shell_exec('php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan.php "security system active"');}
if ($message == "stop streaming"){ shell_exec('sudo service motion stop'); shell_exec('echo "0" > /sys/class/gpio/gpio24/value; echo "24" > /sys/class/gpio/unexport');
shell_exec('sudo pkill ‐SIGCONT python');}
if ($message == "Alarm off"){
$gpio = new GPIO();
50
$gpio‐>setup(22, "out"); $gpio‐>output(22, 0);
shell_exec('sudo pkill ‐SIGSTOP omxplayer'); shell_exec('php /home/pi/Whatsapp‐master/WhatsAPI‐ master/src/kirim_pesan.php "alarm off"');}
}
3.7.4
Program kompresi file jpg dan kirim ke media sharing
Untuk menghindari menumpuknya file jpg hasil snapshot oleh kamera, maka dibuatlah sebuah program otomatis yang akan mengkompresi file jpg dalam format ”zip” yang terdapat pada folder default ”/tmp/motion” dan mengirimnya ke media sharing ge.tt sehingga hal ini akan menghindarkan raspberry pi dari hanging yang diakibatkan oleh penuhnya storage pada flash card Raspberry Pi.
Gambar 3.13 Flowchart kompresi file jpg dan kirim ke media sharing Adapun program nya sebagai berikut: #!/bin/bash i=20 ls ‐1 /tmp/motion/*.jpg | wc ‐l > countfile while read countfile1
51
do
if [ "$countfile1" ‐gt "$i" ]
then
DATE=$(date +"%Y‐%m‐%d_%H%M%S")
sudo zip /home/pi/zipmotion/motion_$DATE.zip /tmp/motion/*.jpg
sudo gett /home/pi/zipmotion/motion_$DATE.zip > uploadgett
sudo find /home/pi/zipmotion/*.jpg ‐mmin +30 ‐exec rm ‐f {} \;
sudo find /home/pi/webcam/* ‐mmin +30 ‐exec rm ‐f {} \;
sudo rm /tmp/motion/*.jpg
fi
done
Salah satu kelebihan dari Raspberry Pi ( OS Linux) adalah adanya fitur crontab yaitu aplikasi daemon (berjalan dibalik layar) yang digunakan untuk menjalankan tugas yang dijadwalkan pada suatu waktu di sistem operasi linux. Setiap user di sistem yang memiliki file crontab, mengijinkan file tersebut untuk melakukan suatu aksi yang telah dispesifikasikan sesuai waktu yang telah ditentukan. Crontab biasa digunakan untuk membuat backup secara otomatis, sinkronisasi files, dll. Jadi skrip-skrip yang telah dibuat semua akan di jalankan secara background sehingga skrip-skrip tersebut mampu berjalan secara otomatis.
52