• Tidak ada hasil yang ditemukan

IMPLEMENTASI JARINGAN NIRKABEL XBEE PRO S2C DAN ESP8266 UNTUK PEMANTAUAN LOKASI PARKIR

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI JARINGAN NIRKABEL XBEE PRO S2C DAN ESP8266 UNTUK PEMANTAUAN LOKASI PARKIR"

Copied!
10
0
0

Teks penuh

(1)

IMPLEMENTASI JARINGAN NIRKABEL XBEE PRO S2C DAN ESP8266 UNTUK PEMANTAUAN LOKASI PARKIR

1Morlan Pardede 2 Elferida Hutajulu 3 Regina Sirait

1,2,3

Jurusan Teknik Elektro, Politeknik Negeri Medan, Medan,Indonesia

E-mail : [email protected], [email protected], [email protected]

Abstract

Due to the lack of information on the location of empty parking slots and the difficulty of users seeing empty parking slots in large parking locations, users need a relatively long time to find an empty parking slot. This study describes how to inform the location of empty parking slots and the number of parking slots available in a parking zone to parking managers and users with the XBee Pro S2C wireless networks. In this system the parking location is divided into 3 (three) zones and each parking zone is equipped with a sensor node consisting of Arduino Mega 2560, ultrasonic sensor HC-SR04, XBee ProS2C and ESP8266 . Sensor nodes for each zone detect empty parking slots, calculate the number of vehicles and send parking zone information to the monitoring center via a wireless network so that parking attendants can see parking information from each zone on the monitoring center computer.

Parking information is also sent by the sink node to the webserver using ESP8266 and the ThingSpeak.com webserver so users can access parking information via the internet. By implementing Zigbee XBee Pro S2C network firmware can expand parking spot monitoring.

Keywords : parking Slot, XBeeProS2C, Arduino, ESP8266, Wireless Network

Abstrak

Akibat tidak adanya informasi lokasi slot parkir kosong dan sulitnya pengguna melihat slot parkir pada lokasi parkir yang luas membuat pengguna memerlukan waktu yang relatip lama untuk menemukan tempat parkir. Penelitian ini memaparkan bagaimana menginformasikan lokasi slot parkir kosong dan jumlah slot parkir yang tersedia pada suatu zona parkir kepada pengelola dan pengguna parkir dengan jaringan nirkabel XBee Pro S2C dan ESP8266. Pada sistem ini lokasi parkir dibagi atas 3(tiga) zona dan setiap zona parkir dilengkapi node sensor yang terdiri dari Arduino mega 2560, sensor ultrasonic HC- SR04, XBee ProS2C. Node sensor setiap zona mendeteksi slot parkir yang kosong, menghitung jumlah kenderaan dan mengirim informasi zona parkir ke pusat pemantauan melalui jaringan nirkabel sehingga petugas parkir dapat melihat informasi parkir dari setiap zona pada komputer pusat pemantauan.

Informasi parkir juga dikirim node sink ke web server dengan menggunakan ESP8266 dan webserver ThingSpeak.com sehingga pengguna dapat mengakses informasi parkir melalui internet. Dengan menerapkan firmware Zigbee jaringan XBee Pro S2C dapat memperluas pemantauan tempat parkir.

Kata Kunci : Slot parkir, XBeeProS2C, Arduino, ESP8266, Jaringan Nirkabel

1. Pendahuluan

Pada umumnya pengelola parkir tidak memberikan informasi lokasi slot parkir yang kosong pada pengguna dan pada beberapa tempat parkir, pengelola parkir hanya memberikan informasi jumlah parkir yang tersedia dan selanjutnya pengguna mencari lokasi slot parkir yang kosong. Pada lokasi parkir yang luas seperti pada pusat perbelanjaan pada umumnya dipenuhi banyak kenderaan yang menghalangi pandangan ke slot parkir yang kosong. Akibat tidak tersedianya informasi parkir dan keterbatasan pengendara melihat slot parkir yang kosong mengakibatkan para pengendara memerlukan waktu yang relatip lama untuk menemukan tempat parkir.

dengan mengukur selisih waktu mengirim sinyal frekuensi 40kHz dan menerima sinyal pantul dari objek, dimana jarak dalam cm adalah lama waktu dibagi dengan 58 cm[1]. Dengan kemampuan mengukur jarak hingga 4m maka sensor HC-SR04 dapat digunakan mendeteksi ada tidaknya kenderaan pada slot parkir[2], dimana jarak terukur saat kenderaan di slot parkir akan lebih kecil dibanding saat slot kosong.

Untuk mempermudah pemantauan diperlukan jaringan komunikasi nirkabel. XBee dapat digunakan untuk jaringan sensor nirkabel untuk memonitor ruangan[3]. Sesuai dengan lembaran data XBee Pro S2C dapat mengirimkan data sejauh 90m untuk indoor dan 3200m untuk out door [4]. Dengan menggunakan ESP 8266

(2)

p-ISSN 2088-3943

