RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI...

30
i RANCANG BANGUN KOMUNIKASI DATA WIRELESS MIKROKONTROLER MENGGUNAKAN MODUL XBEE ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

Transcript of RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI...

Page 1: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

i

DEPARTEMEN ILMU KOMPUTER

RANCANG BANGUN KOMUNIKASI DATA WIRELESS MIKROKONTROLER MENGGUNAKAN MODUL XBEE

ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR BOGOR

2012

Page 2: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

i

RANCANG BANGUN KOMUNIKASI DATA WIRELESS MIKROKONTROLER MENGGUNAKAN MODUL XBEE

ZIGBEE (IEEE 802.15.4)

KHAMDAN AMIN BISYRI

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR BOGOR

2012

Skripsi sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada Departemen Ilmu Komputer

Page 3: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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

Page 4: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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:

Page 5: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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

Page 6: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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.

Page 7: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

v

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

Page 8: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

vi

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

Page 9: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

vii

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

Page 10: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

1

PENDAHULUAN Latar Belakang

Irigasi merupakan penambahan kekurangan kadar air tanah secara buatan yakni dengan memberikan air secara teratur pada tanah yang diolah. Irigasi mempunyai ruang lingkup dari pengembangan sumber air, penyediaannya, penyaluran air dari sumber ke daerah pertanian, pembagian dan penjatahan pada areal. Pemberian air irigasi dapat dilakukan dalam lima cara: dengan penggenangan, menggunakan jalur, di bawah permukaan tanah, penyiraman (sprinkle), dan sistem tetesan (trickle) (Hansen et al. 1986).

Pada penelitian Nugroho (2011) dilakukan akuisisi data pada sistem irigasi otomatis menggunakan Arduino Duemilanove. Proses akuisisi data menggunakan sensor Floatswitch dan Thermocouple. Sensor ini membaca lingkungan sekitar kemudian mengubahnya ke dalam bentuk digital melalui Analog Digital Converter (ADC). Setelah pengkonversian ini selesai, data ditulis ke dalam media penyimpanan SD card melalui modul SD card. Dalam rancang bangun ini, komunikasi data antara controller dan komputer masih menggunakan kabel serial. Penggunaan kabel serial dalam berkomunikasi memiliki kekurangan seperti instalasi yang sulit dan kurang efisien apabila diterapkan pada sistem irigasi.

Penelitian kali ini menggunakan Micro Controller Unit (MCU) Arduino UNO dengan basis ATmega328. MCU Arduino UNO merupakan penyempurna MCU Arduino Duemilanove dengan koneksi USB yang lebih baru. Pada MCU Duemilanove, tipe interface USB yang digunakan ialah Future Technology Devices International (FTDI) chip FT232RL yang menggunakan driver untuk mengubah RS-232 atau TTL transmisi serial menjadi sinyal USB (FTDI 2011). MCU Arduino UNO menggunakan tipe interface USB chip atmega8u2. Kelebihan tipe interface USB ini adalah tidak memerlukan driver untuk sistem operasi Mac dan Windows versi terbaru, seperti layaknya interface USB mouse dan keyboard. Data hasil pembacaan sensor di controller lapangan dikirim ke komputer server melalui komunikasi wireless XBee Arduino yang mengimplementasikan protokol ZigBee.

Tujuan

Membangun komunikasi data secara wireless menggunakan protokol ZigBee atau IEEE 802.15.4 dari controller di lapangan (field

controller) ke komputer server (main controller).

Ruang Lingkup

Penelitian ini difokuskan pada pemrograman untuk komunikasi data antara MCU Arduino UNO di lapangan (field controller) dan komputer server menggunakan protokol ZigBee atau IEEE 802.15.4 yang diimplementasikan pada modul XBee Series 1.

Manfaat Penelitian

Manfaat dari penelitian ini adalah penggunaan protokol ZigBee atau IEEE 802.15.4 untuk komunikasi wireless dengan biaya yang murah sebagai alternatif dari Wireless Sensor Network (WSN). Protokol ini diimplementasikan pada modul XBee.

TINJAUAN PUSTAKA Arduino

Arduino merupakan rangkaian elektronik yang bersifat open source platform prototyping yang berbasis fleksibilitas serta memiliki perangkat keras dan perangkat lunak yang mudah untuk digunakan. Arduino dapat mengenali lingkungan dengan menerima input dari sensor, dapat mengatur mengatur lampu, motor, dan aktuator lainnya (Arduino 2011).

Arduino UNO ATmega328

Arduino UNO dengan dasar mikrokontroler ATmega328 adalah MCU yang memiliki 14 input/output digital (6 di antaranya dapat digunakan untuk output PWM), 6 input analog, 16 MHz crystal oscilator, USB connection, power jack, ICSP header, dan tombol reset. Output PWM adalah output analog pada pin digital Arduino yaitu pada pin digital 3,5,6,9,10, dan 11. Skema dari Arduino UNO tampak dari atas dapat dilihat pada Gambar 1 dengan ciri sebagai berikut:

1 Operating voltage 5V. 2 Rekomendasi input voltage 7-12V 3 Batas input voltage 6-20V. 4 Memiliki 14 buah input/output digital. 5 Memiliki 6 buah input analog. 6 DC Current setiap I/O Pin sebesar 40mA. 7 DC Current untuk 3.3V Pin sebesar

50mA. 8 Flash memory 32 KB. 9 SRAM sebesar 2 KB.

10 EEPROM sebesar 1 KB. 11 Clock Speed 16 MHz.

Page 11: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

2

Gambar 1 Skema Arduino UNO ATmega328

(Arduino 2011).

Arduino-0023

Arduino-0023 merupakan open-source Arduino environment yang digunakan untuk menuliskan kode program. Penulisan program dilakukan pada Arduino-0023 di komputer kemudian diunggah ke Arduino melalui kabel USB. Antarmuka Arduino-0023 dapat dilihat pada Gambar 2. Perangkat lunak Arduino-0023 memiliki dukungan untuk berberapa lingkungan sistem operasi seperti Windows, Mac OS X, dan Linux. Arduino environment ditulis dalam bahasa pemrograman Java dengan didasarkan pada processing, avr-gcc, dan program open source lainnya. Bahasa pemrograman untuk Arduino didasarkan pada bahasa pemrograman C/C++ serta terhubung dengan AVR Libc sehingga dapat menggunakan fungsi-fungsi yang terdapat pada AVR Libc. AVR Libc berisi fungsi yang digunakan untuk memanfaatkan AVR, seperti pengaturan register.

