Sie sind auf Seite 1von 30

i

RANCANG BANGUN KOMUNIKASI DATA WIRELESS


MIKROKONTROLER MENGGUNAKAN MODUL XBEE
ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

DEPARTEMEN ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
i

RANCANG BANGUN KOMUNIKASI DATA WIRELESS


MIKROKONTROLER MENGGUNAKAN MODUL XBEE
ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
i

ABSTRACT
KHAMDAN AMIN BISYRI. Microcontroller Wireless Data Communication Using XBee ZigBee
(IEEE 802.15.4) Module. Supervised by SRI WAHJUNI and SATYANTO K. SAPTOMO
This research implement microcontroller wireless data communication on automatic irrigation.
Microcontroller unit (MCU) is used to read soil moisture level by using Soil Moisture sensor. Sensor
values need to be sent to main controller (server computer) for monitoring. Past research (Nugroho
2011) has implemented serial cable for communication between field controller and main controller,
but it will be inefficient for field application because serial cable implementation would be difficult if
the field is far from the computer. Therefore, wireless data communication needed. XBee was choosen
because compared to other wireless devices (Bluetooth, GSM, and WiFi), XBee has the lowest power
consumption, lowest cost and the most suitable for monitoring and controlling. XBee performance is
tested using the number of data packet loss. From the test result, the best distance to place the field
controller is obtained, which is less than 20 meters from the main controller. For a better performance
in decreasing the data packet loss incurred by the longer distance, it is advised to use the newer XBee
series.
Keyword: XBee API, Wireless Microcontroller, Automatic Irrigation
i

Judul Skripsi : Rancang Bangun Komunikasi Data Wireless Mikrokontroler Menggunakan Modul
XBee ZigBee (IEEE 802.15.4)
Nama : Khamdan Amin Bisyri
NRP : G64070080

Menyetujui:
Pembimbing I Pembimbing II

Ir. Sri Wahjuni, M.T Dr. Satyanto K. Saptomo, S.TP, M.Si


NIP. 19680501 200501 2 001 NIP. 19730411 200501 1 002

Mengetahui:
Ketua Departemen

Dr. Ir. Agus Buono, M.Si, M.Kom


NIP. 19660702 199302 1 001

Tanggal lulus:
i

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa-ta'ala karena hanya dengan berkat,
rahmat, dan karunia-Nya penelitian ini dapat diselesaikan dengan baik. Selawat serta salam penulis
sampaikan kepada junjungan Nabi Muhammad shallallahu’alayhi wasallam, juga kepada
keluarganya, sahabatnya, dan para pengikutnya. Penyelesaian penelitian ini juga tidak lepas dari
bantuan berbagai pihak, untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada:
1 Kedua orang tua penulis, Bapak Abu Tamami dan Ibu Mei Ningsih, terima kasih atas doa, kasih
sayang, dukungan, motivasi, pengertian, pengorbanan, dan nasihat yang selalu mengiringi
perjalanan penulis.
2 Ibu Ir. Sri Wahjuni, M.T selaku dosen pembimbing I, terima kasih akan kesabaran, ilmu, waktu,
motivasi, dan nasihat yang diberikan selama penyelesaian penelitian ini.
3 Bapak Satyanto K. Saptomo, S.TP, M.Si selaku dosen pembimbing II, terima kasih atas segala
ilmu, saran, dan bantuan yang diberikan selama penyelesaian penelitian ini.
4 Bapak Hendra Rahmawan, S.Kom, M.T selaku dosen penguji, terima kasih atas segala ilmu, kritik,
dan saran yang diberikan.
5 Kakak penulis, Zulia Ahmad Burhani, terima kasih atas dukungan yang telah diberikan, juga
kepada adik penulis, Isti Qomah dan Nur Hayati dengan mengingatnya turut memberikan motivasi
dan semangat kepada penulis.
6 Segenap dosen dan staf pendukung Departemen Ilmu Komputer yang telah membantu penulis
dalam berbagai kesempatan.
7 Teman-teman satu bimbingan, Rochiyat, Zola, Catur, Rendy dan Sulma, terima kasih atas bantuan,
dukungan, ilmu, serta motivasi yang selalu diberikan.
8 Ayi Imaduddin, Inne Larasati, dan seluruh Ilkom 44 yang tak bisa disebutkan satu per satu, terima
kasih atas semangat dan kebersamaannya.
9 Semua pihak yang telah memberikan doa, semangat, dan bantuan selama penyelesaian penelitian.
Penulis menyadari bahwa penelitian ini masih terdapat kekurangan. Penulis berharap semoga hasil
penelitian ini dapat memberikan manfaat.

Bogor, September 2012

Khamdan Amin Bisyri


i

RIWAYAT HIDUP

Penulis dilahirkan di Kelurahan Kebasen, Kabupaten Banyumas pada tanggal 8 Juli 1989. Penulis
merupakan anak kedua Bapak Abu Tamami dan Ibu Mei Ningsih dari empat bersaudara. Penulis
menempuh pendidikan formal di SMA Negeri 1 Lubuk Dalam (2007). Penulis lulus seleksi masuk
Institut Pertanian Bogor (IPB) pada tahun 2007 melalui jalur Beasiswa Utusan Daerah
(BUD) Kabupaten Siak dengan Program Studi Ilmu Komputer Fakultas Matematika dan Ilmu
Pengetahuan Alam (FMIPA). Selama aktif sebagai mahasiswa, penulis menjadi salah satu pengurus
Himpunan Mahasiswa Ilmu Komputer (Himalkom) pada tahun 2009 di Komunitas VB.net.
v

DAFTAR ISI

Halaman
DAFTAR TABEL............................................................................................................... vi

DAFTAR GAMBAR .......................................................................................................... vi

DAFTAR LAMPIRAN ...................................................................................................... vii

PENDAHULUAN ............................................................................................................... 1
Latar Belakang ............................................................................................................. 1
Tujuan .......................................................................................................................... 1
Ruang Lingkup ............................................................................................................. 1
Manfaat Penelitian ........................................................................................................ 1

TINJAUAN PUSTAKA....................................................................................................... 1
Arduino ........................................................................................................................ 1
Arduino UNO ATmega328........................................................................................... 1
Arduino-0023 ............................................................................................................... 2
ZigBee ......................................................................................................................... 2
XBee ............................................................................................................................ 3
X-CTU ......................................................................................................................... 5
Sensor Soil Moisture (SKU:SEN0114) ......................................................................... 5
Topologi Star................................................................................................................ 6

METODE PENELITIAN ..................................................................................................... 6


Analisis ........................................................................................................................ 6
Perancangan Arsitektur ................................................................................................. 7
Perancangan Komunikasi Data ..................................................................................... 8
Perancangan Antarmuka Main Controller ..................................................................... 9
Pembangunan Model Irigasi ....................................................................................... 10
Implementasi .............................................................................................................. 10
Pengujian dan Pengambilan Data ................................................................................ 10

HASIL DAN PEMBAHASAN .......................................................................................... 10


Antarmuka Main Controller ....................................................................................... 10
Pengambilan Data....................................................................................................... 11
Sistem Kontrol ........................................................................................................... 12
Komunikasi XBee ...................................................................................................... 12

KESIMPULAN DAN SARAN .......................................................................................... 14


Kesimpulan ................................................................................................................ 14
Saran .......................................................................................................................... 14

DAFTAR PUSTAKA ........................................................................................................ 14


LAMPIRAN ...................................................................................................................... 16

v
DAFTAR TABEL
Halaman
1 Perbandingan standard wireless ........................................................................................ 2
2 Tabel pengujian packet loss............................................................................................ 10
3 Pengujian packet loss ..................................................................................................... 13

DAFTAR GAMBAR
Halaman

1 Skema Arduino UNO ATmega328 ................................................................................. 2