ThingSpeak informasi sensor dapat diakses pengguna melalui jaringan internet[5]. Pada penelitian ini dirancang dan dibuat sebuah jaringan sensor nirkabel menggunakan XBee Pro S2C untuk pemantauan lokasi parkir. Setiap zona parkir dilengkapi sebuah node sensor yang terdiri dari Arduino Mega, rangkaian pendeteksi kenderaan dan modul XBee Pro S2C. Setiap node sensor mengirimkan Informasi slot parkir dan banyak kenderaan pada zona parkir ke node sink melalui jaringan nirkabel XBee Pro S2C.

Node sink terdiri dari Arduino Mega dan XBee Pro S2C. Informasi parkir yang diterima node sink diproses dan diberikan ke komputer pusat pemantau dan ke modul ESP 8266 untuk dikirim ke jaringan internet (Channel ThingSpeak).

Setelah dilakukan pengujian didapat bahwa kondisi parkir dari 4(empat) zona parkir dapat ditampilkan pada komputer pusat pemantauan dan pada komputer/ponsel pengguna dengan membuka Channel ThinkSpeak. Dengan menerapkan firmware Zigbee pada XBee Pro S2C membuat setiap XBeeProS2C pada jaringan dapat meneruskan informasi dari zona parkir yang diterimanya ke node sink secara langsung maupun melalui node sensor lainnya sehingga informasi dari node yang terhalang dapat diteruskan ke node sink. Dengan demikian jaringan XBee dapat memperluas pemantauan lokasi parkir.

2. Metode

Pada penelitian ini dirancang sebuah sistem monitoring parkir dengan diagram blok seperti gambar 1.

a. Rangkian Node Sensor.

Setiap zona parkir dilengkapi sebuah node sensor yang terdiri dari Arduino Mega, rangkaian pendeteksi kenderaan dan modul XBee Pro S2C.

Setiap node sensor mengirimkan Informasi slot parkir dan banyak kenderaan pada zona parkir ke node sink melalui jaringan nirkabel XBee Pro S2C. Node sink terdiri dari Arduino Mega dan XBee Pro S2C. Informasi parkir yang diterima node sink diproses dan diberikan ke komputer pusat pemantau dan ke modul ESP 8266 untuk dikirim ke jaringan internet.

Parkir Zona A

Parkir Zona B

Parkir Zona C

ESP826 6

WiFi Router Cloud Server

Ponsel Node B:

Sensor dan Arduino

Node C:

Sensor dan Arduino

Node Sink Komputer:

Pusat Pemantauan

Node A:

Sensor dan Arduino

Gambar 1. Diagram Blok Pemantauan Parkir Setiap zona parkir (node sensor) terdiri dari empat slot parkir, sensor kenderaan masuk dan keluar. Sensor slot parkir menggunakan sensor ultrasonik yang dipasang di atas slot parkir sejauh 300cm dari lantai. Dengan menganggap kenderaan yang paling pendek setinggi 100cm dan paling tinggi 250cm maka jika jarak terukur lebih kecil dari 200 cm dan lebih besar dari 50 cm berarti ada kenderaan pada slot parkir tersebut.

Sensor Slot - 4 A

Arduino Mega 2560

18 19 Sensor

Slot - 1 A

Sensor Slot - 2 A

Sensor Slot - 3 A

+ 3 V 3 TX 1

RX 1 +5V

Trig Echo

Trig Echo

Trig Echo

Trig Echo

+5V

+5V

+5V 29 2

27 28

26 3

32 Lampu Indikator Zona A

33 Lampu Indikator Slot 1A

34

35

DI DO

XBee PRO - S 2 C TX

RX

XBee USB Adaptor Lampu Indikator Slot 2A

Lampu Indikator Slot 3A

Lampu Indikator Slot 4A 36

24 25 30 31 Pendeteksi Kenderaan Masuk dan Keluar Zona A

Gambar 2. Rangkaian Node Sensor

Sensor kenderaan masuk dan sensor kenderaan keluar terdiri dari dua sensor ultrasonik dimana sensor kenderaan masuk dipasang di atas pintu masuk zona parkir dan sensor kenderaan keluar dipasang di atas pintu keluar zona. Adapun urutan keluaran sensor pada saat kenderaan masuk ditunjukkan pada tabel 1.

(3)

(a)

+5V Trig Echo Trig+5V

Echo Sensor

Masuk 1A

Sensor Masuk 2A

Arduino UNO

Indikasi Masuk Zona A

4 2

6 7

8

+5V Trig

Echo +5V Trig Echo

Sensor Keluar 1A

Sensor Keluar 2A

Indikasi Keluar Zona A 9

3 5

10 11

(b)

Gambar 3. a. Posisi Sensor kenderaan masuk dan keluar [6]

b. Rangkaian Pendeteksi Kenderaan masuk Setiap adanya urutan keluaran sensor seperti pada tabel 1 maka mikrokontroller Arduino Uno akan memberikan sinyal interupsi INT0 ke Arduino Mega untuk menambah hitungan kenderaan. Jika urutan keluaran sensor tidak sesuai dengan urutan tabel 1 berarti tidak ada kenderaan masuk. Dengan teknik ini maka dapat dibedakan kenderaan yang batal masuk (masuk dan kembali mundur) atau sedang berhenti dipintu