Gambar 2 Antarmuka Arduino-0023 (Arduino

2011).

Pada Arduino-0023, penggunaan AVR Libc dipermudah karena secara default library pada Arduino-0023 sudah mencakup AVR Libc tanpa harus tahu Libc mana yang yang digunakan. Ketika dalam penulisan kode

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 dan menjadi konektivitas berdaya rendah untuk peralatan yang memerlukan baterai untuk hidup selama beberapa bulan sampai beberapa tahun, tetapi tidak memerlukan kecepatan transfer data tinggi seperti Bluetooth. Selain itu, ZigBee dapat diimplementasikan dalam jaringan mesh yang lebih luas daripada yang mungkin dijangkau dengan Bluetooth. Perangkat nirkabel ZigBee diharapkan dapat digunakan untuk mengirimkan data sejauh 10-75 meter, tergantung pada lingkungan RF dan output konsumsi daya yang diperlukan untuk diberikan aplikasi. Perbandingan standar wireless dapat dilihat pada Tabel 1 (Safaric & Malaric 2006).

Tabel 1 Perbandingan standard wireless

Standard ZigBee 802.15.4

Bluetooth 802.15.1.4

Wi-Fi 802.11b

GSM/ GPRS

Aplikasi monitoring dan kontrol

pengganti kabel

web, video, e-mail

WAN, voice/ data

Resource 4kb-32kb 250kb+ 1Mb+ 16Mb+ Daya tahan

baterai (hari)

100-1000+ 1-7 0,1-5 1-7

Node per jaringan

256/65 k+ 7 30 1000

Bandwidth (kbps)

20-250 720 11000+ 64-128

Jangkauan (m)

1-75+ 1-10+ 1-100 1000+

Kelebihan handal, hemat daya, murah

Murah fleksibi-litas,ke-cepatan

jangkau-an,

kualitas

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 interoperable, menyediakan tes dukungan interoperabilitas, pemasaran teknik, dan standar terkini untuk evolusi standar. Hal ini akan menjamin konsumen yang membeli produk dari produsen berbeda yakin bahwa produk akan dapat bekerja bersama (Ergen 2004). Ilustrasi ZigBee protocol stack dapat dilihat pada Gambar 3.

Page 12: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

3

Gambar 3 ZigBee protocol stack (Taehong et

al. 2007).

Dari Gambar 3, dapat dilihat setiap lapisan pada protocol stack ZigBee memiliki fungsi yang berbeda. Fungsi setiap lapisan antara lain:

a Lapisan fisik (PHY)

Pada lapisan ini didefinisikan karakteristik radio channel dan dukungan band 2.45GHz dan 868/915MHz. Pada band 2.45GHz radio band memiliki data rate 250Kbps dan mendukung 16 channel. Band 868/915MHz mendukung satu channel untuk 868MHz dengan data rate 20Kbps dan 10 channel untuk 915MHz dengan data rate 40Kbps.

b Lapisan MAC

Lapisan MAC bertanggung jawab untuk single hop komunikasi data antar perangkat yang bertetangga. Hal ini mensinkronisasi jaringan, mendukung association/disassociation dan MAC-level security, serta memberikan link 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 keamanan untuk mengurangi storage yang dibutuhkan. Pada lapisan ini, diimplementasikan Advanced Encryption Standard (AES).

d Lapisan Application Framework

Lapisan Application framework memberikan fungsi perintah sesuai vendor dan penggunaan API.

e Lapisan Application/Profiles

Lapisan Application merupakan lapisan yang berhubungan dengan end user, seperti

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. 6 Enkripsi 128-bit AES untuk koneksi data

yang aman. 7 Menghindari collision, retries dan

acknowledgement (Digi 2011).

XBee

XBee merupakan modul yang memungkinkan Arduino untuk berkomunikasi secara wireless menggunakan protokol ZigBee. ZigBee beroperasi pada spesifikasi IEEE 802.15.4 radio fisik dan beroperasi pada band berlisensi termasuk 2.4 GHz, 900 MHz dan 868 MHz. Basis XBee berasal dari modul MaxStream. Modul ini memungkinkan komunikasi wireless dalam jangkauan hingga 30 meter (dalam ruangan) atau 100 meter (luar ruangan). XBee dapat digunakan sebagai pengganti kabel serial, dapat juga digunakan sebagai mode perintah untuk suatu broadcast, dan pilihan menghubungkan suatu jaringan. Gambar modul XBee dapat dilihat pada Gambar 4 (Arduino 2011).

Gambar 4 Modul XBee.

Pada dasarnya, XBee merupakan komunikasi serial. Akan tetapi, apabila mode API digunakan, dibutuhkan pemaketan data RF. Untuk itu, data akan di-buffer terlebih dahulu sebelum dikirim atau diterima. Flow data serial menjadi paket RF. Pada XBee apabila ada data input (DI), data akan masuk ke DI buffer. Setelah itu, input data akan diteruskan ke RF TX buffer, kemudian untuk mentransmisikan input data, posisi RF switch menjadi transmitter. Begitu juga sebaliknya, apabila ada data yang diterima, posisi RF switch menjadi

Page 13: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

4

receiver lalu data akan masuk RF RX buffer, kemudian data diteruskan ke DO buffer lalu menjadi data output (DO), kemudian DO diteruskan dari XBee ke host. Diagram data flow internal XBee dapat dilihat pada Gambar 5 (Digi 2008).

Gambar 5 Diagram data flow internal.

