RANCANG BANGUN MONITORING SISTEM IRIGASI OTOMATIS BERBASIS GSM/GPRS
ROCHIYAT
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012
RANCANG BANGUN MONITORING SISTEM IRIGASI OTOMATIS BERBASIS GSM/GPRS
ROCHIYAT
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
ABSTRACT ROCHIYAT. Design of Automatic Irrigation Monitoring System Based on GSM/GPRS. Under the supervision of SRI WAHJUNI and SATYANTO KRIDO SAPTOMO. Irrigation is a human attempt to irrigate farmland. Various efforts have been done to build the concept of irrigation. However, the real implementation may create different problems. Basically, irrigation is related with the accessibility of ground water, which gives a large contribution to increase the agricultural production. A good irrigation system that can provide water in the correct level, amount, and time is required. The irrigation system should be well planned, designed, and operated efficiently to increase the agricultural production and ease of use in their operations. This research is a part of IMHERE IPB activity on the event of strengthening agricultural research for food security and sovereignty: advanced infrastructure for food security and sovereignty. The focus of this research is the development of automated irrigation system for food production lan d based on the data communication using GSM/GPRS. Arduino microcontroller was used as a client with GSM/GPRS shield to communicate with the internet as the server. Soil moisture was used as the sensor to detect the water content of farmland. LED was used t o represent the real actuator of irrigation. If the water content detected by the sensor is less than 300, the actuator at the client will be turned on. In the system, data collected by the sensor was immediately sent to the server. Utilizing this scheme, it was found that the average time for connecting Arduino client to the server without delay was 40 seconds. The system was also tested by giving a certain delay, where sensor data was collected every 10, 30, and 60 seconds after the previous data from client was received correctly by the server. The results showed that there was no data loss due to the communication from Arduino client to the server. Furthermore, the data delivery was not affected by the addition of delay on the system. Keyword: GSM/GPRS, irrigation, client, server, Arduino, soil moisture, actuator.
Judul Nama NRP
: Rancang Bangun Monitoring Sistem Irigasi Otomatis Berbasis GSM/GPRS : Rochiyat : G64070021
Menyetujui: Pembimb ing I,
Pembimbing II,
Ir. Sri Wahjuni, M.T. NIP. 19680501 200501 2 001
Dr. Satyanto K. Saptomo, S.TP, M.Si NIP. 19730411 200501 1 002
Mengetahui : Ketua Departemen Ilmu Komputer
Dr. Ir. Agus Buono, M.Si, M.Kom NIP. 19660702 199302 1 001
Tanggal Lulus :
PRAKATA Alhamdulillahirobbil’alamin segala puji bagi Allah yang telah memberikan kenikmatan islam, iman, dan ihsan. Shalawat serta salam penulis sampaikan kepada Nabi Muhammad Shallallahu’alaihiwasallam, keluarganya, sahabatnya, dan para pengikutnya. Skripsi yang berjudul “Rancang Bangun Monitoring Sistem Irigasi Otomatis Berbasis GSM/GPRS” dapat diselesaikan karena nikmat Allah Subhanahuwata’ala berupa akal untuk berpikir, ilmu yang bermanfaat dan hati yang tergerak untuk melakukan hal yang bermanfaat. Serta pihak-pihak yang membantu dalam penyelesaian skripsi ini. Terima kasih kepada IPB melalui hibah penelitian IMHERE B2C IPB pada kegiatan strengthening agricultural research for food security and sovereignty pada sub kegiatan advanced infrastructure for food security and sovereignty atas dukungan dana dan penyediaan alat dalam melaksanakan penelitian ini. Penulis menyadari bahwa skripsi ini dapat diselesaikan karena dukungan dan doa dari berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada: 1
Orang tua tercinta, Ibu Ropiah, kakak-kakak yang saya sayangi Ropiudin, S.TP, M.TP, Rodiyah, Rosniati, dan Rosmadewi, S.P serta adik yang saya sayangi Rosnalia. Semoga Allah Subhanahuwata’ala membalas kebaikan dan doanya.
2
Ibu Ir. Sri Wahjuni, M.T dan Bapak Dr. Satyanto K Saptomo, S.TP, M.Si selaku dosen pembimbing tugas akhir. Terima kasih atas kesabaran, pengalaman serta ilmu yang diberikan. Semoga Allah Subhanahuwata’ala mencatatnya sebagai amalan kebaikan yang mengalir terus menerus.
3
Ibu Karlisa Priandana, S.T, M.Eng selaku dosen penguji pada ujian skripsi. Semoga saya dapat memberikan yang terbaik dalam ujian.
4
Bapak Hari Agung, S.Kom, M.Si selaku dosen pembimbing akademik. Berkat bapak saya bisa berjalan sesuai dengan arah yang benar, terutama saat mengambil mata kuliah.
5
Teman-teman satu bimbingan: Khamdan Amin Bisyri, Rendy Eka Saputra, Akbar Riyan Nugroho, Sulma Mardiana, Zola Mukhda, dan Catur yang memberikan dorongan, semangat, dan solusi dalam menyelesaikan tugas akhir ini. Semoga Allah Subhanahuwata’ala membalas kebaikannya.
6
Teman-teman satu organisasi KSR PMI Unit I IPB yang telah memberikan masukan, dorongan, dan mengingatkan baik langsung maupun tidak langsung dalam sikap menghadapi kehidupan serta penyelesaian tugas akhir. Semoga Allah Subhanahuwata’ala membalas kebaikannya.
7
Teman-teman satu bisnis: Irvan Nova Sagita, Seken Polansky, Andi Zulmiziar Marwandana, Fitria Pratiwi, Maghfirah Rizki, Sri Wahyuni Muhammade, Eka, Fian, dan Neneng serta mentor-mentor saya Ade Riswanto, Agustinus Arifin, Djulita Arifin, Chistina, Johannes, Rully Wahab, Erna Wahab, Widyo, Tono, Robert Angkasa, Mitch Sala, dan Jim Dornan yang telah mengajarkan kepribadian, karakter, tujuan hidup, dreams, kewirausahaan, prinsip-prinsip, dan pola pikir sebagai bekal dalam menempuh kehidupan di dunia untuk kehidupan akhirat.
8
Seluruh staf Departemen Ilmu Komputer dan teman-teman seperjuangan IPB yang telah banyak membantu baik selama penelitian maupun selama perkuliahan. Semoga Allah Subhanahuwata’ala membalas kebaikannya. Penulis meminta maaf karena menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak kekurangan dan kelemahan dalam berbagai hal karena keterbatasan kemampuan penulis. Penulis berharap semoga tugas akhir ini bermanfaat dan menjadi amal yang mengalir terus menerus sehingga dapat dibalas di akhirat.
Bogor, September 2012
Rochiyat
RIWAYAT HIDUP Penulis dilahirkan di Desa Astanalanggar Dukuh, Kecamatan Losari, Kabupaten Cirebon, Jawa Barat pada tanggal 1 Juni 1989. Penulis merupakan anak kelima dari enam bersaudara dari orang tua yang luar biasa, yaitu Romli dan Ropiah. Penulis menempuh pendidikan formal di SD Negeri 2 Astanalanggar Dukuh (1995-2000), SD Negeri 1 Losari Kidul (2001), SMP Negeri 1 Losari (2001-2004), dan SMA Negeri 5 Cirebon (2004-2007). Penulis masuk Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor (IPB) pada tahun 2007 melalui jalur Undangan Seleksi Masuk IPB. Selama aktif sebagai mahasiswa, penulis mengikuti beberapa organisasi, yaitu Korp Sukarela Palang Merah Indonesia Unit I Institut Pertanian Bogar (KSR PMI Unit I IPB), Himpunan Mahasiswa Ilmu Komputer (Himalkom), Forum for Scientific Studies (FORCES), Koperasi Mahasiswa (KOPMA), Serambi Ruhiyah FMIPA (SERUM G), dan Ikatan Kekeluargaan Cirebon (IKC).
DAFTAR ISI Halaman DAFTAR TABEL ................................................................................................................................................. vi DAFTAR GAM BAR ............................................................................................................................................ vi DAFTAR LAMPIRAN ........................................................................................................................................ vi PENDAHULUAN Latar Belakang ................................................................................................................................................... 1 Tujuan Penelit ian ............................................................................................................................................... 1 Ruang Lingkup Penelitian ................................................................................................................................ 1 TINJAUAN PUSTAKA Mikrokontroler Arduino Uno ATMega328 .................................................................................................. 1 Arduino 1.0 ......................................................................................................................................................... 1 GPRS ................................................................................................................................................................... 2 GSM/ GPRS Shield ............................................................................................................................................ 2 Sensor Kelembaban Tanah .............................................................................................................................. 2 METODE PENELITIA N Perencanaan ........................................................................................................................................................ 3 Analisis................................................................................................................................................................ 3 Rancangan Sistem ............................................................................................................................................. 3 Implementasi ...................................................................................................................................................... 4 Pengujian............................................................................................................................................................. 4 HASIL DAN PEMBAHASAN Perancangan Sistem .......................................................................................................................................... 4 Implementasi ...................................................................................................................................................... 6 Pengujian............................................................................................................................................................. 6 KESIMPULAN DAN SARAN Kesimpulan ......................................................................................................................................................... 8 Saran .................................................................................................................................................................... 8 DAFTAR PUSTA KA ............................................................................................................................................ 9 LAMPIRA N .......................................................................................................................................................... 10
v
DAFTAR TABEL Halaman 1 Perbandingan standar GSM/ GPRS ............................................................................................................ 2 2 Fungsi-fungsi pada server ........................................................................................................................... 6 3 Pengujian pengiriman data pada tampilan ................................................................................................ 8
DAFTAR GAMBAR Halaman
1 Arduino Uno ATMega328 (Durfee 2011).............................................................................................. 1 2 Arduino 1.0 .................................................................................................................................................. 2 3 ICo msat v1.1 GSM/ GPRS Shield (ITead Studio 2011) ....................................................................... 2 4 Sensor kelembaban tanah (sumber: www.dfrobot.com) ...................................................................... 3 5 System Development Life Cycle (McLeod & Schell 2008) ................................................................. 3 6 Perencanaan arsitektur sistem................................................................................................................... 3 7 Rancangan arsitektur sistem ..................................................................................................................... 4 8 Ko munikasi GSM/ GPRS Shield dan Arduino ....................................................................................... 4 9 Ko munikasi GSM/ GPRS Shield dengan server .................................................................................... 5 10 Layout antarmuka login user .................................................................................................................... 5 11 Layout antarmuka data............................................................................................................................... 5 12 Layout antarmuka grafik ........................................................................................................................... 5 13 Flow chart sistem secara keseluruhan..................................................................................................... 6 14 Perancangan basis data .............................................................................................................................. 6 15 Kode koneksi GPRS................................................................................................................................... 6 16 Fungsi login ................................................................................................................................................. 6 17 Login berhasil .............................................................................................................................................. 7 18 Login gagal .................................................................................................................................................. 7 19 Berhasil logout ............................................................................................................................................ 7 20 Fungsi convert table to excel .................................................................................................................... 7 21 Grafik kelembaban tanah dan aktuator ................................................................................................... 7 22 Kode pengiriman data ................................................................................................................................ 7 23 Kode Arduino pada fungsi loop() ............................................................................................................ 8
DAFTAR LAMPIRAN Halaman 1 Diagram blo k arsitektur A VR................................................................................................................... 11 2 Gambar d imensi GSM/ GPRS Shield....................................................................................................... 11 3 Kode program sketch Arduino untuk pengiriman data menggunakan GSM/ GPRS Shield ........... 12 4 Harga dan alat yang digunakan dalam penelitian .................................................................................. 13 5 Access Point Name (APN), username, dan password provider GSM ............................................... 13
vi
1
PENDAHULUAN Latar Belakang Irigasi merupakan upaya yang dilakukan manusia untuk mengairi lahan pertanian. Banyak upaya yang dilakukan dalam melakukan irigasi, tetapi pada penerapannya dibutuhkan cara yang berbeda. Pada dasarnya, irigasi berhubungan dengan ketersediaan air tanah. Air tanah telah memberikan kontribusi yang besar bagi peningkatan produksi pertanian. Oleh sebab itu, dibutuhkan sistem irigasi yang dapat menyediakan air dalam tingkat, jumlah, dan waktu yang dibutuhkan. Sistem irigasi tersebut harus direncanakan, dirancang, dan dioperasikan secara efisien sehingga dapat meningkatkan produksi pertanian dan memudahkan penggunaan dalam pengoperasiannya. Perencanaan sistem irigasi tersebut merupakan bagian kegiatan IMHERE IPB pada kegiatan strengthening agricultural research for food security and sovereignty pada sub kegiatan advanced infrastructure for food security and sovereignty. Pelaksanaan kegiatan ini akan mengkaji development of automated irrigation system for food production land dengan fokus penelitian pada komunikasi data menggunakan GPRS dari Arduino sebagai client ke internet sebagai server.
memodelkan aktuator. Pembangunan sistem ini pada area model.
TINJAUAN PUSTAKA Mikrokontroler Arduino Uno ATMega328 Arduino merupakan papan rangkaian elektronik yang bersifat open-source serta memiliki perangkat keras dan lunak yang mudah untuk digunakan. Arduino dapat mengenali lingkungan sekitarnya melalui berbagai jenis sensor dan dapat mengendalikan lampu, motor, dan berbagai jenis aktuator lainnya. Arduino Uno ATMega328 mempunyai 14 digital input/output di antaranya, 6 dapat digunakan untuk Pulse Width Modulation (PWM) outputs, 6 analog inputs, 16 MHz crystal oscillator, USB connection, power jack , ICSP header, dan reset button. Gambar Arduino Uno ATmega328 dapat dilihat pada Gambar 1 dengan ciri-ciri sebagai berikut: operating voltage 5V, rekomendasi input voltage 7-12 V, batas input voltage 6-20V, memiliki 14 buah digital input/output, memiliki 6 buah analog input, DC current setiap I/O pin sebesar 40 mA, DC current untuk 3.3 V pin sebesar 50 mA, flash memory 32 KB, SRAM 2 KB, EEPROM 1 KB, dan clock speed 16 MHz (Durfee 2011).
Penelitian ini merupakan lanjutan dari penelitian yang dilakukan oleh Nugroho (2011), yaitu membangun modul akuisisi data dari mikrokontroler ke komputer menggunakan komunikasi serial kemudian dilanjutkan oleh Bisyri (2012), yaitu membangun sistem komunikasi data dari mikrokontroler ke komputer menggunakan ZigBee IEEE 802.15.4. Tujuan Penelitian Penelitian ini bertujuan untuk membangun sistem monitoring irigasi otomatis berbasis GSM/GPRS sehingga sistem dapat mempermudah pemonitoran data dari jarak jauh sesuai dengan jangkauan area sinyal provider GSM yang digunakan. Ruang Lingkup Penelitian Penelitian ini difokuskan pada pembangunan sistem monitoring irigasi otomatis berupa pengiriman data dari Arduino di lapangan ke server di pusat pengontrol menggunakan GSM/GPRS shield dan sensor yang digunakan adalah sensor kelembaban tanah dan Light Emitting Diode (LED) untuk
Gambar 1 Arduino Uno ATMega328 (Durfee 2011) Arduino 1.0 Arduino 1.0 merupakan open-source Arduino environment yang digunakan untuk penulisan kode. Arduino 1.0 digunakan untuk menulis kode yang akan diunggah pada board Arduino. Penulisan kode menggunakan Arduino 1.0 dapat mempermudah programmer dalam membuat program untuk Arduino. Software pada Gambar 2 dapat digunakan pada platform Windows, Mac OS X, dan Linux. Arduino environment ditulis dalam bahasa Java didasarkan pada Processing,
2
AVR-GCC, dan open source software lainnya. Bahasa pemrograman 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 fungsifungsi yang digunakan untuk menggunakan AVR, seperti pengaturan register. Apabila pada penulisan program membutuhkan AVR Libc tertentu, header dapat ditambahkan pada kode program tersebut (Reas & Fry 2010).
Tabel 1 Perbandingan standar GSM/GPRS Standard Aplikasi
ZigBee 802.15.4
Bluetooth Wi-Fi GSM/ 802.15.1.4 802.11b GPRS web, WAN, monitoring pengganti video, voice/ dan kontrol kabel e-mail data 4kb-32kb 250kb+ 1Mb+ 16Mb+
Resource Daya tahan baterai 100-1000+ (hari) Bandwidth 20-250 (kbps) Jangkauan 1-75+ (m) handal, hemat Kelebihan daya, murah
1-7
0,1-5
1-7
720
11000+
64-128
1-10+
1-100
1000+
murah
fleksibi- jangkaulitas,kean, cepatan kualitas
GSM/GPRS Shield
Gambar 2 Arduino 1.0. GPRS General Packet Radio Service (GPRS) adalah layanan komunikasi nirkabel berbasis paket data yang dikirimkan sebagai overlay jaringan untuk jaringan GSM, CDMA, dan TDMA (ANSI-I36). GPRS menerapkan prinsip radio paket untuk mentransfer paket data pengguna secara efisien dan jaringan paket data eksternal. Arduino akan mengirimkan data berupa paket data kepada server. Paket swichting sebagai tempat data dibagi menjadi paket-paket yang dikirimkan secara terpisah kemudian dipasang kembali pada penerima. GPRS juga memberikan koneksi dial-up yang terkoneksi ke internet. Selain GPRS terdapat komunikasi ZigBee 802.15.4, Bluetooth 802.15.4, dan Wi-Fi 802.11b yang dapat digunakan pada Arduino. Menurut Safaric & Malaric pada tahun 2006, perbandingan komunikasi tersebut dapat dilihat pada Tabel 1.
GSM/GPRS Shield merupakan perangkat tambahan untuk mendukung kinerja Arduino pada komunikasi GSM/GPRS yang dapat berupa SMS, call, GPRS, TCP/IP, tweet, email, dan lain sebagainya. GSM/GPRS Shield dapat dilihat pada Gambar 3. GSM/GPRS Shield menggunakan modul SIM900 quad-band GSM/GPRS. Modul ini dapat dikendalikan menggunakan perintah AT Command berupa GSM 07.07, 07.05 dan perintah AT SIMCOM yang sudah ditingkatkan (ITead Studio 2011). GSM/GPRS ini berfungsi untuk mengirim data dari Arduino ke server. Pengiriman ini berupa paket data yang dikirimkan pada selang waktu tertentu sehingga data dapat dimonitor dari server.
Gambar 3 IComsat v1.1 GSM/GPRS Shield (ITead Studio 2011) Sensor Kelembaban Tanah Sensor kelembaban tanah yang dapat dilihat pada Gambar 4 berfungsi mengukur kadar air dalam tanah. Sensor kelembaban tanah dapat digunakan untuk mengukur kapasitansi dan kelembaban
3
neutron dengan memanfaatkan sifat air dalam tanah. Penggunaan sensor ini didasarkan pada dua elektroda yang mengukur resistansi tanah. Sensor ini bekerja dengan menggunakan dua probe untuk melewati arus yang melalui tanah kemudian membaca resistensi untuk mendapatkan tingkat kelembaban. Jika tanah basah, tanah mudah menghantarkan listrik (resistensi rendah), sedangkan jika tanah kering, tanah susah menghantarkan listrik (resistensi tinggi).
Internet Internet
Mikrokontrol er Arduino Uno dan GSM/ GPRS Shield
BTS BTS
Solar cell
Sensor
Aktuator
Gambar 6 Perencanaan arsitektur sistem.
Analisis
Gambar 4 Sensor kelembaban tanah (sumber: www.dfrobot.com).
METODE PENELITIAN Tahapan pembangunan sistem ini mengikuti standar metode pengembangan System Development Life Cycle (SDLC). Adapun fase-fase yang terdapat pada SDLC meliputi fase perencanaan (planning), fase analisis (analysis), fase perancangan (design), fase implementasi (implementation), dan fase penggunaan (McLeod & Schell 2008), seperti yang terlihat pada Gambar 5.
Gambar 5 System Development Life Cycle (McLeod & Schell 2008).
Proses analisis sistem dilakukan untuk mengetahui kebutuhan sistem yang akan dibangun. Analisis ini dilakukan terhadap sistem irigasi yang sudah ada di Departemen Teknik Sipil dan Lingkungan (SIL) dan alat monitoring pertanian dari decagon device. Penelitian sebelumnya yang dikerjakan oleh Nugroho (2011), mencakup controller di lapangan, penyimpanan data pada SD card, dan komunikasi data menggunakan kabel serial. Sistem irigasi pada penelitian ini memanfaatkan GPRS sebagai media komunikasi data untuk memudahkan monitoring dari jarak jauh. Decagon device menggunakan komunikasi GPRS, media penyimpanan, mikrokontroler, dan sensor yang embedded pada satu sistem tetapi membutuhkan biaya yang besar dibandingkan membangun sendiri. Pada penelitian ini merupakan bagian dari fungsi alat pada decagon device yaitu komunikasi GPRS. Sistem komunikasi GPRS dipilih karena jangkauan sinyal GPRS luas mengikuti sinyal GSM provider tertentu pada suatu wilayah sehingga biaya maintenance komunikasi lebih murah, hanya memerlukan biaya paket internet.
Perencanaan
Rancangan Sistem
Pada tahap ini dilakukan proses deskripsi ide pembangunan yang akan diterapkan pada sistem. Ide tersebut mencakup beberapa rangkaian dan fungsi. Perancangan sistem dapat dilihat pada Gambar 6.
Rancangan sistem yang dilakukan pada penelitian ini terdiri atas beberapa sub pekerjaan, yaitu: Rancangan Arsitektur Sistem Rancangan arsitektur sistem bertujuan menentukan bentuk sistem komunikasi pada mikrokontroler yang akan diterapkan dalam sistem yang akan dibangun.
4
Rancangan Komunikasi Data
Rancangan Arsitektur Sistem
Komunikasi serial digunakan antara sensor, aktuator, Arduino Uno, dan GSM/GPRS Shield. Komunikasi serial ini terjadi dua arah (double duplex). Serial port merupakan hal yang terpenting dalam Arduino karena serial port memudahkan hubungan Arduino dengan GSM/GPRS Shield.
Rancangan arsitektur sistem dapat dilihat pada Gambar 7. Field Controller (Client)
Main Controller (Server) Internet
GPRS
Rancangan Antarmuka Server Tahapan ini dilakukan untuk menentukan rancangan antarmuka yang dapat mempermudah manajemen sistem monitoring data sensor dan pengelolaan server. Perancangan antarmuka lebih fokus pada antarmuka server secara keseluruhan. Aplikasi server dibuat menggunakan bahasa pemrograman PHP. Rancangan Diagram Alir Sistem Perancangan diagram alir sistem dilakukan untuk memberikan gambaran tentang skenario alur proses kerja sistem, pengambilan data dan pengiriman data melalui komunikasi GPRS. Perancangan Basis Data Perancangan basis data meliputi penentuan tabel-tabel yang digunakan sistem untuk menyimpan data-data yang dibutuhkan, basis data ini ada pada server. Implementasi Rancangan ini dilakukan pada lingkungan model. Tahap awal perancangan sistem dengan memasang Arduino Uno dan GSM/GPRS Shield yang telah terpasang kartu GSM. Kemudian Arduino disambungkan dengan sensor dan aktuator untuk pengambilan data dan kontrol sistem pada lingkungan. Aktuator menggunakan LED sebagai indikator. Setelah semua terpasang, upload program pada Arduino. Sensor akan membaca kemudian dikirim ke server selama 10, 30, atau 60 detik.
HASIL DAN PEMBAHASAN
Sensor
Aktuator
Gambar 7 Rancangan arsitektur sistem. Sistem ini dibagi menjadi dua bagian yaitu field controller (client) dan main controller (server). Pada sisi client terdapat mikrokontroler Arduino Uno, sensor, aktuator, dan GSM/GPRS Shield. Bagian kedua adalah server yang menerima data dari client. Rancangan Komunikasi Data Komunikasi data dibagi menjadi dua bagian yaitu komunikasi Arduino dengan GSM/GPRS Shield dan GSM/GPRS Shield dengan server. Bagian pertama adalah komunikasi GSM/GPRS Shield dengan Arduino. Serial port pada Arduino terdiri atas dua pin yaitu RDX dan TDX, RDX berfungsi untuk menerima data dari GSM/GPRS Shield, sedangkan TDX berfungsi untuk mengirim data ke GSM/GPRS Shield. Port RXD GSM/GPRS Shield dihubungkan dengan RXD Arduino, sedangkan port TXD GSM/GPRS Shield dihubungkan dengan TXD pada Arduino. Pada Arduino, port RXD mewakili pin 0 digital dan port TXD, mewakili pin 1 digital. Pada GSM/GPRS Shield, port RXD mewakili jumper 2, dan port TXD mewakili jumper 3. Komunikasi GSM/GPRS Shield dan Arduino dapat dilihat pada Gambar 8. RXD
Pengujian Tahapan pengujian yang dilakukan terdiri atas pengujian koneksi GPRS, fungsi-fungsi pada server, dan pengiriman data ke server.
Mikro kontroller
ATMega328P TXD
TXD
SIM900 RXD
Arduino Uno GSM/GPRS Shield
Perancangan Sistem Rancangan sistem yang dilakukan pada penelitian ini terdiri atas beberapa sub pekerjaan, yaitu:
Gambar 8 Komunikasi GSM/GPRS Shield dan Arduino Bagian kedua adalah komunikasi antara GSM/GPRS Shield dan server. Komunikasi
5
memerlukan sinyal GPRS agar dapat mengirimkan data. Sinyal GPRS disediakan oleh provider GSM yang digunakan pada sistem. Data-data akan dikirim berupa paket data setiap 10, 30, atau 60 detik sekali. Datadata yang dikirimkan akan disimpan pada basis data kemudian ditampilkan pada server. Basis data pada server menggunakan MySQL dan antarmuka server menggunakan bahasa pemrograman PHP. Komunikasi GSM/GPRS Shield dan server dapat dilihat pada Gambar 9.
Basis data
Server Internet Internet
Webpage
Data Grafik Logout
Data Sensor No.
Sensor
Aktuator
Waktu
next xls
Gambar 11 Layout antarmuka data. Client
Data Grafik Logout
BTS BTS Mikrokontroler Arduino Uno dan GSM/GPRS
Grafik
Gambar 9 Komunikasi GSM/GPRS Shield dengan server. Rancangan Antarmuka Server Antarmuka server memudahkan pengguna dalam mengakses dan memonitor data dari lapangan. Pertama, user harus melakukan login seperti yang dapat dilihat pada Gambar 10. Halaman login user bertujuan untuk mengamankan data dari user yang tidak terdaftar. Kemudian akan diperlihatkan halaman data dan grafik. Antarmuka data pada Gambar 11 untuk memudahkan pemonitoran data dari lapangan, sedangkan antarmuka grafik pada Gambar 12 digunakan untuk memudahkan user secara visualisasi data dari lapangan.
Login User Username Password Login
Gambar 10 Layout antarmuka login user.
Nilai Sensor
Aktuator
Sensor
Shield
Waktu
Gambar 12 Layout antarmuka grafik. Rancangan Diagram Alir Sistem Rancangan diagram alir sistem dibagi menjadi dua bagian, yaitu pembacaan data dan pengiriman data. Bagian pertama adalah pembacaan data dari sensor kelembaban tanah pada lingkungan, yang berulang setiap waktu pengujian. Bagian kedua adalah pengiriman data. Data yang didapat dari sensor kemudian dikirim menggunakan GPRS ke server, kemudian ditambahkan delay sesuai dengan pengujian, yaitu 10, 30, atau 60 detik. Setelah itu, sistem akan membaca sensor kembali dan seterusnya. Secara keseluruhan sistem ini digambarkan pada Gambar 13.
6
Mulai
Baca Sensor
Aktuator Mati
Tidak
Kelembaban Tanah < 300
Ya
Aktuator Menyala
Pengiriman Data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include "SIM900.h" #include "SoftwareSerial.h" #include "inetGSM.h" void setup () { ... } void loop () { ... // koneksi GPRS dengan kartu GSM, if(inet.attachGPRS("www.xlgprs.net","", "")) Serial.println("status=ATTACHED"); else Serial.println("status=ERROR"); delay(1000); ... }
Gambar 15 Kode koneksi GPRS.
Ya
Delay
Gambar 13 Flow chart sistem secara keseluruhan. Perancangan Basis Data Pada Gambar 14, tabel-tabel tersebut meliputi user dan sensor yang terdapat pada server.
Pada baris 11 dan 12, fungsi inet.attachGPRS() merupakan fungsi untuk autentikasi pada provider GSM untuk melakukan permintaan koneksi jaringan GPRS. Fungsi inet.attachGPRS() membutuhkan parameter Access Point Name (APN), username, dan password. Fungsi-Fungsi Server Fungsi-fungsi yang ada dalam server adalah login, logout, convert table to xls, dan grafik yang dapat dilihat pada Tabel 2. Tabel 2 Fungsi-fungsi pada server No.
Fungsi
Keterangan
1
Login
Sukses
2
Logout
Sukses
Implementasi
3
Convert table to excel
Sukses
Sensor yang Digunakan
4
Grafik
Sukses
Gambar 14 Perancangan basis data.
Sensor yang digunakan adalah sensor kelembaban tanah untuk mengukur kadar air dalam tanah. Sistem Monitoring Sistem monitoring irigasi dalam penelitian ini menggunakan satu sensor di lapangan. Sensor akan mengambil data dari lingkungan kemudian data dikirim setiap 10, 30, atau 60 detik sekali untuk keperluan monitoring pada server.
Fungsi login merupakan fungsi untuk autentikasi user yang diperbolehkan masuk ke server. Jika user yang dimasukkan sesuai dengan data pada basis data server, user tersebut akan masuk dalam sistem. Tampilan fungsi login dapat dilihat pada Gambar 16.
Pengujian Koneksi GPRS Komunikasi GPRS sesuai dengan sinyal provider yang digunakan. Dalam penelitian ini menggunakan kartu provider XL. Pengujian koneksi dengan menggunakan library yang disediakan pengembang dapat dilihat pada Gambar 15.
Gambar 16 Fungsi login. Apabila berhasil masuk akan muncul tulisan seperti pada Gambar 17, sedangkan
7
apabila tidak berhasil maka akan muncul tulisan seperti pada Gambar 18.
Gambar 17 Login berhasil.
Gambar 18 Login gagal. Fungsi logout adalah fungsi permintaan user untuk keluar dari server. User akan keluar sistem dengan tampilan seperti pada Gambar 19.
Gambar 20 Fungsi convert table to excel.
Gambar 19 Berhasil logout. Convert table to excel merupakan konversi dari tabel sensor dan aktuator yang dapat diunduh dalam format excel sehingga memudahkan user. Nama file hasil convert ialah “datasensor.xls”. Tabel yang dapat dilihat pada Gambar 20 merupakan tampilan dari data yang diterima server. Pada kolom sensor dapat disisipkan nilai sensor lain dengan menambahkan kolom sebelah kanan. Pada penelitian ini, saya membatasi masukan dari satu sensor. Nilai aktuator ditentukan oleh nilai kelembaban tanah yang terbaca oleh sensor. Jika kondisi kelembaban tanah kurang dari 300 maka aktuator akan menyala. Selain itu aktuator akan mati. Nilai 1000 mewakili kondisi aktuator menyala dan nilai 0 mewakili kondisi aktuator mati. Nilai 1000 dipilih untuk memudahkan dalam tampilan pada grafik untuk menggabungkan nilai kelembaban tanah dan aktuator. Kolom waktu yang ditampilkan merupakan hasil dari waktu server yang disesuaikan dengan waktu Indonesia. Grafik yang ditunjukkan pada Gambar 21 merupakan visualisasi dari data yang diterima server dari client. Grafik tersebut meliputi data sensor pada sumbu y dan waktu pada sumbu x. Grafik yang digunakan ialah grafik garis untuk sensor kelembaban tanah dan grafik batang untuk aktuator.
Gambar 21 Grafik kelembaban tanah dan aktuator. Pengiriman Data Pengiriman data pada penelitian ini menggunakan layanan GPRS. Data kemudian disimpan pada server. Pengiriman data dibandingkan dengan menggunakan serial monitor pada client yang terhubung dengan komputer dan data yang tersimpan di basis data pada server. Perbandingan ini menandakan akurasi keberhasilan pengiriman data dari client ke server sehingga menghasilkan data yang akurat. Gambar 22 adalah kode pengiriman data. 1 2 3 4 5 6 7 8 9 10 11 12 13
#include "SIM900.h" #include "SoftwareSerial.h" #include "inetGSM.h" void setup () { ... } void loop () { ... // pengiriman data dengan httpGET inet.httpGET("www.datalogger.comli. com", 80, data, msg, 50); ... }
Gambar 22 Kode pengiriman data.
8
Pada Baris program “inet.httpGET ("www.datalogger.comli.com", 80, data, msg, 50)” merupakan alamat server untuk mengirimkan data dari client. Sedangkan pada fungsi loop terdapat pembacaan sensor, connection(), SendData(), inisialisasi path, dan software_reset(). Fungsi connection() merupakan komunikasi serial antara Arduino dan GSM/GPRS Shield sehingga GSM/GPRS Shield siap untuk melakukan koneksi ke internet. Fungsi SendData() merupakan fungsi untuk mengirim data sensor ke server. Inisialisasi path ini meliputi penamaan path awal dan pembacaan sensor kemudian digabung menggunakan fungsi strcat() sehingga membentuk suatu string pointer. Kode tersebut dapat dilihat pada Gambar 23 dan hasil pengujian pada Tabel 3. 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
#include "SIM900.h" #include "SoftwareSerial.h" #include "inetGSM.h" void setup () { ... } void loop () { SM = analogRead(0); itoa(SM, inSMStr, 10); if (SM < 300){ digitalWrite(13, HIGH); Serial.println("Nyala"); } else { digitalWrite(13, LOW); Serial.println("Mati"); } //menggabungkan data data = "/readData4.php?inSMStr="; strcat(data, inSMStr); connection(); SendData(); char *data = NULL; software_Reset(); delay(600000); }
rata 40 detik. Setiap kali mengirimkan data loss, Arduino akan reset. Tabel 3 merupakan pengujian pengiriman data dengan delay 10, 30, atau 60 detik. Pengujian dilakukan pada Media Center Fakultas Pertanian Institut Pertanian Bogor menggunakan kartu GSM XL. Hasil yang diperoleh pada delay 10, 30, dan 60 detik tidak terdapat data loss. Ini menandakan bahwa pengujian menambahkan delay tidak mempengaruhi pengiriman data dari Arduino ke server.
KESIMPULAN DAN SARAN Kesimpulan Penelitian ini telah dapat melakukan komunikasi data dengan menggunakan GSM/GPRS Shield pada Arduino Uno. GPRS memudahkan dalam komunikasi dalam jarak jauh karena kita menggunakan fasilitas dari penyedia layanan GSM yang tersedia. GSM/GPRS Shield dapat mengirimkan data apabila masih dalam jangkauan sinyal provider GSM yang digunakan. Pada server terdapat antarmuka menggunakan PHP yang membantu pengguna dalam memonitor client seperti nilai sensor, status aktuator, dan waktu penerimaan. Selain itu, dalam server terdapat fungsi tabel, grafik, dan convert xls untuk memudahkan pengguna. Hasil dari penelitian ini pada penembahan delay 10 detik, 30 detik, dan 60 detik sebelum pengiriman data tidak terdapat data loss. Ini menandakan bahwa penambahan delay tidak mempengaruhi pengiriman data dari Arduino ke server. Saran
Gambar 23 Kode Arduino pada fungsi loop (). Tabel 3 Pengujian pengiriman data pada tampilan serial monitor dan server Delay (detik)
Serial Monitor
Server
Selisih
Data Loss (%)
10
22
22
0
0
30
23
23
0
0
60
25
25
0
0
Pada penelitian ini, penulis menggunakan delay 10, 30, dan 60 detik untuk mengirimkan data. waktu koneksi GPRS dari Arduino rata-
Pada penelitian ini masih terdapat kekurangan. Pada pengontrolan client oleh server. Pengontrolan ini sangat bermanfaat untuk memudahkan pengguna dalam menentukan waktu pengambilan data oleh sensor. Pada grafik juga masih terdapat kekurangan hasil pembacaan sensor sesuai dengan tanggal yang bertumpuk-tumpuk. Pada penelitian ini masih belum dilakukan perhitungan checksum dan faktor keamanan client dan server. Penelitian selanjutnya dapat meneruskan penelitian ini dengan menambah jumlah sensor yang dipakai. Menambahkan penyimpanan data menggunakan SD card. Analisis tegangan sumber daya yang digunakan di lapangan. Alternatif dengan
9
menggunakan modem lain kemudian menyimpan data dalam 30 detik kemudian kirim dalam 1 jam. Penelitian selanjutnya diharapkan dapat mengatasi beberapa kekurangan pada penelitian ini agar sistem monitoring irigasi berbasis GSM/GPRS lebih baik dari sebelumnya.
DAFTAR PUSTAKA Bisyri KA. 2012. Rancang Bangun Komunikasi Data Wireless Mikrokontroler Menggunakan Modul XBee ZigBe (IEEE 802.15.4). [Skripsi]. Bogor: Institut Pertanian Bogor. Durfee W. 2011. Arduino Microcontroller Guide. Minnesota: University of Minnesota. http://www.me.umn.edu/ courses/me2011/arduino/arduinoGuide.pd f. [27 September 2012].
[ITead Studio]. 2011. IComsat v1.1. http://iteadstudio.com/store/images/produc e/Shield/IComSat/icomsat_DS1.2.pdf. [27 September 2012]. McLeod R Jr, Schell GP. 2008. Sistem Informasi Manajemen, Edisi 10. Jakarta: Salemba Empat. Nugroho AR. 2011. Rancang Bangun Modul Akuisisi Data Untuk Sistem Irigasi Otomatis Berbasis Mikrokontroler Arduino Duemilanove. [Skripsi]. Bogor: Institut Pertanian Bogor. Reas C, Fry B. 2010. Getting Started with Processing. Sebastopol: O’Reilly Media. Stanislav S, Kresimir M. 2006. ZigBee wireless standard. 48 th Internasional Symposium ELMAR-2006. https://coefs.uncc. edu/ jmconrad/files/2012/04/IEEE_ZigBee.pdf [27 September 2012].
LAMPIRAN
11
Lampiran 1 Diagram blok arsitektur AVR 8 bit
(Sumber: http://www.digikey.com/Web%20Export/techzone/microcontroller/article2011november-arduino-open-source-fig2.jpg)
Lampiran 2 Gambar dimensi GSM/GPRS Shield
(Sumber: ITead Studio 2011)
12
Lampiran 3
Kode program sketch Arduino untuk pengiriman data menggunakan GSM/GPRS Shield
1 #include "SIM900.h" 2 #include "SoftwareSerial.h" 3 #include "inetGSM.h" 4 5 InetGSM inet; 6 7 char *data; 8 boolean started=false; 9 10 int SM = 0; 11 char inSMStr[8]; 12 13 void connection(){ 14 if (gsm.begin(2400)){ 15 Serial.println("\nstatus=READY"); 16 started=true; 17 } 18 else Serial.println("\nstatus=IDLE"); 19 } 20 21 void SendData(){ 22 if(started){ 23 if (inet.attachGPRS("www.xlgprs.net", "", "")) 24 Serial.println("status=ATTACHED"); 25 else Serial.println("status=ERROR"); 26 delay(1000); 27 28 //Read IP address. 29 gsm.SimpleWriteln("AT+CIFSR"); 30 delay(1000); 31 32 //Read until serial buffer is empty. 33 gsm.WhileSimpleRead(); 34 Serial.println(data); 35 //TCP Client GET, send a GET request to the server and 36 //save the reply. 37 //inet.httpGET("www.datalogger.16mb.com", 80, data, msg, 50); 38 inet.httpGET("www.datalogger.comli.com", 80, data, inSMStr, 50); 39 Serial.println("Done."); 40 } 41 else Serial.println("\nstatus=Error Send Data"); 42 } 43 44 void software_Reset() 45 { 46 asm volatile ("jmp 0"); 47 } 48 49 void setup() 50 { 51 //Serial connection. 52 Serial.begin(9600); 53 pinMode(13, OUTPUT); 54 Serial.println("...GSM/GPRS Shield Connecting..."); 55 } 56 57 void loop() 58 { 59 SM = analogRead(0); 60 itoa(SM, inSMStr, 10); 61 Serial.println(SM); 62 if (SM < 300){ 63 digitalWrite(13, HIGH); 64 Serial.println("Nyala"); 65 } 66 else { 67 digitalWrite(13, LOW); 68 Serial.println("Mati"); 69 } 70
13
71 72 73 74 75 76 77 78 79 80 81 82 83 }
//append data in char pointer data = "/readData4.php?inSMStr="; strcat(data, inSMStr); connection(); SendData(); char *data = NULL; delay(30000); software_Reset() ;
Lampiran 4 Harga dan alat yang digunakan dalam penelitian No
Alat
Jumlah
Harga Satuan (Rp)
Total Harga (Rp)
1
Arduino Uno
1
289.000
289.000
2
Sensor Kelembaban Tanah
1
35.000
35.000
3
Adaptor
1
30.000
30.000
4
GSM/GPRS Shield v1.1
1
569.000
569.000
5
Kartu GSM XL
1
5000
5000
6
LED
1
8.000
8.000
Total
Lampiran 5 Access Point Name (APN), username, dan password provider GSM Provider
Parameter
Three
"3data", "3data", "3data"
Indosat
"indosatgprs", "indosat", "indosat"
Telkomsel
"telkomsel", "wap", "wap123"
XL
"www.xlgprs.net", "", ""
AXIS
“AXIS”,”axis”,”123456”
936.000