.

Tabel 1. Urutan Keluaran Sensor masuk saat memasuki zona parkir

Urutan Sensor Masuk-1A

Sensor Masuk-2A

Keterangan 1 Tdk

terdeteksi Tdk

terdeteksi Kenderaan belum memasuki pintu

2 Terdeteksi Tidak terdeteksi

Sebahagian badan Kenderaan memasuki Pintu 3 Terdeteksi Terdeteksi Kenderaan

memasuki Pintu 4 Tidak

Terdeteksi Terdeteksi Sebahagian badan Kenderaan melewati Pintu 5 Tidak

Terdeteksi Tidak Terdeteksi

Kenderaan telah masuk

(melewati pintu)

Tanda_I=0;

int Masuk1(void); int Masuk2(void); int Jumlah;

long tmrdeteksiM,tmrdeteksiK ;

int Tanda_Out1=0; int Tanda_Out2=0; int Tanda_O=0;

int Keluar1(void); int Keluar2(void);

void setup() {

pinMode(ECHO_In1, INPUT);

pinMode(TRIG_In1, OUTPUT);

pinMode(ECHO_In2, INPUT);

pinMode(TRIG_In2, OUTPUT);

pinMode(Masuk, OUTPUT);

pinMode(Keluar, OUTPUT);

digitalWrite(8,LOW); }