Modul RF interface XBee/XBee-PRO OEM berhubungan dengan melalui logic-level asynchronous serial port. Melalui serial port ini, modul dapat berkomunikasi dengan logic dan voltage kompatibel Universal Asynchronous Receiver-Transmitter (UART) atau melalui level translator ke semua serial device contohnya pada RS-232 atau USB interface board. UART atau Universal Asynchronous Receiver-Transmitter adalah bagian perangkat keras komputer yang menerjemahkan bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat peripheral. Device yang memiliki interface UART dapat terhubung langsung pada pin modul RF. Sistem data flow diagram padaUART dapat dilihat pada Gambar 6 (Digi 2008).

Gambar 6 Sistem data flow diagram pada

lingkungan UART.

Pada mode operasi XBee Application Programming Interface (API), data yang masuk diurutkan pada frame sesuai dengan urutan yang telah ditentukan. Data frame yang berurutan ini akan membantu dalam proses membedakan command, command response, dan status pengiriman. API frame dapat dilihat pada Gambar 7 (Digi 2008).

Gambar 7 API frame XBee.

1 Frame Delimiter: merupakan suatu bit (0x7E) yang menjadi pemisah antara satu frame dan frame yang lain.

2 Length: menyatakan bit informasi panjang frame API. Frame length terdiri atas Most 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 utama dari API. Frame data pada penelitian ini terdapat dua jenis yaitu transmit (TX) dan receive (RX). Paket transmit (TX) 16 bit address berisi:

API id cmdData 0x01 Frame

id Destination Address

Option RF Data

MSB LSB Byte 4 Byte 5 Byte

6 Byte

7 Byte 8 Byte 9-n

Gambar 8 Paket TX 16 bit address.

Keterangan Gambar 8:

a API identifier Berisi informasi jenis paket, 0x01 menandakan paket merupakan paket TX.

b cmdData Pengidentifikasi struktur data spesifik yang berisi: 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 tujuan paket. Destination address terdiri atas Most Significant Bit (MSB) menyatakan bit signifikan pada representasi biner alamat 16 bit perangkat tujuan dan Least Significant Bit (LSB) menyatakan bit kurang signifikan pada representasi biner alamat 16 bit perangkat tujuan .

Options (Byte 8) Berisi pilihan untuk menyesuaikan 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 dikirimkan (pada kali ini nilai sensor)

Page 14: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

5

dengan ukuran data kurang dari 100 Bytes.

Paket receive (RX) 16 bit address berisi: API id cmdData 0x81 Source

Address RSSI Option RF Data

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 Significant Bit (LSB) menyatakan bit kurang signifikan pada representasi biner alamat 16 bit perangkat sumber .

RSSI Received Signal Strength Indicator (-dBm) menyatakan kekuatan sinyal.

Options (Byte 8) Berisi pilihan untuk menyesuaikan paket dengan kebutuhan, pilihan tersebut antara lain: Bit 0 reserved Bit 1: address broadcast Bit 2: PAN Broadcast Bit 3-7: reserved

RF Data Merupakan data utama yang diterima (pada kali ini nilai sensor) dengan ukuran data kurang dari 100 Bytes.

4 Checksum: Untuk menguji integritas API frame.

X-CTU

X-CTU merupakan perangkat lunak yang digunakan untuk mengonfigurasi dan menguji radio modem MaxStream. Pemberian alamat pada XBee dilakukan melalui X-CTU. X-CTU juga dapat mengkonfigurasi XBee menjadi coordinator ataupun menjadi end device. Selain itu, pengaturan retries pada XBee juga dapat dilakukan. X-CTU mendukung XBee Series 1 maupun XBee Pro. Antarmuka X-CTU dapat dilihat pada Gambar 10.

Gambar 10 Antarmuka X-CTU. Fitur dari X-CTU (Digi 2012) antara lain:

1 Dukungan untuk semua produk MaxStream.

2 Terintegrasi dengan jendela terminal. 3 Mudah menggunakan tes kisaran

loopback. 4 Menampilkan Received Signal Strength

Indictator (RSSI). 5 Upgrade firmware modul RF di lapangan

pada semua modul XCite dan XStream modul versi 4.29 dan yang lebih tinggi.

6 Menampilkan kedua karakter ASCII dan heksadesimal pada jendela terminal.

7 Tulis paket tes baik dalam ASCII atau heksadesimal untuk transmisi pada antarmuka terminal.

8 Menyimpan dan mengambil konfigurasi modul yang umum digunakan (profil).

9 Secara otomatis mendeteksi jenis modul. 10 Pengaturan parameter ke default pabrik. 11 Tampilan membantu tentang parameter

radio. 12 Program radio profil dalam lingkungan

produksi dengan menggunakan antarmuka baris perintah.

13 Mengintegrasikan dengan Labview dan produksi perangkat lunak uji lain melalui antarmuka baris perintah.

Sensor Soil Moisture (SKU:SEN0114)

Sensor Soil Moisture merupakan sensor yang dapat mengukur kelembaban tanah di sekitar sensor dengan mengambil nilai resistansi.

Page 15: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

6

Sensor ini memiliki dua probes untuk mengalirkan arus listrik melalui tanah, kemudian membaca nilai arus listrik sebagai nilai kelembaban tanah. Semakin banyak kandungan air, arus listrik akan lebih mudah dihantarkan (resistansi kecil) sehingga nilai kelembaban tanah semakin besar. Sebaliknya jika tanah mengandung sedikit air (kering) maka arus listrik akan susah dihantarkan sehingga resistansi besar maka nilai kelembaban tanah menjadi kecil. Sensor Soil Moisture dapat dilihat pada Gambar 11 (DFRobot 2012).

Gambar 11 Sensor Soil Moisture.

Topologi Star

Topologi star merupakan topologi jaringan yang sederhana dengan konfigurasi jaringan berbentuk seperti bintang. Dalam topologi star, komunikasi terjadi antara end device dan satu pusat kontrol yang disebut Personal Area Network (PAN) coordinator. PAN coordinator pada penelitian ini berupa XBee coordinator. Contoh penerapan topologi ini pada beberapa aplikasi di antaranya Home Automation dan Personal Computer (PC) Peripherals. Setelah XBee coordinator diaktifkan, XBee ini dapat membangun jaringannya sendiri dan menjadi PAN coordinator. Setiap jaringan memiliki PAN identifier yang berbeda-beda agar setiap jaringan beroperasi secara independen (Ergen 2004).