2 Antarmuka Arduino-0023............................................................................................... 2
3 ZigBee protocol stack .................................................................................................... 3
4 Modul XBee................................................................................................................... 3
5 Diagram data flow internal. ............................................................................................ 4
6 Sistem data flow diagram pada lingkungan UART. ........................................................ 4
7 API frame XBee. ............................................................................................................ 4
8 Paket TX 16 bit address ................................................................................................. 4
9 Paket RX 16 bit address ................................................................................................. 5
10 Antarmuka X-CTU......................................................................................................... 5
11 Sensor Soil Moisture. ..................................................................................................... 6
12 Metode penelitian. .......................................................................................................... 6
13 Rancangan arsitektur. ..................................................................................................... 7
14 XBee Shield. .................................................................................................................. 7
15 XBee USB adapter. ....................................................................................................... 7
16 Blok diagram rancang bangun sistem menggunakan Soil Moisture................................. 7
17 Flow chart rancang bangun sistem field controller.......................................................... 7
18 Flow chart rancang bangun control dengan sensor soil moisture. .................................... 8
19 Flow chart pembacaan paket XBee. ............................................................................... 8
20 RF Data pada API frame TX field controller. ................................................................ 8
21 RF Data pada API frame TX main controller................................................................. 9
22 Parameter Setting RF Data API frame TX main controller untuk bit penanda 1. ............. 9
23 Parameter Setting RF Data API frame TX main controller untuk bit penanda 2. ............. 9
24 Parameter Setting RF Data API frame TX main controller untuk bit penanda 3. ............. 9
25 Layout antarmuka. .......................................................................................................... 9
26 Pembangunan model. ................................................................................................... 10
27 Antarmuka main controller. ......................................................................................... 11
28 Bagian monitoring pada antarmuka. ............................................................................. 11
29 Antarmuka manajemen XBee device. ........................................................................... 11
30 Grafik hasil pembacaan sensor. .................................................................................... 11
31 Konfigurasi sensor Soil Moisture pada Arduino. ........................................................... 12
32 Konfigurasi sistem kontrol. .......................................................................................... 12
33 Log field controller. ..................................................................................................... 12
34 Log main controller...................................................................................................... 13
35 Lokasi pengambilan data. ............................................................................................. 13
36 Prosentase packet loss pada beberapa jarak. .................................................................. 13

vi
DAFTAR LAMPIRAN

Halaman
1 Blok diagram arsitektur AVR. ........................................................................................ 17
2 Gambar dimensi XBee dan XBee Pro ............................................................................. 17
3 Kode program MCU Arduino field controller. ................................................................ 18

vii
1