void loop() {

Tanda_In1= Masuk1();

Tanda_In2=Masuk2();

if ((Tanda_In1==1) && (Tanda_In2==0)&&

(Tanda_I==0) ) {

tmrdeteksiM=millis();

Tanda_I=1;} delay(100);

if ((Tanda_In1==1) && (Tanda_In2==1)&&

(Tanda_I==1)) {

Tanda_I=2;} delay(100);

if ((Tanda_In1==0) && (Tanda_In2==1)&&

(Tanda_I==2)) {

Tanda_I=3;} delay(100);

if ((Tanda_In1==0) && (Tanda_In2==0) &&

(Tanda_I==3)){

Tanda_I=0; Jumlah=Jumlah +1;

digitalWrite(Masuk,HIGH); delay(10);

digitalWrite(Masuk,LOW); //Memberi INT0 }

if (millis() > (tmrdeteksiM+15000)){

Tanda_I=0;}

Serial.print(" Tanda_I: ");

Serial.println(Tanda_I);

if ((Tanda_Out1==1) &&

(Tanda_Out2==0)&& (Tanda_O==0)) { tmrdeteksiK=millis();

Tanda_O=1;}

if ((Tanda_Out1==0) && (Tanda_Out2==0)&&

(Tanda_O==1)) { Tanda_O=0;}

if ((Tanda_Out1==1) && (Tanda_Out2==1)

&& (Tanda_O==1)) { Tanda_O=2;}

if ((Tanda_Out1==1) && (Tanda_Out2==0)

&& (Tanda_O==2)) { Tanda_O=1;}

if ((Tanda_Out1==0) && (Tanda_Out2==1)&&

(Tanda_O==2)) { Tanda_O=3;}

if ((Tanda_Out1==1) && (Tanda_Out2==1)

&& (Tanda_O==3)) { Tanda_O=2;}

if ((Tanda_Out1==0) && (Tanda_Out2==0)

&& (Tanda_O==3)) { Tanda_O=0;

digitalWrite(Keluar,HIGH); delay(10);

digitalWrite(Keluar,LOW);//Memberikan INT1 Jumlah=Jumlah-1;

if (Jumlah<0) {Jumlah=0;}

}

if (millis() > (tmrdeteksiK+15000)){

300cm

Sensor 250cm

Masuk2 Masuk1

(4)

p-ISSN 2088-3943

}

int Masuk1(void) {

digitalWrite(TRIG_In1, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_In1, LOW);

delayMicroseconds(2);

int JarakIn1 = pulseIn(ECHO_In1, HIGH);

JarakIn1 = JarakIn1/ 58;

if((JarakIn1>50)&& (JarakIn1<200)){

Tanda_In1=1 ;}

else{

Tanda_In1=0;}

}

int Masuk2(void) {

digitalWrite(TRIG_In2, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_In2, LOW);

delayMicroseconds(2);

int JarakIn2 = pulseIn(ECHO_In2, HIGH);

JarakIn2 = JarakIn2 / 58;

if((JarakIn2>50) && (JarakIn2<200)){

Tanda_In2=1 ;}

else{

Tanda_In2=0;}

}

int Keluar1(void) {

digitalWrite(TRIG_Out1, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_Out1, LOW);

delayMicroseconds(2);

int JarakOut1 = pulseIn(ECHO_Out1, HIGH);

JarakOut1= JarakOut1 / 58;

if((JarakOut1>50)&& (JarakOut1<200)){

Tanda_Out1=1 ;}

else{

Tanda_Out1=0;}

}

int Keluar2(void) {

digitalWrite(TRIG_Out2, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_Out2, LOW);

delayMicroseconds(2);

int JarakOut2= pulseIn(ECHO_Out2, HIGH);

JarakOut2= JarakOut2 / 58;

if((JarakOut2>50)&& (JarakOut2<200)){

Tanda_Out2=1 ;}

else{

Tanda_Out2=0;}

}

Gambar 4. Program Penghitung Kenderaan Pada Satu Zona

Selain itu dengan menggunakan dua sensor maka dapat dibedakan antara kenderaan dan orang yang melewati pintu. Pendeteksi adanya kenderaan yang keluar dari zona parkir sama seperti sensor kenderaan masuk, dimana setiap ada kenderaan keluar Arduino Uno memberikan sinyal INT1 ke Arduino Mega sehingga hitungan kenderaan berkurang. Program penghitung kenderaan (pendeteksi kenderaan masuk dan keluar) pada satu zona parkir ditunjukkan pada gambar 4.

b. Diagram alir Pemantauan Zona Parkir (Node Sensor)

Mikrokontroler Arduino Mega pada setiap node sensor akan mendeteksi slot parkir yang kosong dan menghitung banyak kenderaan yang masuk ke zona parkir serta mengirimkannya ke pusat pematauan melalui node sink. Pendeteksi slot pakir dilakukan sama seperti pendeteksian kenderaan masuk yaitu dengan mengukur jarak, dimana jika hasil pengukuran jarak terukur lebih besar dari 50cm dan lebih kecil dari 200 cm maka slot ditandai true (1) dan jika tidak slot ditandai false (0).

Mulai

Aktivkan INT0 dan INT1 Set Kecepatan kirim Serial

Ya

Baca Sensor Slot Parkir

Periksa Indikasi Masuk

? Ada masuk

Counter +1

Lampu Merah Menyala Lampu Hijau Padam

? Counter>= Max

? Ada Keluar

Counter -1 Periksa Sensor Keluar

Tdk

Tdk

Lampu Hijau Menyala Tdk Lampu Merah Padam

? Counter<Max

Ya

Tdk

Kirim informasi Zona Parkir ke Pusat Pemantau

Ya Ya

Tdk

Lampu Hijau Menyala Lampu Merah

Padam

Lampu Merah Menyala Lampu Hijau

Padam

Gambar 5. Diagram alir Pemantauan Zona Parkir

Adanya kenderaan yang masuk dan zona parkir diindikasikan oleh Arduino Uno dimana jika ada kenderaan masuk Arduino Uno memberikan interupsi INT0 ke Arduino Mega dan jika ada kenderaan keluar zona maka Arduino Uno memberikkan interupsi INT1 ke Arduino Mega. Indikasi masih ada tersedia slot pada zona parkir atau sudah penuh ditandai

(5)

Gambar 6. Penggalan Program Pemantau Zona Parkir A

dengan nyala lampu pada jalur masuk. Bila jumlah kenderaan pada satu zona sama atau melebihi kapasitas maka Arduino akan mennyalakan lampu merah, dan bila lebih kecil dari kapasitas maka lampu hijau menyala.

Diagram alir pemantauan zona parkir ditunjukkan pada gambar 5 dan penggalan program pemantau zona ditunjukkan pada gambar 6. Informasi slot parkir dan jumlah kenderaan dikirim secara serial ke pusat pemantau melalui XBee Pro dengan format: kode zona parkir, slot 1, slot 2, slot 3, slot 4 & jumlah kenderaan pada zona parkir dan diakhiri tanda #.

Sebagai contoh "A1010&2#” menyatakan kondisi slot 1 dan slot 3 dari Zona parkir A berisi sedang slot 1 dan slot 4 kosong serta banyak kenderaan pada zona parkir A sebanyak 2 kenderaan.

c. Rangkaian Node Sink

Rangkaian node sink ditunjukkan pada gambar 7 dan diagram alir program node sink ditunjukkan pada gambar 8. Informasi setiap zona parkir diterima Arduino dari XBee ProS2C melalui serial1 dan kemudian diproses Arduino selanjutnya dikirimkan ke komputer melalui serial dan kabel USB to Serial untuk ditampilkan pada monitor komputer. Informasi jumlah slot kosong dari node sensor juga diberikan ke ESP8266 melalui serial2 untuk dikirimkan ke kanal ThingSpeak (internet) dengan sinyal WiFi.

Gambar 7. Rangkaian Node Sink Agar informasi slot kosong dapat dilihat dari jaringan internet dengan ThingSpeak.com maka harus terlebih dahulu mendaftar ke ThingSpeak.com dan membuat channel pengumpulan data dari node sink. Setelah

void loop() {

int jarak1 = Slot1();

if(((jarak1>50)&&(jarak1<200)){

digitalWrite(Lamp1A,LOW); //Lampu indikator slot merah

data1 = true; //slot 1 berisi } else{

digitalWrite(Lamp1A,HIGH); //Lampu indikator slot hijau

data1 = false; //slot1 kosong }

int jarak2 = Slot2();

If ((jarak2>50)&&(jarak2<200)){

digitalWrite(Lamp2A,LOW);

data2 = true; } else{

digitalWrite(Lamp2A,HIGH);

data2 = false; } int jarak3 = Slot3();

If ((jarak3>50)&&(j<arak3<200)){

data3 = true;

digitalWrite(Lamp3A,LOW);}

else{ data3 = false;

digitalWrite(Lamp3A,HIGH); } int jarak4 = Slot4();

If ((jarak4>50)&&(jarak4<200)){

data4 = true;

digitalWrite(Lamp4A,LOW);}

else{ data4 = false;

digitalWrite(Lamp4A,HIGH);}

if(Jumlah<4){ digitalWrite(LampA,true);}

else { digitalWrite(LampA,false);}

Kosong=4-Jumlah;

if (Kosong<0) {Kosong=0;}

Serial1.println("A" + String(data1) + String(data2) + String(data3) + String(data4)+"&"+String(Jumlah) + "#");

delay(5000);}

int Naik(void) { noInterrupts();

if ((millis()-Debounce1)>DelayDebounce){

Jumlah=Jumlah+1; //Hitungan Kenderaan bertambah

Debounce1=millis();}

interrupts();}

int Turun(void){

noInterrupts();

if ((millis()-Debounce0)>DelayDebounce){

Jumlah=Jumlah-1; //Hitungan kenderaan berkurang

if (Jumlah<0) { Jumlah=0;}

Debounce0=millis();}

interrupts();}

int Slot1(void) {

digitalWrite(TRIG_Slot1, HIGH);

delayMicroseconds(2);

digitalWrite(TRIG_Slot1, LOW);

delayMicroseconds(2);

digitalWrite(TRIG_Slot1, HIGH);

delayMicroseconds(2);

digitalWrite(TRIG_Slot1, LOW);

int jarak1 = pulseIn(ECHO_Slot1, HIGH);

return (jarak1 = jarak1 / 58);

}

Arduino Mega

+3V3 TX1

19RX1 18

RX TX Komputer

Pemantau

Kabel USB to Serial

ESP8266 7

TX2

DI

DOXBee

PRO-S2C XBee USB

Adaptor TX

RX 6

RX2

0 1

(6)

p-ISSN 2088-3943

DR7VF7RVAOKGQV9I. Nama Channel yang dibuat adalah Parkir dan terdiri dari tiga field yaitu Field1= Zona A, Field2= Zona B dan Field3= Zona C.

Mulai

Periksa Masukan Serial1 (node sensor)

Ada masuk

?

Baca Data Serial Ya

Tdk Set Parameter Komunikasi Serial:

XBee=Serial1;ESP=Serial2;

Komputer=Serial

Baca Informasi Zona A Kode=A

? Periksa Kode Zona Parkir

Hitung Slot kosong Zona A

Kode= B

? Tdk

Ya Baca Informasi Zona B

Kirim Jumlah Slot Kosong Zona A, Zona B, Zona C ke kanal ThingSpeak (Internet) melalui Serial 2

Hitung Slot kosong Zona B Kirim ke Komputer

Pemantau (Serial 0)

Kirim ke Komputer Pemantau

Kode= C

? Tdk

Ya Baca Informasi Zona C

Hitung Slot kosong Zona C Kirim ke Komputer

Pemantau Tdk

Ya

Gambar 8. Diagram alir pada Node Sink Setiap informasi yang diterima Arduino dari serial1 diperiksa, jika karakter pertamnya adalah karakter A, B atau C maka informasi tersebut dibaca dan kemudian dikirimkan ke komputer pemantau melalui serial. Data banyak kenderaan pada setiap zona diambil dari informasi parkir yang diterima dan kemudian dikurangkan terhadap kapasitas zona parkir untuk menghasilkan data banyak Slot kosong.

Nilai banyak slot kosong dikirimkan ke Channel ThingSpeak melalui ESP8266 yang terhubung ke serial 2. Bagian program node sink ditunjukkan pada gambar 9.

#include <SoftwareSerial.h>

#include "WiFiEsp.h"

String thingSpeakAddress =

"api.thingspeak.com";

String writeAPIKey; String tsfield1Name;

String request_string;

char ssid[] = "CPH170"; // your network

SSID (name)

char pwd[] = "12345678"; // your network password

WiFiEspClient client;

String myAPIkey = "DR7VF7RVAOKGQV9I"; // kode API Thingspeak

char rc;

int CountA,CountB,CountC,i;

const byte numChars = 20;

char receivedChars[numChars]; // an array to store the received data

boolean newData = false;

String ParkirA,ParkirB,ParkirC;

int KosongA,KosongB,KosongC;

String JumlahA,JumlahB, JumlahC;

void setup() {

Serial.begin(9600); Serial1.begin(9600);

Serial2.begin(9600);

WiFi.init(&Serial2); //menset Serial2 untuk WiFi

delay(1000);

printMacAddress();

WiFi.begin(ssid, pwd); WiFi.status();

newData = false ;}

void loop() {

CountA=0; CountB=0; CountB=0;

for( i=0; i<8; i++){

newData = false ;//

recvWithEndMarker();

if (CountA==2) // tanda ada data dari node A { int JumlahA1=ParkirA.indexOf("\&");

int JumlahA2=ParkirA.indexOf("\#");

JumlahA=ParkirA.substring(JumlahA1+1,JumlahA2 );

int KosongA=4-JumlahA.toInt();

if (KosongA<0) { KosongA=0;}

Serial.println(ParkirA);

CountA=0;}

if (CountB==2) ) // tanda ada data dari node B

{ int JumlahB1=ParkirB.indexOf("\&");

int JumlahB2=ParkirB.indexOf("\#");

JumlahB=ParkirB.substring(JumlahB1+1,JumlahB2 );

KosongB=4-JumlahB.toInt();

if (KosongB<0) { KosongB=0;}

Serial.println(ParkirB);

CountB=0;}

if (CountC==2){

int JumlahC1=ParkirC.indexOf("\&");

int JumlahC2=ParkirC.indexOf("\#");

JumlahC=ParkirC.substring(JumlahC1+1,JumlahC2 );

KosongC=4-JumlahC.toInt();

if (KosongC<0) { KosongC=0;}

Serial.println(ParkirC);

CountC=0;}

delay (500);}

i=0;

if (CountA==0) {

ParkirA= "A0000&0#"; }//jika tdk ada dataA masuk maka clear

if (CountB==0) {

ParkirB= "B0000&0#";}//jika tdk ada dataB masuk maka clear

if (CountC==0) ) // tanda ada data dari

(7)

node A

{ ParkirC= "C0000&0#";}//jika tdk ada dataC masuk maka clear

kirim_thingspeak(KosongA,KosongB,KosongC);

}

void recvWithEndMarker() { // Mendeteksi data serial yang masuk dari XBee

static byte ndx = 1;

char rc;

while (Serial1.available() > 0 && newData ==

false) {

rc = Serial1.read();

if (rc != '#') {

receivedChars[ndx] = rc;

ndx++;

if (ndx >= numChars) { newData=true; }}

else { receivedChars[ndx] = '#'; //

terminate the string ndx = 0;

newData = true; }

if (receivedChars[1]=='A'){

ParkirA= receivedChars;

CountA=2;}

else if(receivedChars[1]=='B'){

ParkirB= receivedChars;

CountB=2;}

else if(receivedChars[1]=='C'){

ParkirC= receivedChars;

CountC=2;} } Serial1_clear();}

void Serial1_clear()

{while (Serial1.read()>=0); }

void kirim_thingspeak(int ZonaA, int ZonaB,int ZonaC) {

if(client.connect("api.thingspeak.com", 80)) {

request_string="/update?";

request_string += "api_key=";

request_string+=myAPIkey;

request_string += "&";

request_string+="field1";

request_string += "=";

request_string+=ZonaA;

request_string += "&";

request_string+="field2";

request_string += "=";

request_string+=ZonaB;

request_string += "&";

request_string+="field3";

request_string += "=";

request_string += ZonaC;

client.print(String("GET")+ request_string +"HTTP/1.1\r\n" +"Host:"+thingSpeakAddress+

"\r\n"+"Connection: close\r\n\r\n");//kirim ke Hotspot

unsigned long timeout = millis();

while (client.available() == 0) { if (millis() - timeout > 5000) { Serial.println(">>> Client Timeout

!");

client.stop();

return; } }

while(client.available()){

stringline=client.readStringUntil('\r'); }

{ // get your MAC address byte mac[6];

WiFi.macAddress(mac);

char buf[20];

sprintf(buf,

"%02X:%02X:%02X:%02X:%02X:%02X",mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]);

Serial.print("MAC address: ");

Serial.println(buf); }

Gambar 9. Bagian Program Node Sink

3. Hasil Dan Pembahasan

Sebelum digunakan XBee ProS2C terlebih dahulu diset konfigurasinya dengan menggunakan software XCTU yang disediakan perusahaan DIGI. Pada penelitian ini topologi yang digunakan adalah ZIGBEE TH PRO dengan nomor PAN ID=3 dan jumlah hop maksimum 1EH. XBee pada setiap node sensor(zona parkir) diset sebagai Router dengan tujuan data adalah XBee Coordinator dengan nomor MAC 0013A2004185477F. XBee yang dipasang node sink diset sebagai Coordinator, dan karena tujuan data maka alamat tujuan diset dengan DH=00 dan DL=00.

Pengujian Jaringan XBee Pro S2C

Pengujian jaringan XBee dilakukan dengan membuat program mengirimkan data acak dan nama XBee pada Arduino Mega 82560 dari ketiga zona, dimana pada Zona A diberi nama “XBee_R1”, zona B dengan “XBee_R2”, dan Zona C dengan “XBee_R3” separti ditunjukkan pada gambar 10. Coordinator dihubungkan ke komputer yang terpasang program XCTU.

.

//Program Uji_Kirim_XBee int t,h;

const String ID_XB = "XBee_R1";

void setup() {

Serial1.begin(9600);

}

void loop() {

t=random(10,100); h=random(10,100);

Serial1.println("Data:"+String(t)+"&"+Stri ng(h)+ID_XB);

delay(5000);

}

Gambar 10. Program Uji Jaringan XBee Pro S2C

Pengujian jaringan XBee pertama dilakukan dengan multipoint to point seperti pada gambar 11, dimana Coordinator ditempatkan pada gedung Lab.Telekomunikasi dan XBee-R1,

(8)

p-ISSN 2088-3943

dari ke tiga node sensor dapat diterima coordinator seperti ditunjukkan pada gambar 12.

Coordinator

Router R2 R1

Router R3

Router

30m 50m

40 m

Ruangan Lab.Telekomunikasi

Gambar 11. Topologi multi point to point

Gambar 12. Hasil Pengujian dengan program XCTU

Dari gambar 12 dapat dilihat data yang ditampilkan berasal dari XBee_ R3, XBee_R2 dan XBee_R1 dengan demikian informasi dari ketiga XBee telah dapat diterima Coordinator.

Selanjutnya XBee_R1 dipindahkan lebih jauh dari Coordinator hingga didapat jarak maksimum dimana informasi dari XBee_R1 masih dapat diterima Coordinator. Hasil pengujian didapat maksimum 120 m. Pada saat XBee_R1 dipindah ke posisi dimana arah menuju Coordinator terhalang didapat informasi dari XBee_R1 tidak dapat diterima Coordinator.

Selanjutnya dilakukan pengujian untuk multi hop dimana XBee_R1 dapat terhubung ke Coordinator(Komputer), XBee_R2 dapat terhubung ke XBee_R1 tetapi tidak dapat terhubung ke Coodinator. XBee_ R3 dapat terhubung ke XBee_R2 tetapi tidak dapat terhubung ke XBee_R1 dan Coordinator seperti ditunjukkan pada gambar 13.

Pengujian dilakukan dengan menonaktifkan secara bergantian XBee dan

mengamati hasil yang diterima pada Coordinator.

Hasil pengujian didapat pada tabel 2.

Coordinator

Router R1 R2

Router R3 Router

50m 100m 75m

Gedung Lab.Telekomunikasi

Gambar 13. Pengujian Jaringan XBee Pro S2C dengan multi hop.

.Tabel 2. Hasil Pengujian Multi Hop

No XBee R1

XBee R2

XBee R3

Sumber Data diterima

Coord.

Keterangan 1 OFF OFF OFF Tidak ada

2 OFF OFF ON Tidak ada

Informasi dari R3 tidak sampai ke Coordinator 3 OFF ON OFF Tidak

ada

Informasi dari R2 tidak sampai ke Coordinator

4 OFF ON ON Tidak ada

Informasi dari R2 dan R3 tidak sampai ke Coordinator 5 ON OFF OFF R1

Informasi dari R1 sampai ke Coordinator

6 ON OFF ON R1

Informasi dari R3 tidak sampai ke R1 sehingga tidak dapat diteruskan ke Coordinator 7 ON ON OFF R1,R2

R1 melanjutkan informasi dari R2 ke Coordinator

8 ON ON ON R1,R2, R3

R2 melanjutkan informasi dari R3 ke R1 dan R1 meneruskannya ke Coordinator

Dari data tabel 2 dapat dilihat bahwa data dari suatu node dapat diteruskan ke node tujuan melalui node perantara, dimana pada pengujian ini hingga tiga hop. Menurut lembaran data

(9)

XBee Pro S2C dengan protokol Zigbee dapat mencapai 30 hop.

Pengujian Fungsional

Pengujian dilakukan dengan simulasi dimana kenderaan digantikan dengan papan triplex ukuran panjang 2,4m dan lebar ukuran 1,2m. Pada pengujian ini kenderaan memasuki zona parkir digantikan dengan papan triplex dibawa melewati sensor masuk dan diletakkan di atas slot parkir dengan ketinggian 150cm.

Kenderaan keluar zona digantikan dengan membawa papan triplex dari slot parkir melewati sensor keluar. Berikut diberikan tampilan pada monitor komputer dan tampilan pada Channel ThingSpeak untuk beberapa kondisi.

a. Tampilan Monitor Pusat Pemantau

b. Tampilan Channel ThingSpeak Gambar 14. Saat belum ada kenderaan pada

semua Zona Parkir

Pada saat tidak ada kenderaan memasuki zona parkir ditunjukkan pada gambar 14. Gambar 15 didapat pada saat satu kenderaan dimasukkan ke setiap zona dimana pada zona A mempati slot 1, zona B menempati slot 3 dan zona C menempati slot 2. Gambar 16 didapat saat pada zona A telah masuk dua kenderaan dan menempati slot 1 dan 2, pada zona B telah masuk dua kenderaan

kenderaan dari slot2 keluar dari slot tetapi masih didalam zona C.

Gambar 15. Hasil Pengujian Saat Zona A,B dan C berisi satu Kenderaan

Gambar 16.

4. Kesimpulan

Setelah dilakukan perancangan, pembuatan

(10)

p-ISSN 2088-3943

a.Dengan bantuan program pengukur jarak sensor ultrasonik dapat digunakan untuk mendeteksi kenderaan pada slot parkir dan kenderaan yang masuk dan keluar zona parkir.

b.Jarak komunikasi untuk point to point XBee Pro S2C dipengaruhi oleh objek penghalang dimana dalam penelitian ini jarak maksimum antara XBee dalam ruangan dengan XBee diluar ruangan tanpa halangan gedung maksimum 120m.

c. Dengan konfigurasi Zigbee jaringan XBee Pro S2C dapat memperluas lokasi pemantauan parkir dimana setiap node sensor yang diset sebagai router dapat meneruskan informasi dari node sensor lainnya ke node sink. . d. Dengan menggunakan ESP8266 dan layanan

ThingSpeak.com informasi parkir dapat dipantau secara realtime dari internet dimana ESP8266 mengirimkan informasi ke hotspot melalui WiFi.

5. Referensi

[1]. Elijah J. Morgan. (Nov. 16 2014). HCSR04 Ultrasonic Sensor. Diakses pada 10 September

2019 melalui:

https://datasheet4u.com/datasheet-parts/HC- SR04-datasheet.php?id=1380136

[2]. Hafif Bustani Wahyudi. (2016). Sistem Pendeteksi Lahan Parkir Menggunakan Raspberry Pi, Sensor Ultrasonik dan Mikrokontroller. Journal Of Information and Technologi Volume 04 nomor 01 Tahun 2016.

[3]. Aditya Kurniawan, dkk. (2016). Implementasi dan Analisa Jaringan Wireless Sensor Untuk Monitoring Suhu, Kelembaban dan Kadar CO2 Pada Ruangan. Seminar Nasional Inovasi dan Aplikasi Teknologi di Industri (SENIATI) 2016 ISSN:2085-4218. Diakses pada 28 Juli 2019 melalui:https://ejournal.itn.ac.id/index.php/

seniati/

[4]. Digi International (2017). User Guide XBee®/XBee-PRO S2C ZigBee® RF Module.

Diakses pada 02 Agustus 2019 melalui:

https://www.digi.com/resources/documentation/

digidocs/pdfs/90002002.pdf

[5] Ajie, 2016. IoT dengan Arduino dan ThingSpeak.

Diakses pada tanggal 06 agustus 2019 melalui http://saptaji.com/2016/11/21/iot-dengan- arduino-dan-thingspeak/

[6] Morlan, dkk. [2018]. Sistem Monitoring Tempat parkir Berbasis Arduino Mega Dengan modul Komunikasi XBee Pro S2C. Jurnal RELE (Rekayasa Elektrikal Dan Energi) vol 1, No.2 Tahun 2019.

Gambar

Gambar 2. Rangkaian  Node Sensor
Gambar 3. a. Posisi Sensor kenderaan masuk dan  keluar  [6]
Gambar 4.  Program Penghitung Kenderaan Pada  Satu Zona
Diagram  alir  pemantauan  zona  parkir   ditunjukkan  pada  gambar  5  dan  penggalan  program  pemantau  zona  ditunjukkan  pada  gambar  6
+3

Referensi

Dokumen terkait

Pelabelan pada suatu graf adalah suatu pemetaan (fungsi) yang memasangkan unsur- unsur graf (titik atau sisi) dengan bilangan (biasanya bilangan bulat) yang

Atika Tunggal Mandiri, analisa volume dan perkiraan tonase andesit pada kemajuan penambangan pit II, analisa lama waktu yang dibutuhkan untuk kegiatan

Berdasarkan analisa yang dilakukan, distribusi spasial kawasan terhadap rekonstruksi Kerajaan Mataram Islam di Pleret dapat dilihat dengan menggunakan pendekatan sistem

Orang yang kuat dan gagah berani tersebut memiliki hikmat atau keterampilan untuk hidup, dan dalam Amsal 31 kita melihatnya terwujud dalam diri seorang wanita bijak.. Ketika

Berdasarkan penjabaran di atas maka penelitian ini bertujuan untuk menguji kembali apakah good corporate governance yang diukur dengan direksi independen dan transaksi

berikut : Adanya individu yang belum termotivasi untuk menghayati Visi dan i Organisasi Inspektorat Kabupaten Ogan Komering Ulu Timur dalam Pejabat Pengawas Urusan

Kerja Guru (KKG) kelas VI Kabupaten Tulungagung. Dalam analisis butir soal digunakan teori tes klasik berbantuan program ITEMAN 4.30 yang merupakan versi terbaru.

Sistem pakar untuk menentukan kesesuain jenis tanaman dengan kondisi lahan yang tersedia dibuat dengan lima karakteristik lahan, 1080 aturan secara keseluruhan dengan