METODE PENELITIAN

Penelitian ini dibagi ke dalam beberapa tahapan, yaitu analisis, perancangan arsitektur, perancangan komunikasi data, pembangunan model, implementasi sistem, dan pengujian. Alur metode penelitian dapat dilihat pada Gambar 12.

Analisis

Pada tahap ini, dilakukan analisis terhadap sistem irigasi yang sudah ada. Pada penelitian sebelumnya dilakukan rancang bangun modul akuisisi data untuk sistem irigasi otomatis berbasis mikrokontroler unit Arduino Duemilanove. Sistem ini hanya mencakup lingkup controller di lapangan dan data yang disimpan dalam modul SD card. Komunikasi data ke controller utama (komputer server) masih menggunakan kabel serial. Penggunaan kabel serial dalam sistem irigasi instalasinya sulit dan tidak efisien karena antara main controller dan field controller memiliki jarak dengan penghalang seperti dinding. Oleh sebab itu, komunikasi wireless dibangun memanfaatkan protokol ZigBee yang diimplementasikan pada modul XBee dengan MCU Arduino UNO.

Sistem komunikasi Wireless Sensor Network (WSN) dari National Instrument, telah tersedia di pasaran dengan setup yang cukup mudah, akan tetapi membutuhkan biaya yang besar apabila dibanding dengan membangun sendiri menggunakan XBee. Oleh karena itu, XBee dipilih karena dapat digunakan sebagai alternatif dari WSN National Instrument.

Analisis

Perancangan Arsitektur

Perancangan Komunikasi Data

Pembangunan Model Irigasi

Implementasi Sistem

Pengujian dan Pengambilan Data

Gambar 12 Metode penelitian.

Page 16: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

7

Perancangan Arsitektur

Sistem irigasi otomatis akan memiliki dua bagian yaitu: main controller dan field controller. Pada field controller terdapat sensor yang berfungsi mengambil nilai analog dari lingkungan. Jika input analog, controller akan mengubahnya dahulu ke dalam bentuk digital. Kemudian input ditransmisikan ke mikrokontroler. Penyimpan data berupa modul SD card yang dipasang pada MCU. Data dari sensor akan ditulis ke dalam memori penyimpanan SD card sebagai logger. Aktuator merupakan alat yang merupakan wujud aksi dari mikrokontroler, seperti motor, katup buka tutup, atau switch on off relay. Modul XBee digunakan untuk menghubungkan field controller dengan main controller. Perancangan arsitektur dapat dilihat pada Gambar 13.

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 15 XBee USB adapter.

Pada penelitian ini, sensor yang digunakan adalah Soil Moisture. Sensor ini mengambil nilai dari kelembaban tanah. Blok diagram field controller dapat dilihat pada Gambar 16. Blok diagram pada field controller ini memiliki flow chart yang menjelaskan alur kerja dari field controller dari pembacaan nilai sensor, kontrol, penulisan log dan pengiriman paket. Alur kerja dapat dilihat pada Gambar 17.

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

XBee Mikrokontroler Sensor

Aktuator

Penyimpanan Data

Gambar 16 Blok diagram rancang bangun sistem menggunakan Soil Moisture.

Gambar 17 Flow chart rancang bangun sistem field controller.

Page 17: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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.

Pada field controller setelah proses kontrol

selesai proses selanjutnya adalah proses pembacaan paket XBee. Proses pembacaan paket XBee berfungsi untuk mengetahui jika ada paket dari main controller yang berisi pengaturan-pengaturan field controller. Apabila paket XBee diterima, field controller akan mengklasifikasi jenis perintah sesuai dengan bit penanda yang telah ditentukan, yaitu:

1 bit penanda 1 untuk pengaturan threshold.

2 bit penanda 2 untuk pengaturan interval.

3 bit penanda 3 untuk sinkronisasi jam.

Proses pembacaan paket XBee dapat dilihat pada Gambar 19.

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 Sensor

Jam dan Tanggal

Status Aktuator

Status SD Card

Nilai Threshold

Byte 9,10 Byte 11-16 Byte 17 Byte 18 Byte 19-22 Gambar 20 RF Data pada API frame TX field

controller.

1 Nilai Sensor Nilai sensor merupakan nilai hasil pembacaan sensor pada pin analog 0.

2 Jam dan Tanggal Pada Byte ini terdapat informasi jam dan tanggal pada saat pengambilan nilai sensor. Jam dengan format HH:MM:SS dan tanggal dengan format YY-MM-DD.

3 Status Aktuator Status Aktuator merupakan Byte berisi informasi nyala tidaknya aktuator pada field controller.

4 Status SD card

Gambar 18 Flow chart rancang bangun control dengan sensor soil moisture.

Page 18: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

9

Status SD card merupakan Byte yang berisi informasi ketersediaan SD card logger pada field controller.

5 Nilai Threshold Nilai threshold merupakan nilai batas yang menjadi acuan apakah kontrol sistem akan menyalakan atau mematikan aktuator.

Saat menerima paket ini main controller membaca paket data yang masuk (RX), kemudian main controller akan membaca RF data. Setelah itu, RF data di-parsing untuk ditampilkan pada antarmuka main controller

Pada saat main controller melakukan pengiriman paket, API frame RF Data berisi data pengaturan. Ilustrasi dapat dilihat pada Gambar 21.

RF Data Bit

penanda Parameter setting

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 Parameter setting berisi parameter-parameter setting yang digunakan untuk mengatur interval, nilai threshold atau sinkronisasi waktu.

a Apabila bit penanda “1” (pengaturan threshold), parameter berisi nilai threshold. Ilustrasi dapat diihat pada Gambar 22.

Parameter Setting Threshold Minimum Threshold Maksimum

Byte 10,11 Byte 12,13 Gambar 22 Parameter Setting RF Data pada

API frame TX main controller untuk bit penanda 1.

b Apabila bit penanda “2” (pengaturan interval), parameter berisi nilai interval. Ilustrasi dapat dilihat pada Gambar 23.

Parameter Setting Satuan interval Nilai interval

Byte 10 Byte 11 Gambar 23 Parameter Setting RF Data pada

API frame TX main controller untuk bit penanda 2.