PENDAHULUAN controller) ke komputer server (main


controller).
Latar Belakang
Ruang Lingkup
Irigasi merupakan penambahan
kekurangan kadar air tanah secara buatan yakni Penelitian ini difokuskan pada
dengan memberikan air secara teratur pada pemrograman untuk komunikasi data antara
tanah yang diolah. Irigasi mempunyai ruang MCU Arduino UNO di lapangan (field
lingkup dari pengembangan sumber air, controller) dan komputer server menggunakan
penyediaannya, penyaluran air dari sumber ke protokol ZigBee atau IEEE 802.15.4 yang
daerah pertanian, pembagian dan penjatahan diimplementasikan pada modul XBee Series 1.
pada areal. Pemberian air irigasi dapat Manfaat Penelitian
dilakukan dalam lima cara: dengan
penggenangan, menggunakan jalur, di bawah Manfaat dari penelitian ini adalah
permukaan tanah, penyiraman (sprinkle), dan penggunaan protokol ZigBee atau IEEE
sistem tetesan (trickle) (Hansen et al. 1986). 802.15.4 untuk komunikasi wireless dengan
biaya yang murah sebagai alternatif dari
Pada penelitian Nugroho (2011) dilakukan Wireless Sensor Network (WSN). Protokol ini
akuisisi data pada sistem irigasi otomatis diimplementasikan pada modul XBee.
menggunakan Arduino Duemilanove. Proses
akuisisi data menggunakan sensor Floatswitch
dan Thermocouple. Sensor ini membaca
lingkungan sekitar kemudian mengubahnya ke
TINJAUAN PUSTAKA
dalam bentuk digital melalui Analog Digital Arduino
Converter (ADC). Setelah pengkonversian ini
selesai, data ditulis ke dalam media Arduino merupakan rangkaian elektronik
penyimpanan SD card melalui modul SD card. yang bersifat open source platform prototyping
Dalam rancang bangun ini, komunikasi data yang berbasis fleksibilitas serta memiliki
antara controller dan komputer masih perangkat keras dan perangkat lunak yang
menggunakan kabel serial. Penggunaan kabel mudah untuk digunakan. Arduino dapat
serial dalam berkomunikasi memiliki mengenali lingkungan dengan menerima input
kekurangan seperti instalasi yang sulit dan dari sensor, dapat mengatur mengatur lampu,
kurang efisien apabila diterapkan pada sistem motor, dan aktuator lainnya (Arduino 2011).
irigasi. Arduino UNO ATmega328
Penelitian kali ini menggunakan Micro Arduino UNO dengan dasar
Controller Unit (MCU) Arduino UNO dengan mikrokontroler ATmega328 adalah MCU yang
basis ATmega328. MCU Arduino UNO memiliki 14 input/output digital (6 di antaranya
merupakan penyempurna MCU Arduino dapat digunakan untuk output PWM), 6 input
Duemilanove dengan koneksi USB yang lebih analog, 16 MHz crystal oscilator, USB
baru. Pada MCU Duemilanove, tipe interface connection, power jack, ICSP header, dan
USB yang digunakan ialah Future Technology tombol reset. Output PWM adalah output
Devices International (FTDI) chip FT232RL analog pada pin digital Arduino yaitu pada pin
yang menggunakan driver untuk mengubah RS- digital 3,5,6,9,10, dan 11. Skema dari Arduino
232 atau TTL transmisi serial menjadi sinyal UNO tampak dari atas dapat dilihat pada
USB (FTDI 2011). MCU Arduino UNO Gambar 1 dengan ciri sebagai berikut:
menggunakan tipe interface USB chip
atmega8u2. Kelebihan tipe interface USB ini 1 Operating voltage 5V.
adalah tidak memerlukan driver untuk sistem 2 Rekomendasi input voltage 7-12V
operasi Mac dan Windows versi terbaru, seperti 3 Batas input voltage 6-20V.
layaknya interface USB mouse dan keyboard. 4 Memiliki 14 buah input/output digital.
Data hasil pembacaan sensor di controller 5 Memiliki 6 buah input analog.
lapangan dikirim ke komputer server melalui 6 DC Current setiap I/O Pin sebesar 40mA.
komunikasi wireless XBee Arduino yang 7 DC Current untuk 3.3V Pin sebesar
mengimplementasikan protokol ZigBee. 50mA.
8 Flash memory 32 KB.
Tujuan 9 SRAM sebesar 2 KB.
Membangun komunikasi data secara 10 EEPROM sebesar 1 KB.
wireless menggunakan protokol ZigBee atau 11 Clock Speed 16 MHz.
IEEE 802.15.4 dari controller di lapangan (field
2

membutuhkan AVR Libc, dilakukan


penambahan AVR Libc pada header kode
program.
ZigBee
ZigBee adalah protokol jaringan nirkabel
yang ditargetkan untuk otomasi dan aplikasi
remote control dengan teknologi data rate
rendah, konsumsi daya rendah, dan murah.
ZigBee diharapkan dapat memperkecil biaya
Gambar 1 Skema Arduino UNO ATmega328 dan menjadi konektivitas berdaya rendah untuk
(Arduino 2011). peralatan yang memerlukan baterai untuk hidup
selama beberapa bulan sampai beberapa tahun,
Arduino-0023 tetapi tidak memerlukan kecepatan transfer data
Arduino-0023 merupakan open-source tinggi seperti Bluetooth. Selain itu, ZigBee
Arduino environment yang digunakan untuk dapat diimplementasikan dalam jaringan mesh
menuliskan kode program. Penulisan program yang lebih luas daripada yang mungkin
dilakukan pada Arduino-0023 di komputer dijangkau dengan Bluetooth. Perangkat nirkabel
kemudian diunggah ke Arduino melalui kabel ZigBee diharapkan dapat digunakan untuk
USB. Antarmuka Arduino-0023 dapat dilihat mengirimkan data sejauh 10-75 meter,
pada Gambar 2. Perangkat lunak Arduino-0023 tergantung pada lingkungan RF dan output
memiliki dukungan untuk berberapa lingkungan konsumsi daya yang diperlukan untuk diberikan
sistem operasi seperti Windows, Mac OS X, aplikasi. Perbandingan standar wireless dapat
dan Linux. Arduino environment ditulis dalam dilihat pada Tabel 1 (Safaric & Malaric 2006).
bahasa pemrograman Java dengan didasarkan Tabel 1 Perbandingan standard wireless
pada processing, avr-gcc, dan program open
source lainnya. Bahasa pemrograman untuk Standard ZigBee Bluetooth Wi-Fi GSM/
802.15.4 802.15.1.4 802.11b GPRS
Arduino didasarkan pada bahasa pemrograman
C/C++ serta terhubung dengan AVR Libc Aplikasi monitoring pengganti web, WAN,
sehingga dapat menggunakan fungsi-fungsi dan kontrol kabel video, voice/
e-mail data
yang terdapat pada AVR Libc. AVR Libc berisi Resource 4kb-32kb 250kb+ 1Mb+ 16Mb+
fungsi yang digunakan untuk memanfaatkan Daya tahan 100-1000+ 1-7 0,1-5 1-7
baterai
AVR, seperti pengaturan register. (hari)
Node per 256/65 k+ 7 30 1000
jaringan
Bandwidth 20-250 720 11000+ 64-128
(kbps)
Jangkauan 1-75+ 1-10+ 1-100 1000+
(m)
Kelebihan handal, Murah fleksibi- jangkau-
hemat litas,ke- an,
daya, cepatan kualitas
murah

IEEE dan Aliansi ZigBee telah bekerja


sama untuk menentukan protocol stack
keseluruhan. IEEE 802.15.4 berfokus pada
spesifikasi dari dua lapisan bawah protokol
(lapisan fisik dan lapisan MAC). Di sisi lain,
ZigBee Alliance bertujuan memberikan lapisan
atas dari stack protokol (dari lapisan jaringan ke
lapisan aplikasi) untuk jaringan data yang
Gambar 2 Antarmuka Arduino-0023 (Arduino interoperable, menyediakan tes dukungan
2011). interoperabilitas, pemasaran teknik, dan standar
terkini untuk evolusi standar. Hal ini akan
Pada Arduino-0023, penggunaan AVR menjamin konsumen yang membeli produk dari
Libc dipermudah karena secara default library produsen berbeda yakin bahwa produk akan
pada Arduino-0023 sudah mencakup AVR Libc dapat bekerja bersama (Ergen 2004). Ilustrasi
tanpa harus tahu Libc mana yang yang ZigBee protocol stack dapat dilihat pada
digunakan. Ketika dalam penulisan kode Gambar 3.
3

Smart Home dan Building Automation. Pada


penelitian ini, application berupa XBee Control.
Fitur protokol ZigBee antara lain:
1 Dukungan untuk beberapa topologi
jaringan seperti point-to-point, point-to-
multipoint dan jaringan mesh.
2 Siklus rendah - menyediakan baterai yang
tahan lama.
3 Latency rendah.
4 Direct Sequence Spread Spectrum (DSSS).
5 Dapat menangani 65000 node per
jaringan.
Gambar 3 ZigBee protocol stack (Taehong et
6 Enkripsi 128-bit AES untuk koneksi data
al. 2007).
yang aman.
Dari Gambar 3, dapat dilihat setiap lapisan 7 Menghindari collision, retries dan
pada protocol stack ZigBee memiliki fungsi acknowledgement (Digi 2011).
yang berbeda. Fungsi setiap lapisan antara lain:
XBee
a Lapisan fisik (PHY)
XBee merupakan modul yang
Pada lapisan ini didefinisikan karakteristik
memungkinkan Arduino untuk berkomunikasi
radio channel dan dukungan band 2.45GHz
secara wireless menggunakan protokol ZigBee.
dan 868/915MHz. Pada band 2.45GHz radio
ZigBee beroperasi pada spesifikasi IEEE
band memiliki data rate 250Kbps dan
802.15.4 radio fisik dan beroperasi pada band
mendukung 16 channel. Band 868/915MHz
berlisensi termasuk 2.4 GHz, 900 MHz dan 868
mendukung satu channel untuk 868MHz
MHz. Basis XBee berasal dari modul
dengan data rate 20Kbps dan 10 channel untuk
MaxStream. Modul ini memungkinkan
915MHz dengan data rate 40Kbps.
komunikasi wireless dalam jangkauan hingga
b Lapisan MAC 30 meter (dalam ruangan) atau 100 meter (luar
ruangan). XBee dapat digunakan sebagai
Lapisan MAC bertanggung jawab untuk
pengganti kabel serial, dapat juga digunakan
single hop komunikasi data antar perangkat sebagai mode perintah untuk suatu broadcast,
yang bertetangga. Hal ini mensinkronisasi
dan pilihan menghubungkan suatu jaringan.
jaringan, mendukung association/disassociation Gambar modul XBee dapat dilihat pada Gambar
dan MAC-level security, serta memberikan link 4 (Arduino 2011).
yang dapat diandalkan antara dua perangkat.
Lapisan MAC menggunakan mekanisme
Carrier Sense Multiple Access with Collision
Avoidance (CSMA/CA) untuk mengakses
channel, seperti wireless networks lainnya
seperti IEEE 802.11dan IEEE 802.15.3
c Lapisan Security
Pada lapisan MAC, network dan
application dapat diamankan dan berbagi kunci Gambar 4 Modul XBee.
keamanan untuk mengurangi storage yang
dibutuhkan. Pada lapisan ini, Pada dasarnya, XBee merupakan
diimplementasikan Advanced Encryption komunikasi serial. Akan tetapi, apabila mode
Standard (AES). API digunakan, dibutuhkan pemaketan data RF.
Untuk itu, data akan di-buffer terlebih dahulu
d Lapisan Application Framework sebelum dikirim atau diterima. Flow data serial
Lapisan Application framework menjadi paket RF. Pada XBee apabila ada data
memberikan fungsi perintah sesuai vendor dan input (DI), data akan masuk ke DI buffer.
penggunaan API. Setelah itu, input data akan diteruskan ke RF
TX buffer, kemudian untuk mentransmisikan
e Lapisan Application/Profiles input data, posisi RF switch menjadi
Lapisan Application merupakan lapisan transmitter. Begitu juga sebaliknya, apabila ada
yang berhubungan dengan end user, seperti data yang diterima, posisi RF switch menjadi
4

receiver lalu data akan masuk RF RX buffer, 1 Frame Delimiter: merupakan suatu bit
kemudian data diteruskan ke DO buffer lalu (0x7E) yang menjadi pemisah antara satu
menjadi data output (DO), kemudian DO frame dan frame yang lain.
diteruskan dari XBee ke host. Diagram data 2 Length: menyatakan bit informasi panjang
flow internal XBee dapat dilihat pada Gambar 5 frame API. Frame length terdiri atas Most
(Digi 2008). Significant Bit (MSB) yang menyatakan
bit signifikan pada representasi biner
panjang frame, sedangkan Least
Significant Bit (LSB) menyatakan bit
kurang signifikan pada representasi biner
panjang frame.
3 Frame data: frame yang berisikan data
Gambar 5 Diagram data flow internal. utama dari API. Frame data pada
Modul RF interface XBee/XBee-PRO penelitian ini terdapat dua jenis yaitu
OEM berhubungan dengan melalui logic-level transmit (TX) dan receive (RX). Paket
asynchronous serial port. Melalui serial port ini, transmit (TX) 16 bit address berisi:
modul dapat berkomunikasi dengan logic dan API id cmdData
voltage kompatibel Universal Asynchronous 0x01 Frame Destination Option RF Data
id Address
Receiver-Transmitter (UART) atau melalui MSB LSB
level translator ke semua serial device Byte 4 Byte 5 Byte Byte Byte 8 Byte 9-n
contohnya pada RS-232 atau USB interface 6 7

board. UART atau Universal Asynchronous Gambar 8 Paket TX 16 bit address.


Receiver-Transmitter adalah bagian perangkat Keterangan Gambar 8:
keras komputer yang menerjemahkan bit-bit
paralel data dan bit-bit serial. UART biasanya a API identifier
berupa sirkuit terintegrasi yang digunakan Berisi informasi jenis paket, 0x01
untuk komunikasi serial pada komputer atau menandakan paket merupakan paket
port serial perangkat peripheral. Device yang TX.
memiliki interface UART dapat terhubung b cmdData
langsung pada pin modul RF. Sistem data flow Pengidentifikasi struktur data spesifik
diagram padaUART dapat dilihat pada Gambar yang berisi:
6 (Digi 2008).  Frame ID
Mengidentifikasi UART data frame
kepada host untuk mengorelasikan
dengan subsekuen ACK. Setting
frame ID ke 0 akan meniadakan
respon frame.
 Destination address
Destination address berisi alamat
Gambar 6 Sistem data flow diagram pada tujuan paket. Destination address
lingkungan UART. terdiri atas Most Significant Bit
(MSB) menyatakan bit signifikan
Pada mode operasi XBee Application pada representasi biner alamat 16 bit
Programming Interface (API), data yang masuk perangkat tujuan dan Least
diurutkan pada frame sesuai dengan urutan yang Significant Bit (LSB) menyatakan bit
telah ditentukan. Data frame yang berurutan ini kurang signifikan pada representasi
akan membantu dalam proses membedakan biner alamat 16 bit perangkat tujuan .
command, command response, dan status  Options (Byte 8)
pengiriman. API frame dapat dilihat pada Berisi pilihan untuk menyesuaikan
Gambar 7 (Digi 2008). paket dengan kebutuhan. Pilihan
tersebut antara lain:
0x01: disable ack
0x04: mengirim paket dengan
broadcast PAN ID semua bit lain
harus set ke 0.
 RF data
Merupakan data utama yang
Gambar 7 API frame XBee. dikirimkan (pada kali ini nilai sensor)
5

dengan ukuran data kurang dari 100


Bytes.
Paket receive (RX) 16 bit address berisi:
API id cmdData
0x81 Source RSSI Option RF Data
Address
Byte 4 Byte 5,6 Byte 7 Byte 8 Byte 9-n
Gambar 9 Paket RX 16 bit address.
Keterangan Gambar 9:
a API identifier
Berisi informasi jenis paket, 0x81
menandakan paket merupakan paket
RX.
b cmdData’
Pengidentifikasi struktur data spesifik
yang berisi:
 Source address
Source address berisi alamat sumber
paket. Source address terdiri atas
Most Significant Bit (MSB)
menyatakan bit signifikan pada
representasi biner alamat 16 bit
perangkat sumber dan Least Gambar 10 Antarmuka X-CTU.
Significant Bit (LSB) menyatakan bit
kurang signifikan pada representasi Fitur dari X-CTU (Digi 2012) antara lain:
biner alamat 16 bit perangkat 1 Dukungan untuk semua produk
sumber . MaxStream.
 RSSI 2 Terintegrasi dengan jendela terminal.
Received Signal Strength Indicator 3 Mudah menggunakan tes kisaran
(-dBm) menyatakan kekuatan sinyal. loopback.
 Options (Byte 8) 4 Menampilkan Received Signal Strength
Berisi pilihan untuk menyesuaikan Indictator (RSSI).
paket dengan kebutuhan, pilihan 5 Upgrade firmware modul RF di lapangan
tersebut antara lain: pada semua modul XCite dan XStream
Bit 0 reserved modul versi 4.29 dan yang lebih tinggi.
Bit 1: address broadcast 6 Menampilkan kedua karakter ASCII dan
Bit 2: PAN Broadcast heksadesimal pada jendela terminal.
Bit 3-7: reserved 7 Tulis paket tes baik dalam ASCII atau
 RF Data heksadesimal untuk transmisi pada
Merupakan data utama yang diterima antarmuka terminal.
(pada kali ini nilai sensor) dengan 8 Menyimpan dan mengambil konfigurasi
ukuran data kurang dari 100 Bytes. modul yang umum digunakan (profil).
9 Secara otomatis mendeteksi jenis modul.
4 Checksum: Untuk menguji integritas API 10 Pengaturan parameter ke default pabrik.
frame. 11 Tampilan membantu tentang parameter
radio.
X-CTU
12 Program radio profil dalam lingkungan
X-CTU merupakan perangkat lunak yang produksi dengan menggunakan antarmuka
digunakan untuk mengonfigurasi dan menguji baris perintah.
radio modem MaxStream. Pemberian alamat 13 Mengintegrasikan dengan Labview dan
pada XBee dilakukan melalui X-CTU. X-CTU produksi perangkat lunak uji lain melalui
juga dapat mengkonfigurasi XBee menjadi antarmuka baris perintah.
coordinator ataupun menjadi end device. Selain
Sensor Soil Moisture (SKU:SEN0114)
itu, pengaturan retries pada XBee juga dapat
dilakukan. X-CTU mendukung XBee Series 1 Sensor Soil Moisture merupakan sensor
maupun XBee Pro. Antarmuka X-CTU dapat yang dapat mengukur kelembaban tanah di
dilihat pada Gambar 10. sekitar sensor dengan mengambil nilai resistansi.
6

Sensor ini memiliki dua probes untuk


mengalirkan arus listrik melalui tanah, Analisis
kemudian membaca nilai arus listrik sebagai
nilai kelembaban tanah. Semakin banyak
kandungan air, arus listrik akan lebih mudah Perancangan Arsitektur
dihantarkan (resistansi kecil) sehingga nilai
kelembaban tanah semakin besar. Sebaliknya
jika tanah mengandung sedikit air (kering)
maka arus listrik akan susah dihantarkan Perancangan Komunikasi
sehingga resistansi besar maka nilai Data
kelembaban tanah menjadi kecil. Sensor Soil
Moisture dapat dilihat pada Gambar 11
(DFRobot 2012).
Pembangunan Model Irigasi

Implementasi Sistem

Pengujian dan Pengambilan


Data

Gambar 11 Sensor Soil Moisture. Gambar 12 Metode penelitian.


Topologi Star
Analisis
Topologi star merupakan topologi jaringan
Pada tahap ini, dilakukan analisis terhadap
yang sederhana dengan konfigurasi jaringan
sistem irigasi yang sudah ada. Pada penelitian
berbentuk seperti bintang. Dalam topologi star,
sebelumnya dilakukan rancang bangun modul
komunikasi terjadi antara end device dan satu
akuisisi data untuk sistem irigasi otomatis
pusat kontrol yang disebut Personal Area
berbasis mikrokontroler unit Arduino
Network (PAN) coordinator. PAN coordinator
Duemilanove. Sistem ini hanya mencakup
pada penelitian ini berupa XBee coordinator.
lingkup controller di lapangan dan data yang
Contoh penerapan topologi ini pada beberapa
disimpan dalam modul SD card. Komunikasi
aplikasi di antaranya Home Automation dan
data ke controller utama (komputer server)
Personal Computer (PC) Peripherals. Setelah
masih menggunakan kabel serial. Penggunaan
XBee coordinator diaktifkan, XBee ini dapat
kabel serial dalam sistem irigasi instalasinya
membangun jaringannya sendiri dan menjadi
sulit dan tidak efisien karena antara main
PAN coordinator. Setiap jaringan memiliki
controller dan field controller memiliki jarak
PAN identifier yang berbeda-beda agar setiap
dengan penghalang seperti dinding. Oleh sebab
jaringan beroperasi secara independen (Ergen
itu, komunikasi wireless dibangun
2004).
memanfaatkan protokol ZigBee yang
diimplementasikan pada modul XBee dengan
MCU Arduino UNO.
METODE PENELITIAN
Sistem komunikasi Wireless Sensor
Penelitian ini dibagi ke dalam beberapa Network (WSN) dari National Instrument,
tahapan, yaitu analisis, perancangan arsitektur, telah tersedia di pasaran dengan setup yang
perancangan komunikasi data, pembangunan cukup mudah, akan tetapi membutuhkan biaya
model, implementasi sistem, dan pengujian. yang besar apabila dibanding dengan
Alur metode penelitian dapat dilihat pada membangun sendiri menggunakan XBee. Oleh
Gambar 12. karena itu, XBee dipilih karena dapat digunakan
sebagai alternatif dari WSN National
Instrument.
7

Perancangan Arsitektur Pada penelitian ini, sensor yang digunakan


adalah Soil Moisture. Sensor ini mengambil
Sistem irigasi otomatis akan memiliki dua
nilai dari kelembaban tanah. Blok diagram field
bagian yaitu: main controller dan field
controller dapat dilihat pada Gambar 16. Blok
controller. Pada field controller terdapat sensor
diagram pada field controller ini memiliki flow
yang berfungsi mengambil nilai analog dari
chart yang menjelaskan alur kerja dari field
lingkungan. Jika input analog, controller akan
controller dari pembacaan nilai sensor, kontrol,
mengubahnya dahulu ke dalam bentuk digital.
penulisan log dan pengiriman paket. Alur kerja
Kemudian input ditransmisikan ke
dapat dilihat pada Gambar 17.
mikrokontroler. Penyimpan data berupa modul
SD card yang dipasang pada MCU. Data dari
sensor akan ditulis ke dalam memori Penyimpanan Data
penyimpanan SD card sebagai logger.
Aktuator merupakan alat yang merupakan XBee Mikrokontroler Sensor
wujud aksi dari mikrokontroler, seperti motor,
katup buka tutup, atau switch on off relay.
Modul XBee digunakan untuk menghubungkan Aktuator
field controller dengan main controller.
Perancangan arsitektur dapat dilihat pada Gambar 16 Blok diagram rancang bangun sistem
Gambar 13. menggunakan Soil Moisture.

Gambar 13 Rancangan arsitektur.


Pada field controller, modul XBee dapat
dipasang pada MCU akan tetapi tidak dapat
langsung dipasang, melainkan dengan bantuan
XBee shield agar dapat terhubung dengan pin
pada board MCU. XBee shield dapat dilihat
pada Gambar 14.

Gambar 14 XBee Shield.

Pada main controller, modul XBee dapat


terhubung dengan komputer dengan bantuan
XBee adapter yang berfungsi sebagai adapter
USB-TTL. XBee USB adapter dapat dilihat
pada Gambar 15. Gambar 17 Flow chart rancang bangun sistem
field controller.

Field controller memiliki sistem kontrol


otomatis untuk menghidupkan atau mematikan
aktuator. Pada saat dihidupkan (diberi daya),
mikrokontroler akan membaca nilai sensor pada
pin analog 0 (A0). Setelah pembacaan nilai
Gambar 15 XBee USB adapter.
8

sensor dilakukan, nilai hasil pembacaan sensor


akan dibandingkan dengan nilai threshold
bawah dan threshold atas. Apabila nilai hasil
pembacaan sensor lebih besar dari threshold
bawah dan lebih kecil dari threshold atas, pin
digital aktuator akan menyala (high). Apabila
nilai hasil pembacaan sensor lebih kecil dari
threshold bawah atau lebih besar dari threshold
atas, pin digital aktuator akan mati (low). Flow
chart kontrol dapat dilihat pada Gambar 18.

Gambar 19 Flow chart pembacaan paket XBee.

Perancangan Komunikasi Data


XBee memiliki berbagai spesifikasi.
Untuk XBee Series 1 salah satunya yaitu
komunikasi point to multipoint (topologi star).
Komunikasi ini merupakan komunikasi yang
hanya menghubungkan XBee field controller
dengan XBee main controller. Hasil pembacaan
sensor pada pin analog Arduino field controller
akan dikirimkan ke main controller dalam
bentuk paket data. Paket data yang digunakan
menggunakan tipe API frame TX (transmit) dan
RX (receive) address 16 bit. Pada frame API
(Gambar 7) terdapat frame data. Frame data
dapat dibedakan melalui API identifier. Pada
saat field controller melakukan pengiriman
paket, API frame RF Data berisi data lapangan.
Ilustrasi dapat dilihat pada Gambar 20.
RF Data
Nilai Jam dan Status Status Nilai
Sensor Tanggal Aktuator SD Threshold
Card
Gambar 18 Flow chart rancang bangun control Byte 9,10 Byte 11-16 Byte 17 Byte 18 Byte 19-22
dengan sensor soil moisture. Gambar 20 RF Data pada API frame TX field
controller.
Pada field controller setelah proses kontrol
selesai proses selanjutnya adalah proses 1 Nilai Sensor
pembacaan paket XBee. Proses pembacaan Nilai sensor merupakan nilai hasil
paket XBee berfungsi untuk mengetahui jika pembacaan sensor pada pin analog 0.
ada paket dari main controller yang berisi
2 Jam dan Tanggal
pengaturan-pengaturan field controller. Apabila
Pada Byte ini terdapat informasi jam dan
paket XBee diterima, field controller akan
tanggal pada saat pengambilan nilai sensor.
mengklasifikasi jenis perintah sesuai dengan bit
Jam dengan format HH:MM:SS dan
penanda yang telah ditentukan, yaitu:
tanggal dengan format YY-MM-DD.
1 bit penanda 1 untuk pengaturan threshold.
3 Status Aktuator
2 bit penanda 2 untuk pengaturan interval. Status Aktuator merupakan Byte berisi
informasi nyala tidaknya aktuator pada
3 bit penanda 3 untuk sinkronisasi jam. field controller.
Proses pembacaan paket XBee dapat 4 Status SD card
dilihat pada Gambar 19.
9

Status SD card merupakan Byte yang c Apabila bit penanda “3” (sinkronisasi
berisi informasi ketersediaan SD card waktu), parameter berisi detil waktu dan
logger pada field controller. tanggal. Ilustrasi dapat dilihat pada
Gambar 24.
5 Nilai Threshold
Nilai threshold merupakan nilai batas yang Parameter Setting
Detik Menit Jam Tanggal Bulan Tahun
menjadi acuan apakah kontrol sistem akan Byte Byte Byte Byte 13 Byte 14 Byte 15
menyalakan atau mematikan aktuator. 10 11 12
Gambar 24 Parameter Setting RF Data pada
API frame TX main controller
Saat menerima paket ini main controller untuk bit penanda 3.
membaca paket data yang masuk (RX),
kemudian main controller akan membaca RF Perancangan Antarmuka Main Controller
data. Setelah itu, RF data di-parsing untuk
Pada perancangan antarmuka main
ditampilkan pada antarmuka main controller
controller, dibuat suatu layout yang akan
Pada saat main controller melakukan diimplementasikan pada pemrograman Java
pengiriman paket, API frame RF Data berisi pada main controller agar monitoring dan
data pengaturan. Ilustrasi dapat dilihat pada kontrol terhadap field controller lebih mudah
Gambar 21. dan intuitif. Layout mencakup kebutuhan
RF Data
antarmuka untuk fungsi-fungsi Perancangan
Bit Parameter setting layout dapat dilihat pada Gambar 25.
penanda
Byte 9 Byte 10-n
Gambar 21 RF Data pada API frame TX main
controller.
1 Bit Penanda
Bit penanda berfungsi membedakan jenis
perintah yang dikirimkan ke field
controller. Terdapat tiga jenis pengaturan
yaitu bit penanda “1” untuk nilai threshold,
“2” untuk pengatur interval, dan “3”
untuk sinkronisasi waktu.
2 Parameter Setting Gambar 25 Layout antarmuka.
Parameter setting berisi parameter-
parameter setting yang digunakan untuk Perancangan antarmuka main controller
mengatur interval, nilai threshold atau secara umum dibagi menjadi dua bagian, yaitu
sinkronisasi waktu. bagian kiri dan bagian kanan. Bagian kiri
antarmuka merupakan bagian untuk monitoring,
a Apabila bit penanda “1” (pengaturan
terdapat combo box berisi daftar COM port dan
threshold), parameter berisi nilai threshold.
tombol connect dan disconnect. Di bawah
Ilustrasi dapat diihat pada Gambar 22.
combo box terdapat tabel view dari data yang
Parameter Setting diterima dari field controller. Bagian kanan
Threshold Minimum Threshold Maksimum
Byte 10,11 Byte 12,13
merupakan bagian untuk kontrol, terdapat
Gambar 22 Parameter Setting RF Data pada tombol connect dan disconnect untuk kontrol
API frame TX main controller terhadap field controller. Terdapat pula combo
untuk bit penanda 1. box nama XBee end device yang akan dikontrol.
Selain itu pada bagian kanan juga terdapat
b Apabila bit penanda “2” (pengaturan tombol untuk menyesuaikan (sinkronisasi)
interval), parameter berisi nilai interval. tanggal dan jam pada field controller agar sama
Ilustrasi dapat dilihat pada Gambar 23. dengan jam pada komputer main controller. Di
bawah tombol sinkronisasi jam terdapat input
Parameter Setting
Satuan interval Nilai interval
untuk mengatur nilai treshlod minimum dan
Byte 10 Byte 11 threshold maksimum pada sistem kontrol field
Gambar 23 Parameter Setting RF Data pada controller. Pada bagian kanan bawah terdapat
API frame TX main controller combo box untuk mengatur besaran interval dan
untuk bit penanda 2. untuk satuan interval terdapat radio button detik
dan menit sebagai pilihan interval waktu
10

pengiriman data dari field controler ke main jangkauan XBee coordinator agar dapat
controller. berkomunikasi dengan baik.
Pembangunan Model Irigasi Implementasi
Pada tahap ini dilakukan pemodelan dari Pada tahap ini hasil perancangan arsitektur
sistem irigasi otomatis yang akan dibuat. akan diterapkan pada perancangan model.
Pemodelan mencakup lingkungan dan alat-alat Langkah awal yaitu XBee dipasangkan dengan
yang akan digunakan dan menggambarkan XBee USB adapter kemudian dihubungkan
ilustrasi komunikasi dari main controller dan dengan komputer yang telah terpasang
field controller. Untuk field controller, alat perangkat lunak X-CTU. Melalui X-CTU,
yang digunakan: XBee dikonfigurasi alamat, PAN ID, dan
1 MCU Arduino UNO; fungsinya sebagai end device/Reduced Function
2 Sensor Soil Moisture; Device (RFD) atau sebagai coordinator/Full
3 Aktuator LED; Function Device (FFD). Setelah dikonfigurasi,
4 Modul SD card stackable; XBee end device akan dipasangkan pada field
5 XBee Shield; dan controller, sedang XBee coordinator akan
6 XBee Series 1 end device. dipasangkan pada komputer main controller.
Untuk MCU Arduino, program ditulis dengan
Untuk main controller alat yang digunakan:
environment Arduino-0023 menggunakan
1 Komputer;
bahasa pemrograman C/C++, kemudian
2 USB Adapter; dan
diunggah ke mikrokontroler melalui USB Serial.
3 XBee Series 1 coordinator.
Pengujian dan Pengambilan Data
Ilustrasi pembangunan model dari sistem
dapat dilihat pada Gambar 26. Pada tahapan pengujian akan dilakukan
beberapa pengujian packet loss dengan
beberapa faktor jarak dan faktor penghalang.
Dalam pengujian dengan faktor jarak akan
dilakukan percobaan pengiriman paket data dari
beberapa jarak tertentu dan interval waktu
tertentu. Dalam pengujian dengan faktor
penghalang akan dilakukan pengiriman paket
data dengan kondisi terhalang suatu benda
seperti dinding atau pohon. Paket yang dikirim
oleh field controller dicatat, kemudian
dibandingkan dengan paket yang sampai pada
main controller. Hasil pengujian akan dicatat
pada tabel seperti pada Tabel 2.
Tabel 2 Tabel pengujian packet loss
Lokasi Jarak Main Field Packet
(m) Controller Controller Loss
(banyak (banyak (%)
data) data)
Titik 1
Titik 2
Gambar 26 Pembangunan model.
Titik 3
Titik 4

Pada main controller terdapat XBee Series


1 yang difungsikan sebagai coordinator, XBee
ini terhubung dengan komputer melalui XBee
HASIL DAN PEMBAHASAN
USB adapter. Main controller terletak dalam Antarmuka Main Controller
ruangan sehingga memudahkan dalam
Antarmuka main controller dikembangkan
pengontrolan maupun monitoring. Pada field
menggunakan Java dengan IDE Netbeans.
controller, XBee difungsikan sebagai end
device. XBee terhubung dengan Arduino Tampilan utama antarmuka dapat dilihat pada
melalui XBee shield. Field controller terletak di Gambar 27.
luar ruangan, namun harus masih dalam
11

Fungsi plot juga terdapat pada bagian


monitoring. Grafik ini merupakan visualisasi
plot (Gambar 30) dari nilai hasil pembacaan
sensor terhadap satuan waktu.

Gambar 27 Antarmuka main controller.


Pada bagian kiri terdapat bagian
monitoring seperti pada Gambar 28. Bagian ini
berfungsi menampilkan data yang diterima oleh Gambar 30 Grafik hasil pembacaan sensor.
main controller. Data ditampilkan dalam bentuk
tabel agar lebih memudahkan dalam pembacaan. Pengambilan Data
Data yang baru masuk maka akan menjadi baris
(record) baru pada tabel. Sensor merupakan alat yang digunakan
untuk mengenali lingkungan. Sensor dapat
terhubung secara langsung dengan
mikrokontroler melalui port analog. Data yang
diberikan sensor berupa data analog. Contoh
program untuk membaca sensor pada pin analog:
1 void setup () {
2 ...
3 void loop () {
4 ...
5 //kode program untuk membaca sensor
pada pin analog 0 dan kemudian
disimpan pada variabel sensorValue
6 ...
7 int sensorValue = analogRead(A0);
Gambar 28 Bagian monitoring pada antarmuka. 8 }

Pada bagian monitoring terdapat tombol Pada penelitian ini digunaan sensor Soil
XBee Device untuk memanajemen daftar nama Moisture (SKU:SEN0114), sensor ini dapat
XBee beserta alamatnya. Antarmuka mengetahui kandungan air pada lingkungan.
manajemen XBee Device dapat dilihat pada Menurut produsen sensor ini (dfrobot) sensor
Gambar 29. Pada bagian ini selain dapat ini mengkategorikan kandungan air pada
menambahkan device baru, pengguna dapat lingkungan menjadi 3 antara lain:
pula mengedit device ataupun menghapus dari
daftar device. 1 Tanah kering (0~300)
2 Tanah lembab (300~700)
3 Tanah basah (700~950)
Sensor ini beroperasi pada tegangan 3.3
volt atau 5 volt, dengan konfigurasi penggunaan
pin seperti pada Gambar 31:
1 Analog output (kabel biru);
2 Ground (kabel hitam); dan
3 Power (kabel merah).
Gambar 29 Antarmuka manajemen XBee
device.
12

Gambar 31 Konfigurasi sensor Soil Moisture


pada Arduino.
Sistem Kontrol
Sistem kontrol merupakan sistem yang
berfungsi mengatur penyalaan aktuator dengan
referensi nilai hasil pembacaan sensor dari
pengambilan data. Dalam sistem kontrol ini Gambar 32 Konfigurasi sistem kontrol.
terdapat aturan yang membandingkan nilai
hasil pembacaan sensor dengan nilai dua Komunikasi XBee
threshold, threshold maksimum (atas) dan Seperti halnya komunikasi wireless lain,
threshold minimum (bawah). XBee juga memiliki keterbatasan dalam
Dengan adanya sistem kontrol ini, pengiriman data, seperti faktor jarak dan faktor
otomatisasi irigasi akan dapat penghalang. Untuk mengatasi kemungkinan
diimplementasikan dengan MCU Arduino. hilangnya data, dibuat file log pada field
Implementasi kontrol dengan MCU Arduino controller (Gambar 33) memanfaatkan modul
dilakukan melalui pemrograman board MCU SD card stackable Arduino. Dengan adanya file
Arduino dengan IDE Arduino-0023 melalui log yang tersimpan pada field controller, data
kabel USB serial menggunakan bahasa akan tercatat. Data yang dicatat pada file log
pemrograman C/C++. Contoh program untuk field controller yaitu: nilai hasil pembacaan
kontrol: sensor, threshold minimum, threshold
maksimum, informasi tanggal dan jam, serta
1 void setup () {
2 ... status aktuator.
3 void loop () {
4 ...
5 //kode program untuk membaca sensor
pada pin analog 0 dan kemudian
disimpan pada variabel sensorValue
6 ...
7 int sensorValue = analogRead(A0);
8
9 if ((sensorValue> tresBawah) &&
10 (sensorValue < tresAtas)){
11 digitalWrite(pinAktuator, HIGH);
12 }
13 else if ((sensorValue < tresBawah)&&
14 (sensorValue > tresAtas)){
15 digitalWrite(pinAktuator, LOW);
16 }
17 }
18

Gambar 33 Log field controller.


Untuk konfigurasi kontrol mirip seperti
pembacaan sensor, tetapi dengan penambahan Pada main controller, data yang diterima
aktuator pada pin 8 output digital. Pin output selain ditampilkan pada antarmuka seperti
digital apabila menyala atau HIGH akan Gambar 28 juga ditulis ke dalam file log harian
mengalirkan daya sehingga pada pin tersebut (Gambar 34) sehingga memudahkan
dapat menyalakan aktuator. Apabila pin digital pengambilan data dari field controller tanpa
dalam keadaan mati atau LOW, pin digital tidak pergi ke lapangan. File log harian pada main
mengalirkan daya. Konfigurasi kontrol dapat controller berisi nomor, nilai hasil pembacaan
dilihat pada Gambar 32. sensor, kategori tanah, informasi tanggal dan
13

jam, threshold minimum, threshold maksimum Berdasarkan hasil pengujian packet loss
status aktuator, dan status SD card pada field (Tabel 3) grafik persentase packet loss pada
controller. beberapa jarak dapat divisualisasikan. Grafik
persentase packet loss dapat dilihat pada
Gambar 36.
Packet loss
100
85.98
90
80
70

Persen (%)
60
50
40
30
18.64
20
10 0.00 0.00
0
10 20 30 40
Jarak (m)
Gambar 34 Log main controller.
Gambar 36 Persentase packet loss pada
Jangkauan XBee pada spesifikasinya beberapa jarak.
mencapai 30 meter untuk indoor dan 100 meter
Berdasarkan Gambar 36, dapat dilihat
outdoor. Agar dapat mengetahui jangkauan
bahwa komunikasi wireless XBee masih
yang sebenarnya dilakukan pengukuran dengan
berjalan dengan baik pada jarak kurang dari 20
melakukan pengambilan sampel data pada titik-
meter, dengan packet loss 0%. Angka ini
titik tertentu dengan jarak yang berbeda-beda
menunjukkan bahwa data yang dikirim dari
dan penghalang berupa dinding. Lokasi titik
field controller sepenuhnya masih dapat
pengambilan data dapat dilihat pada Gambar 35.
diterima oleh main controller. Akan tetapi pada
jarak 30 meter pengiriman paket data dari field
controller oleh main controller mengalami
beberapa kegagalan sehingga paket yang
diterima memiliki packet loss sebesar 18.64%.
Pada jarak 40 meter, data yang diterima oleh
main controller sangat sedikit, dengan besar
packet loss sebesar 85.98%. Hal ini
menandakan bahwa wireless XBee sudah tidak
optimal untuk jarak 40 meter atau lebih. Jadi,
Gambar 35 Lokasi pengambilan data. semakin besar jarak antara main controller dan
Apabila dari field controller paket data field controller packet loss akan semakin besar.
tidak sampai ke main controller, paket akan Pada pengukuran packet loss terdapat
hilang (packet loss). Penghitungan packet loss beberapa faktor yang mempengaruhi packet loss,
dilakukan dengan cara membandingkan data antara lain penghalang dinding dan jarak.
yang diterima oleh main controller dengan data Dinding merupakan penghalang sinyal XBee
yang dicatat pada field controller, kemudian yang cukup mengganggu sehingga memperkecil
dihitung persentase data yang hilang. Hasil jarak jangkau XBee coordinator dengan end
pengujian packet loss dapat dilihat pada Tabel 3. device. Selain itu juga terdapat bangunan di
Tabel 3 Pengujian packet loss samping titik pengambilan (titik 4). Hal ini
mempengaruhi sinyal XBee field controller.
Lokasi Jarak Main Field Packet
(m) Controller Controller Loss Untuk mengatasi jangkauan yang sempit
(banyak (banyak (%) perlu penambahan perangkat tambahan seperti
data) data) antena Yagi atau beberapa antena untuk
Titik 1 10 150 150 0 menambahkan gain sinyal XBee agar dalam
Titik 2 20 149 149 0 berkomunikasi dapat lebih baik lagi dan
jangkauan lebih luas sehingga apabila
Titik 3 30 122 150 19
diterapkan pada lahan pertanian lebih dapat
Titik 4 40 20 147 86 memberikan kinerja yang lebih baik.
14

KESIMPULAN DAN SARAN seperti logika fuzzy sehingga sistem kontrol


lebih baik. Untuk mengatasi packet loss perlu
Kesimpulan digunakan fungsi retries sebanyak 3 kali yang
Penelitian ini telah dapat melakukan dapat diaktifkan pada pengaturan XBee dengan
komunikasi data wireless XBee dengan X-CTU. Selain itu, perlu XBee yang lebih baru
protokol ZigBee (IEEE 802.15.4) pada daripada XBee Series 1 seperti XBee Pro yang
mikrokontroler unit Arduino UNO. API memiliki jangkauan yang lebih luas daripada
(Application Programming Interface) XBee XBee 1. Dengan demikian diharapkan beberapa
digunakan agar komunikasi menjadi lebih kekurangan pada penelitian ini dapat diatasi
fleksibel daripada komunikasi transparan. agar sistem ini dapat menjadi lebih baik lagi.

Pada main controller terdapat antarmuka


menggunakan Java yang membantu pengguna
DAFTAR PUSTAKA
dalam pengontrolan field controller seperti
pengaturan jam, pengaturan threshold minimum Arduino. Arduino. 2011. http://www.arduino.
dan threshold maksimum, pengaturan interval cc/ [22 Des 2011].
pengiriman data, manajemen device XBee,
DFRobot. 2012. Moisture Sensor
memonitor kondisi kelembaban tanah, status SD
(SKU:SEN0114). http://www.dfrobot.com
card, status aktuator, dan visualisasi data dalam
/wiki/index.php?title=Moisture_Sensor_(S
bentuk tabel maupun grafik. Agar data yang
KU:SEN0114) [30 Apr 2012].
diterima oleh main controller terklasifikasi dan
tercatat dengan baik, main controller juga Digi. 2008. XBee®/XBee-PRO® OEM RF
mencatat file log harian. File log ditulis dalam Modules. http://www.digi.com/support/
format CSV sehingga dapat dibuka dengan kbase/kbaseresultdetl.jsp?kb=135 [ 3 Jan
perangkat lunak seperti Microsoft Excel apabila 2012].
akan dilakukan pengolahan data. Pada field
Digi. 2011. ZigBee® Wireless Standard.
controller, terdapat modul SD card untuk
mencatat log agar data hasil pembacaan sensor http://www.digi.com/technology/rf-
articles/wireless-zigbee [26 Des 2011].
tercatat. Pencatatan log bertujuan sebagai
backup apabila data hasil pembacaan sensor Digi. 2012. X-CTU (XCTU) Software.
tidak terkirim ke main controller. Pengujian http://www.digi.com/support/kbase/kbaser
packet loss dilakukan untuk mengetahui jarak esultdetl.jsp?kb=125 [ 3 Jan 2012].
yang optimal untuk mengirimkan paket. Pada
penelitian ini didapat jarak yang masih dapat Ergen SC. 2004. ZigBee/IEEE 802.15.4
dijangkau dengan baik yaitu pada jarak 0 Summary. Berkeley: UC Berkeley.
hingga 20 meter dengan kondisi terhalang [FTDI] Future Technology Devices
dinding. International Ltd. 2012. USB -
Saran RS232/422/485 Modules. http://www.
ftdichip.com/Products/Modules/USBRSxxx
Pada penelitian ini masih terdapat .htm [3 Jan 2012].
kekurangan, seperti pendeteksian perangkat
XBee end device yang tersedia dalam jangkauan Hansen VE, Israelsen OW, Stringham GE.
XBee coordinator. Pendeteksian XBee end 1986. Dasar-dasar dan Praktek Irigasi.
device di sekitar akan memudahkan dalam Tachyan EP, penerjemah; Jakarta:
kontrol dari main controller melalui antarmuka. Erlangga. Terjemahan dari: Irrigation
Pada grafik juga masih terdapat kekurangan, Principles and Practices.
yaitu hasil pembacaan sensor belum dibedakan Nugroho AR. 2011. Rancang bangun modul
antar-device. Monitoring dua atau lebih field akuisisi data untuk sistem irigasi
controller masih memiliki kekurangan, seperti otomatis berbasis mikrokontroler
tidak sinkronnya penyajian pada antarmuka Arduino Duemilanove [skripsi].
berdasarkan interval pengiriman field controller. Bogor: Departemen Ilmu Komputer,
Penelitian ini belum mempertimbangkan faktor FMIPA, Institut Pertanian Bogor.
keamanan.
Safaric S, Malaric K. 2006. ZigBee Wireless
Pada penelitian selanjutnya sensor yang Standard. Zagreb: Faculty of Electrical
digunakan diharapkan lebih dari satu sehingga Engineering and Computing, University of
nilai dari pembacaan sensor lebih akurat dan Zagreb.
lebih mewakili lahan pertanian. Selain itu perlu
digunakan algoritme yang lebih baik lagi
15

Taehong K, Daeyoung K, Noseong P. 2007.


Shortcut tree routing in ZigBee networks.
Wireless Pervasive Computing 2:42-47.
16

LAMPIRAN
17

Lampiran 1 Blok diagram arsitektur AVR

Lampiran 2 Gambar dimensi XBee dan XBee Pro


18

Lampiran 3 Kode program MCU Arduino field controller.

1 /*Pendeklarasian header library yang digunakan*/


2
3 #include <WProgram.h>
4 #include <Wire.h>
5 #include <DS1307.h>
6
7 #include <XBee.h>
8 #include <NewSoftSerial.h>
9 #include <EEPROM.h>
10
11 #include <SdFat.h>
12
13
14
15 XBee xbee = XBee();
16
17 unsigned long start = millis();
18
19 /*banyak variabel untuk menangani pengiriman paket*/
20 uint8_t payload[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
21
22 // dengan Series 1 bisa menggunakan alamat 16-bit atau 64-bit
23
24 // Alamat 16-bit: alamat remote XBee, biasanya Coordinator
25 Tx16Request tx = Tx16Request(0x1234, payload, sizeof(payload));
26
27 XBeeResponse response = XBeeResponse();
28 // membuat response objects untuk menangani respon
29 Rx16Response rx16 = Rx16Response();
30
31
32 TxStatusResponse txStatus = TxStatusResponse();
33
34
35 const int chipSelect = 10;//pin chipset untuk sd card stackable
36
37 SdFat sd;
38 SdFile myFile;
39
40
41
42 //int statusLed = 13;
43 int pinAktuator = 8; //pin aktuator (dapat diganti sesuai kebutuhan)
44 int statAktuator=0; //status aktuator 0 mati 1 nyala
45 int statSD=0; //status SD card menulis
46 int rate;
47
48 //data yang akan dikirim
49 int sensorValue=0;
50 int jam;
51 int menit;
52 int detik;
53
54 int tanggal;
55 int bulan;
56 int tahun;
57 int ardInterval=0;
58
59 int rtc[7];
60 int addrSetPoint1 = 0;//alamat penyimpanan batas bawah
61 int addrSetPoint2= 1;
62
63 int addrSetPoint3 = 7;//alamat penyimpanan batas atas
64 int addrSetPoint4= 8;
65
66 int setPoint;//setpoint bawah
67 int setPoint2;//set point atas
68 int addrInterval1 = 10; //alamat penyimpanan interval
69 int addrInterval2 = 11;
70 int Interval;
71
19

Lanjutan
72 void setup() {
73 DDRC|=_BV(2) |_BV(3); // POWER:Vcc Gnd
74 PORTC |=_BV(3); // VCC PINC3
75 //pinMode(statusLed, OUTPUT);
76 pinMode(pinAktuator, OUTPUT);
77 //pinMode(pinAktuator, INPUT);
78
79 xbee.begin(9600);
80 sd.init(SPI_QUARTER_SPEED, chipSelect);
81 delay(1000);
82 }
83
84 void readXBee(){
85 xbee.readPacket();
86
87 if (xbee.getResponse().isAvailable()) {
88 // got something
89
90 if (xbee.getResponse().getApiId() == RX_16_RESPONSE) {
91 // menerima packet rx
92 xbee.getResponse().getRx16Response(rx16);
93 // data = rx16.getData(0);
94 if(rx16.getData(0)==1){
95 //menulis setpoint pada alamat penyimpanan arduino
96 EEPROM.write(addrSetPoint1, rx16.getData(1));
97 EEPROM.write(addrSetPoint2, rx16.getData(2));
98 EEPROM.write(addrSetPoint3, rx16.getData(3));
99 EEPROM.write(addrSetPoint4, rx16.getData(4));
100 //digitalWrite(statusLed, HIGH);
101 }
102 else if(rx16.getData(0)==2){//mode 2 set interval
103
104 // menulis interval pada alamat penyimpanan arduino
105 EEPROM.write(addrInterval1, rx16.getData(1));//nulis satuan
106 EEPROM.write(addrInterval2, rx16.getData(2));//nulis interval
107 }
108 else if(rx16.getData(0)==3){//mode 3 set jam
109 //pengaturan jam atau sync jam
110 RTC.stop();
111 RTC.set(DS1307_SEC,rx16.getData(3));
112 RTC.set(DS1307_MIN,rx16.getData(2));
113 RTC.set(DS1307_HR,rx16.getData(1));
114 RTC.set(DS1307_DOW,2);
115 RTC.set(DS1307_DATE,rx16.getData(4));
116 RTC.set(DS1307_MTH,rx16.getData(5));
117 RTC.set(DS1307_YR,rx16.getData(6));
118 RTC.start();
119 }
120
121
122 }
123 }
124 }
125
126
127
128
129
130 void sendXBee(int sensorValuex,int stat){
131 //xbee ambil
132 //pembacaan nilai pin analog sensor
133 statAktuator=digitalRead(pinAktuator);
134 sensorValue=sensorValuex;//
135 setPoint=parse10Bit(EEPROM.read(addrSetPoint1), EEPROM.read(addrSetPoint2));
136 setPoint2=parse10Bit(EEPROM.read(addrSetPoint3),
137 EEPROM.read(addrSetPoint4));
138
139
140
141
142
143
20

Lanjutan
144 // mulai trasmit setelah startup delay.
145 if (millis() - start > 15000) {
146
147 //pengenkapsulasi paket data untuk dikirim
148 payload[0] = sensorValue >> 8 & 0xff;
149 payload[1] = sensorValue & 0xff;
150
151 payload[2] = jam & 0xff;
152 payload[3] = menit & 0xff;
153 payload[4] = detik & 0xff;
154 payload[5] = tanggal & 0xff;
155 payload[6] = bulan & 0xff;
156 payload[7] = tahun & 0xff;
157
158 payload[8] = EEPROM.read(addrInterval1) & 0xff;
159 payload[9] = EEPROM.read(addrInterval2) & 0xff;
160 payload[10] = stat & 0xff;
161 payload[11] = statSD & 0xff;
162 payload[12] = setPoint >> 8 & 0xff;
163 payload[13] = setPoint & 0xff;
164 payload[14] = setPoint2 >> 8 & 0xff;
165 payload[15] = setPoint2 & 0xff;
166
167
168
169
170
171 xbee.send(tx);
172
173
174 }
175 }
176 //fungsi mengubah 8 bit menjadi 10bit
177 int parse10Bit(int msb, int lsb) {
178 msb = msb & 0xff;
179
180 // shift up bits 9 and 10 of the msb
181 msb = (msb & 0x3) << 8;
182
183 lsb = lsb & 0xff;
184
185 return msb + lsb;
186 }
187
188 void writeData(int sensorValue,int stat){
189 //tulis dalam file SD
190 myFile.print(sensorValue);
191 myFile.print(",");
192 myFile.print(setPoint);
193 myFile.print(",");
194 myFile.print(setPoint2);
195 myFile.print(",");
196 myFile.print(tanggal);
197 myFile.print("-");
198 myFile.print(bulan);
199 myFile.print("-");
200 myFile.print(tahun);
201 myFile.print(",");
202 myFile.print(jam);
203 myFile.print(":");
204 myFile.print(menit);
205 myFile.print(":");
206 myFile.print(detik);
207
208 if (stat==0){
209 myFile.print(",OFF");
210 }
211 else if (stat==1){
212 myFile.print(",ON ");
213 }
214
215 myFile.println();
21

Lanjutan
216 }
217
218 void loop() {
219 int stat; // status aktuator ON/OFF
220 int sensorValue = analogRead(A0); // Baca analog pin0
221
222 setPoint = parse10Bit(EEPROM.read(addrSetPoint1),
223 EEPROM.read(addrSetPoint2));//mengambil nilai setpoint
224 setPoint2 = parse10Bit(EEPROM.read(addrSetPoint3),
225 EEPROM.read(addrSetPoint4));//mengambil nilai setpoint
226
227 //rule membandingkan hasil pembacaan dengan setpoint
228 if ((sensorValue>setPoint) && (sensorValue <setPoint2)){
229 stat=1;
230 }
231 else if ((sensorValue<setPoint) && (sensorValue >setPoint2)){
232 stat=0;
233 }
234
235 if(stat==1){
236 digitalWrite(pinAktuator, HIGH);//menyalakan aktuator
237 }
238 else if(stat==0){
239 digitalWrite(pinAktuator, LOW);//mematikan aktuator
240 }
241
242
243
244
245 RTC.get(rtc,true);
246 jam=rtc[2];
247 menit=rtc[1];
248 detik=rtc[0];
249
250 tanggal=rtc[4];
251 bulan=rtc[5];
252 tahun=rtc[6]%2000;//agar 2 digit saja tahuunya
253
254
255
256 //pembuatan file atau mengeditya jika telah ada
257 if (myFile.open("log.csv", O_RDWR | O_CREAT | O_AT_END)){
258 statSD=1;
259 }
260
261 readXBee();
262
263 //menghitung waktu pengiriman disesuaikan dengan setting
264 int intervalSat=EEPROM.read(addrInterval1);//baca satuan menit/detik
265
266 if (intervalSat==0){
267 rate= detik % EEPROM.read(addrInterval2);
268 if (rate==0){
269 sendXBee(sensorValue,stat);//pengiriman data
270 writeData(sensorValue,stat);
271 }
272 }
273 else if (intervalSat==1 && detik==0){
274 rate= menit % EEPROM.read(addrInterval2);
275
276 if (rate==0){
277 sendXBee(sensorValue,stat);//pengiriman data
278 writeData(sensorValue,stat);
279 }
280 }
281
282
283 myFile.close();
284
285 delay(1000);
286 }
1

Das könnte Ihnen auch gefallen