c Apabila bit penanda “3” (sinkronisasi waktu), parameter berisi detil waktu dan tanggal. Ilustrasi dapat dilihat pada Gambar 24.

Parameter Setting Detik Menit Jam Tanggal Bulan Tahun Byte 10

Byte 11

Byte 12

Byte 13 Byte 14 Byte 15

Gambar 24 Parameter Setting RF Data pada API frame TX main controller untuk bit penanda 3.

Perancangan Antarmuka Main Controller

Pada perancangan antarmuka main controller, dibuat suatu layout yang akan diimplementasikan pada pemrograman Java pada main controller agar monitoring dan kontrol terhadap field controller lebih mudah dan intuitif. Layout mencakup kebutuhan antarmuka untuk fungsi-fungsi Perancangan layout dapat dilihat pada Gambar 25.

Gambar 25 Layout antarmuka.

Perancangan antarmuka main controller secara umum dibagi menjadi dua bagian, yaitu bagian kiri dan bagian kanan. Bagian kiri antarmuka merupakan bagian untuk monitoring, terdapat combo box berisi daftar COM port dan tombol connect dan disconnect. Di bawah combo box terdapat tabel view dari data yang diterima dari field controller. Bagian kanan merupakan bagian untuk kontrol, terdapat tombol connect dan disconnect untuk kontrol terhadap field controller. Terdapat pula combo box nama XBee end device yang akan dikontrol. Selain itu pada bagian kanan juga terdapat tombol untuk menyesuaikan (sinkronisasi) tanggal dan jam pada field controller agar sama dengan jam pada komputer main controller. Di bawah tombol sinkronisasi jam terdapat input untuk mengatur nilai treshlod minimum dan threshold maksimum pada sistem kontrol field controller. Pada bagian kanan bawah terdapat combo box untuk mengatur besaran interval dan untuk satuan interval terdapat radio button detik dan menit sebagai pilihan interval waktu

Page 19: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

10

pengiriman data dari field controler ke main controller.

Pembangunan Model Irigasi

Pada tahap ini dilakukan pemodelan dari sistem irigasi otomatis yang akan dibuat. Pemodelan mencakup lingkungan dan alat-alat yang akan digunakan dan menggambarkan ilustrasi komunikasi dari main controller dan field controller. Untuk field controller, alat yang digunakan: 1 MCU Arduino UNO; 2 Sensor Soil Moisture; 3 Aktuator LED; 4 Modul SD card stackable; 5 XBee Shield; dan 6 XBee Series 1 end device.

Untuk main controller alat yang digunakan: 1 Komputer; 2 USB Adapter; dan 3 XBee Series 1 coordinator.

Ilustrasi pembangunan model dari sistem dapat dilihat pada Gambar 26.

Gambar 26 Pembangunan model.

Pada main controller terdapat XBee Series

1 yang difungsikan sebagai coordinator, XBee ini terhubung dengan komputer melalui XBee USB adapter. Main controller terletak dalam ruangan sehingga memudahkan dalam pengontrolan maupun monitoring. Pada field controller, XBee difungsikan sebagai end device. XBee terhubung dengan Arduino melalui XBee shield. Field controller terletak di luar ruangan, namun harus masih dalam

jangkauan XBee coordinator agar dapat berkomunikasi dengan baik.

Implementasi

Pada tahap ini hasil perancangan arsitektur akan diterapkan pada perancangan model. Langkah awal yaitu XBee dipasangkan dengan XBee USB adapter kemudian dihubungkan dengan komputer yang telah terpasang perangkat lunak X-CTU. Melalui X-CTU, XBee dikonfigurasi alamat, PAN ID, dan fungsinya sebagai end device/Reduced Function Device (RFD) atau sebagai coordinator/Full Function Device (FFD). Setelah dikonfigurasi, XBee end device akan dipasangkan pada field controller, sedang XBee coordinator akan dipasangkan pada komputer main controller. Untuk MCU Arduino, program ditulis dengan environment Arduino-0023 menggunakan bahasa pemrograman C/C++, kemudian diunggah ke mikrokontroler melalui USB Serial.

Pengujian dan Pengambilan Data

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

(m) Main

Controller (banyak

data)

Field Controller

(banyak data)

Packet Loss (%)

Titik 1

Titik 2

Titik 3

Titik 4

HASIL DAN PEMBAHASAN Antarmuka Main Controller

Antarmuka main controller dikembangkan menggunakan Java dengan IDE Netbeans. Tampilan utama antarmuka dapat dilihat pada Gambar 27.

Page 20: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

11

Gambar 27 Antarmuka main controller.

Pada bagian kiri terdapat bagian monitoring seperti pada Gambar 28. Bagian ini berfungsi menampilkan data yang diterima oleh main controller. Data ditampilkan dalam bentuk tabel agar lebih memudahkan dalam pembacaan. Data yang baru masuk maka akan menjadi baris (record) baru pada tabel.

Gambar 28 Bagian monitoring pada antarmuka.

Pada bagian monitoring terdapat tombol

XBee Device untuk memanajemen daftar nama XBee beserta alamatnya. Antarmuka manajemen XBee Device dapat dilihat pada Gambar 29. Pada bagian ini selain dapat menambahkan device baru, pengguna dapat pula mengedit device ataupun menghapus dari daftar device.

Gambar 29 Antarmuka manajemen XBee

device.

Fungsi plot juga terdapat pada bagian monitoring. Grafik ini merupakan visualisasi plot (Gambar 30) dari nilai hasil pembacaan sensor terhadap satuan waktu.

Gambar 30 Grafik hasil pembacaan sensor.

Pengambilan Data

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 4 5 6 7 8

... void loop () { ... //kode program untuk membaca sensor pada pin analog 0 dan kemudian disimpan pada variabel sensorValue ... int sensorValue = analogRead(A0); }

Pada penelitian ini digunaan sensor Soil

Moisture (SKU:SEN0114), sensor ini dapat mengetahui kandungan air pada lingkungan. Menurut produsen sensor ini (dfrobot) sensor ini mengkategorikan kandungan air pada lingkungan menjadi 3 antara lain:

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).

Page 21: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

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 terdapat aturan yang membandingkan nilai hasil pembacaan sensor dengan nilai dua threshold, threshold maksimum (atas) dan threshold minimum (bawah).

Dengan adanya sistem kontrol ini, otomatisasi irigasi akan dapat diimplementasikan dengan MCU Arduino. Implementasi kontrol dengan MCU Arduino dilakukan melalui pemrograman board MCU Arduino dengan IDE Arduino-0023 melalui kabel USB serial menggunakan bahasa pemrograman C/C++. Contoh program untuk kontrol: 1 void setup () { 2 3 4 5

6 7 8 9

10 11 12 13 14 15 16 17 18

... void loop () { ... //kode program untuk membaca sensor pada pin analog 0 dan kemudian disimpan pada variabel sensorValue ... int sensorValue = analogRead(A0); if ((sensorValue> tresBawah) && (sensorValue < tresAtas)){ digitalWrite(pinAktuator, HIGH); } else if ((sensorValue < tresBawah)&& (sensorValue > tresAtas)){ digitalWrite(pinAktuator, LOW); } }

Untuk konfigurasi kontrol mirip seperti pembacaan sensor, tetapi dengan penambahan aktuator pada pin 8 output digital. Pin output digital apabila menyala atau HIGH akan mengalirkan daya sehingga pada pin tersebut dapat menyalakan aktuator. Apabila pin digital dalam keadaan mati atau LOW, pin digital tidak mengalirkan daya. Konfigurasi kontrol dapat dilihat pada Gambar 32.

Gambar 32 Konfigurasi sistem kontrol.

Komunikasi XBee

Seperti halnya komunikasi wireless lain, XBee juga memiliki keterbatasan dalam pengiriman data, seperti faktor jarak dan faktor penghalang. Untuk mengatasi kemungkinan hilangnya data, dibuat file log pada field controller (Gambar 33) memanfaatkan modul SD card stackable Arduino. Dengan adanya file log yang tersimpan pada field controller, data akan tercatat. Data yang dicatat pada file log field controller yaitu: nilai hasil pembacaan sensor, threshold minimum, threshold maksimum, informasi tanggal dan jam, serta status aktuator.

Gambar 33 Log field controller.

Pada main controller, data yang diterima selain ditampilkan pada antarmuka seperti Gambar 28 juga ditulis ke dalam file log harian (Gambar 34) sehingga memudahkan pengambilan data dari field controller tanpa pergi ke lapangan. File log harian pada main controller berisi nomor, nilai hasil pembacaan sensor, kategori tanah, informasi tanggal dan

Page 22: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

13

jam, threshold minimum, threshold maksimum status aktuator, dan status SD card pada field controller.

Gambar 34 Log main controller.

Jangkauan XBee pada spesifikasinya mencapai 30 meter untuk indoor dan 100 meter outdoor. Agar dapat mengetahui jangkauan yang sebenarnya dilakukan pengukuran dengan melakukan pengambilan sampel data pada titik-titik tertentu dengan jarak yang berbeda-beda dan penghalang berupa dinding. Lokasi titik pengambilan data dapat dilihat pada Gambar 35.

Gambar 35 Lokasi pengambilan data.

Apabila dari field controller paket data tidak sampai ke main controller, paket akan hilang (packet loss). Penghitungan packet loss dilakukan dengan cara membandingkan data yang diterima oleh main controller dengan data yang dicatat pada field controller, kemudian dihitung persentase data yang hilang. Hasil pengujian packet loss dapat dilihat pada Tabel 3.

Tabel 3 Pengujian packet loss Lokasi Jarak

(m) Main

Controller (banyak

data)

Field Controller

(banyak data)

Packet Loss (%)

Titik 1 10 150 150 0

Titik 2 20 149 149 0

Titik 3 30 122 150 19

Titik 4 40 20 147 86

Berdasarkan hasil pengujian packet loss (Tabel 3) grafik persentase packet loss pada beberapa jarak dapat divisualisasikan. Grafik persentase packet loss dapat dilihat pada Gambar 36.

Gambar 36 Persentase packet loss pada

beberapa jarak.

Berdasarkan Gambar 36, dapat dilihat bahwa komunikasi wireless XBee masih berjalan dengan baik pada jarak kurang dari 20 meter, dengan packet loss 0%. Angka ini menunjukkan bahwa data yang dikirim dari field controller sepenuhnya masih dapat 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, semakin besar jarak antara main controller dan field controller packet loss akan semakin besar.

Pada pengukuran packet loss terdapat beberapa faktor yang mempengaruhi packet loss, antara lain penghalang dinding dan jarak. Dinding merupakan penghalang sinyal XBee yang cukup mengganggu sehingga memperkecil jarak jangkau XBee coordinator dengan end device. Selain itu juga terdapat bangunan di samping titik pengambilan (titik 4). Hal ini mempengaruhi sinyal XBee field controller.

Untuk mengatasi jangkauan yang sempit perlu penambahan perangkat tambahan seperti antena Yagi atau beberapa antena untuk menambahkan gain sinyal XBee agar dalam berkomunikasi dapat lebih baik lagi dan jangkauan lebih luas sehingga apabila diterapkan pada lahan pertanian lebih dapat memberikan kinerja yang lebih baik.

0.00 0.00

18.64

85.98

0102030405060708090

100

10 20 30 40

Pers

en (%

)

Jarak (m)

Packet loss

Page 23: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

14

KESIMPULAN DAN SARAN Kesimpulan

Penelitian ini telah dapat melakukan komunikasi data wireless XBee dengan protokol ZigBee (IEEE 802.15.4) pada mikrokontroler unit Arduino UNO. API (Application Programming Interface) XBee digunakan agar komunikasi menjadi lebih fleksibel daripada komunikasi transparan.

Pada main controller terdapat antarmuka menggunakan Java yang membantu pengguna dalam pengontrolan field controller seperti pengaturan jam, pengaturan threshold minimum dan threshold maksimum, pengaturan interval pengiriman data, manajemen device XBee, memonitor kondisi kelembaban tanah, status SD card, status aktuator, dan visualisasi data dalam bentuk tabel maupun grafik. Agar data yang diterima oleh main controller terklasifikasi dan tercatat dengan baik, main controller juga mencatat file log harian. File log ditulis dalam format CSV sehingga dapat dibuka dengan perangkat lunak seperti Microsoft Excel apabila akan dilakukan pengolahan data. Pada field controller, terdapat modul SD card untuk mencatat log agar data hasil pembacaan sensor tercatat. Pencatatan log bertujuan sebagai backup apabila data hasil pembacaan sensor tidak terkirim ke main controller. Pengujian packet loss dilakukan untuk mengetahui jarak yang optimal untuk mengirimkan paket. Pada penelitian ini didapat jarak yang masih dapat dijangkau dengan baik yaitu pada jarak 0 hingga 20 meter dengan kondisi terhalang dinding.

Saran

Pada penelitian ini masih terdapat kekurangan, seperti pendeteksian perangkat XBee end device yang tersedia dalam jangkauan XBee coordinator. Pendeteksian XBee end device di sekitar akan memudahkan dalam kontrol dari main controller melalui antarmuka. Pada grafik juga masih terdapat kekurangan, yaitu hasil pembacaan sensor belum dibedakan antar-device. Monitoring dua atau lebih field controller masih memiliki kekurangan, seperti tidak sinkronnya penyajian pada antarmuka berdasarkan interval pengiriman field controller. Penelitian ini belum mempertimbangkan faktor keamanan.

Pada penelitian selanjutnya sensor yang digunakan diharapkan lebih dari satu sehingga nilai dari pembacaan sensor lebih akurat dan lebih mewakili lahan pertanian. Selain itu perlu digunakan algoritme yang lebih baik lagi

seperti logika fuzzy sehingga sistem kontrol lebih baik. Untuk mengatasi packet loss perlu digunakan fungsi retries sebanyak 3 kali yang dapat diaktifkan pada pengaturan XBee dengan X-CTU. Selain itu, perlu XBee yang lebih baru daripada XBee Series 1 seperti XBee Pro yang memiliki jangkauan yang lebih luas daripada XBee 1. Dengan demikian diharapkan beberapa kekurangan pada penelitian ini dapat diatasi agar sistem ini dapat menjadi lebih baik lagi.

DAFTAR PUSTAKA Arduino. Arduino. 2011. http://www.arduino.

cc/ [22 Des 2011].

DFRobot. 2012. Moisture Sensor (SKU:SEN0114). http://www.dfrobot.com /wiki/index.php?title=Moisture_Sensor_(SKU:SEN0114) [30 Apr 2012].

Digi. 2008. XBee®/XBee-PRO® OEM RF Modules. http://www.digi.com/support/ kbase/kbaseresultdetl.jsp?kb=135 [ 3 Jan 2012].

Digi. 2011. ZigBee® Wireless Standard. http://www.digi.com/technology/rf-articles/wireless-zigbee [26 Des 2011].

Digi. 2012. X-CTU (XCTU) Software. http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 [ 3 Jan 2012].

Ergen SC. 2004. ZigBee/IEEE 802.15.4 Summary. Berkeley: UC Berkeley.

[FTDI] Future Technology Devices International Ltd. 2012. USB - RS232/422/485 Modules. http://www. ftdichip.com/Products/Modules/USBRSxxx.htm [3 Jan 2012].

Hansen VE, Israelsen OW, Stringham GE. 1986. Dasar-dasar dan Praktek Irigasi. Tachyan EP, penerjemah; Jakarta: Erlangga. Terjemahan dari: Irrigation Principles and Practices.

Nugroho AR. 2011. Rancang bangun modul akuisisi data untuk sistem irigasi otomatis berbasis mikrokontroler Arduino Duemilanove [skripsi]. Bogor: Departemen Ilmu Komputer, FMIPA, Institut Pertanian Bogor.

Safaric S, Malaric K. 2006. ZigBee Wireless Standard. Zagreb: Faculty of Electrical Engineering and Computing, University of Zagreb.

Page 24: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

15

Taehong K, Daeyoung K, Noseong P. 2007. Shortcut tree routing in ZigBee networks. Wireless Pervasive Computing 2:42-47.

Page 25: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

16

LAMPIRAN

Page 26: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

17

Lampiran 1 Blok diagram arsitektur AVR

Lampiran 2 Gambar dimensi XBee dan XBee Pro

Page 27: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

18

Lampiran 3 Kode program MCU Arduino field controller.

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

/*Pendeklarasian header library yang digunakan*/ #include <WProgram.h> #include <Wire.h> #include <DS1307.h> #include <XBee.h> #include <NewSoftSerial.h> #include <EEPROM.h> #include <SdFat.h> XBee xbee = XBee(); unsigned long start = millis(); /*banyak variabel untuk menangani pengiriman paket*/ uint8_t payload[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // dengan Series 1 bisa menggunakan alamat 16-bit atau 64-bit // Alamat 16-bit: alamat remote XBee, biasanya Coordinator Tx16Request tx = Tx16Request(0x1234, payload, sizeof(payload)); XBeeResponse response = XBeeResponse(); // membuat response objects untuk menangani respon Rx16Response rx16 = Rx16Response(); TxStatusResponse txStatus = TxStatusResponse(); const int chipSelect = 10;//pin chipset untuk sd card stackable SdFat sd; SdFile myFile; //int statusLed = 13; int pinAktuator = 8; //pin aktuator (dapat diganti sesuai kebutuhan) int statAktuator=0; //status aktuator 0 mati 1 nyala int statSD=0; //status SD card menulis int rate; //data yang akan dikirim int sensorValue=0; int jam; int menit; int detik; int tanggal; int bulan; int tahun; int ardInterval=0; int rtc[7]; int addrSetPoint1 = 0;//alamat penyimpanan batas bawah int addrSetPoint2= 1; int addrSetPoint3 = 7;//alamat penyimpanan batas atas int addrSetPoint4= 8; int setPoint;//setpoint bawah int setPoint2;//set point atas int addrInterval1 = 10; //alamat penyimpanan interval int addrInterval2 = 11; int Interval;

Page 28: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

19

72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

void setup() { DDRC|=_BV(2) |_BV(3); // POWER:Vcc Gnd PORTC |=_BV(3); // VCC PINC3 //pinMode(statusLed, OUTPUT); pinMode(pinAktuator, OUTPUT); //pinMode(pinAktuator, INPUT); xbee.begin(9600); sd.init(SPI_QUARTER_SPEED, chipSelect); delay(1000); } void readXBee(){ xbee.readPacket(); if (xbee.getResponse().isAvailable()) { // got something if (xbee.getResponse().getApiId() == RX_16_RESPONSE) { // menerima packet rx xbee.getResponse().getRx16Response(rx16); // data = rx16.getData(0); if(rx16.getData(0)==1){ //menulis setpoint pada alamat penyimpanan arduino EEPROM.write(addrSetPoint1, rx16.getData(1)); EEPROM.write(addrSetPoint2, rx16.getData(2)); EEPROM.write(addrSetPoint3, rx16.getData(3)); EEPROM.write(addrSetPoint4, rx16.getData(4)); //digitalWrite(statusLed, HIGH); } else if(rx16.getData(0)==2){//mode 2 set interval // menulis interval pada alamat penyimpanan arduino EEPROM.write(addrInterval1, rx16.getData(1));//nulis satuan EEPROM.write(addrInterval2, rx16.getData(2));//nulis interval } else if(rx16.getData(0)==3){//mode 3 set jam //pengaturan jam atau sync jam RTC.stop(); RTC.set(DS1307_SEC,rx16.getData(3)); RTC.set(DS1307_MIN,rx16.getData(2)); RTC.set(DS1307_HR,rx16.getData(1)); RTC.set(DS1307_DOW,2); RTC.set(DS1307_DATE,rx16.getData(4)); RTC.set(DS1307_MTH,rx16.getData(5)); RTC.set(DS1307_YR,rx16.getData(6)); RTC.start(); } } } } void sendXBee(int sensorValuex,int stat){ //xbee ambil //pembacaan nilai pin analog sensor statAktuator=digitalRead(pinAktuator); sensorValue=sensorValuex;// setPoint=parse10Bit(EEPROM.read(addrSetPoint1), EEPROM.read(addrSetPoint2)); setPoint2=parse10Bit(EEPROM.read(addrSetPoint3), EEPROM.read(addrSetPoint4));

Lanjutan

Page 29: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

20

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215

// mulai trasmit setelah startup delay. if (millis() - start > 15000) { //pengenkapsulasi paket data untuk dikirim payload[0] = sensorValue >> 8 & 0xff; payload[1] = sensorValue & 0xff; payload[2] = jam & 0xff; payload[3] = menit & 0xff; payload[4] = detik & 0xff; payload[5] = tanggal & 0xff; payload[6] = bulan & 0xff; payload[7] = tahun & 0xff; payload[8] = EEPROM.read(addrInterval1) & 0xff; payload[9] = EEPROM.read(addrInterval2) & 0xff; payload[10] = stat & 0xff; payload[11] = statSD & 0xff; payload[12] = setPoint >> 8 & 0xff; payload[13] = setPoint & 0xff; payload[14] = setPoint2 >> 8 & 0xff; payload[15] = setPoint2 & 0xff; xbee.send(tx); } } //fungsi mengubah 8 bit menjadi 10bit int parse10Bit(int msb, int lsb) { msb = msb & 0xff; // shift up bits 9 and 10 of the msb msb = (msb & 0x3) << 8; lsb = lsb & 0xff; return msb + lsb; } void writeData(int sensorValue,int stat){ //tulis dalam file SD

myFile.print(sensorValue); myFile.print(","); myFile.print(setPoint); myFile.print(","); myFile.print(setPoint2); myFile.print(","); myFile.print(tanggal); myFile.print("-"); myFile.print(bulan); myFile.print("-"); myFile.print(tahun); myFile.print(","); myFile.print(jam); myFile.print(":"); myFile.print(menit); myFile.print(":"); myFile.print(detik);

if (stat==0){ myFile.print(",OFF"); } else if (stat==1){ myFile.print(",ON "); } myFile.println();

Lanjutan

Page 30: RANCANG BANGUN KOMUNIKASI DATA WIRELESS … · ZIGBEE (IEEE 802.15.4) KHAMDAN AMIN BISYRI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM ... 1 Perbandingan

21

216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286

} void loop() { int stat; // status aktuator ON/OFF

int sensorValue = analogRead(A0); // Baca analog pin0

setPoint = parse10Bit(EEPROM.read(addrSetPoint1), EEPROM.read(addrSetPoint2));//mengambil nilai setpoint

setPoint2 = parse10Bit(EEPROM.read(addrSetPoint3), EEPROM.read(addrSetPoint4));//mengambil nilai setpoint

//rule membandingkan hasil pembacaan dengan setpoint if ((sensorValue>setPoint) && (sensorValue <setPoint2)){ stat=1; } else if ((sensorValue<setPoint) && (sensorValue >setPoint2)){ stat=0; } if(stat==1){ digitalWrite(pinAktuator, HIGH);//menyalakan aktuator } else if(stat==0){ digitalWrite(pinAktuator, LOW);//mematikan aktuator } RTC.get(rtc,true); jam=rtc[2]; menit=rtc[1]; detik=rtc[0]; tanggal=rtc[4]; bulan=rtc[5]; tahun=rtc[6]%2000;//agar 2 digit saja tahuunya //pembuatan file atau mengeditya jika telah ada if (myFile.open("log.csv", O_RDWR | O_CREAT | O_AT_END)){ statSD=1; }

readXBee();

//menghitung waktu pengiriman disesuaikan dengan setting int intervalSat=EEPROM.read(addrInterval1);//baca satuan menit/detik

if (intervalSat==0){ rate= detik % EEPROM.read(addrInterval2); if (rate==0){ sendXBee(sensorValue,stat);//pengiriman data writeData(sensorValue,stat); } } else if (intervalSat==1 && detik==0){ rate= menit % EEPROM.read(addrInterval2); if (rate==0){ sendXBee(sensorValue,stat);//pengiriman data writeData(sensorValue,stat); } } myFile.close(); delay(1000); }

1

Lanjutan