120
3.6. Desain Perangkat Lunak Sistem Drifter Buoy
Perangkat lunak yang ditanamkan di buoy berbasis mikrokontroler, sehingga baik ukuran program, bahasa dan tools pemrograman dilakukan sesuai dengan
mikrokontroler yang digunakan yaitu mikrokontroler ATMega32. Perangkat lunak penerima yaitu perangkat lunak pada bagian server penerima data yaitu komputer
yang dilengkapi modem GSM dan nomor yang di-set sebagai nomor penerima data sehingga data yang dikirimkan drifter dapat diterima dan disimpan dengan
baik.
Perangkat Lunak Buoy
Perangkat lunak yang ditanamkan di buoy terdiri atas beberapa fungsi utama yaitu mengakuisisi data yang dibutuhkan, menyimpan data dan mengirimkannya.
Perangkat lunak ini dibangun menggunakan bahasa pemrogram BASIC BASCOM AVR yang merupakan bahasa pemrograman untuk mikrokontroler
AVR. Perangkat lunak ini terdiri atas dua alur program yaitu alur program utama dan alur program interupsi SMS konfigurasi. Adapun kedua alur tersebut terlihat
pada Gambar 16 dan 17. Pada saat dinyalakan mikrokontroler melakukan konfigurasi terutama untuk perangkat luar yang digunakan yaitu modem GSM,
sensor suhu dan perangkat internal yaitu vektor interupsi RS232 yang digunakan untuk mendeteksi interupsi SMS masuk. Selama tidak ada interupsi
mikrokontroler melakukan kegiatan rutin yaitu membaca data GPS berupa posisi, jam dan tanggal serta kecepatan. Selanjutnya membaca sensor suhu dan kemudian
selama 300 data 5 menit data posisi dan kecepatan terakhir, serta suhu yang telah di rata-ratakan akan dikirim melalui modem GSM menggunakan perintah
AT-command .
Sebelum pengiriman SMS terlebih dahulu mikrokontroler melakukan pengecekan sinyal GSM apakah ada atau tidak. Jika tidak, pengiriman data SMS
tidak dilakukan dan jika sinyal tersebut ada maka dilanjutkan dengan pengecekan waktu pengiriman data. Kemudian, jika belum memenuhi selang waktu yang telah
ditentukan oleh file CONFIG.INI, mikrokontroler akan kembali ke proses awal, tetapi jika sudah memenuhi waktu yang ditentukan maka data kemudian
dikirimkan.
121
Mulai Konfigurasi Sistem Baca dari
config.ini 1. Modem GSM
2. Sensor 1-wire suhu 3. GPS
Baca Parameter GPS 1. Posisi
2. Kecepatan Ambil Jam dan tanggal
Baca Sensor Suhu Simpan Data Logger
Hitung Nilai Rata-Rata Suhu Susun Dalam Format
Cek Sinyal GSM Cek Delta waktu
Kirim SMS Ulangi Proses
Ya ya
Tidak
Gambar 16. Diagram alir program utama
Pembacaan Data GPS
GPS yang digunakan yaitu PMB-648 hampir semua GPS yang diproduksi memiliki fasilitas komunikasi RS232 dan menggunakan standar komunikasi
NMEA-0183. Adapun perintah NMEA yang digunakan untuk pembacaan posisi dan kecepatan serta tanggal dan jam UTC yaitu GPRMC. Contoh sebuah
keluaran NMEA seperti berikut: Format keluaran dari GPRMC dapat dideskripsikan sebagai berikut contoh
dimana penjelasan dari format NMEA tersebut seperti terlihat pada Tabel 10.
GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,10
122
Tabel 10. Penjelasan NMEA GPRMC
Nama Contoh
Unit Penjelasan
Message ID
GPRMC RMC protocol Header
UTC Time 161229.487
Hhmmss.sss status
A A=data valid or V data tidak
valid Latitude
A3723.2475 ddmm.mmmm
NS indicator N
N=North atau S=South Longitude
12158.3416 dddmm.mmmm
EW indicator W
E=East atau W=West Speed over Ground
0.13 Knots
Course over Ground 309.62
degrees True Date
120598 ddmmyy
Magnetic Variation Degrees E=east atau W=west
Mode A
A=Autonomous, D=DGPS, E=DR
Checksum 10
CRLF Tanda akhir
Pada kalimat NMEA ini GPRMC merupakan header dari kalimat NMEA, artinya setelah GPRMC hingga tanda akhir kalimat CR LF merupakan satu
bentuk kalimat NMEA dengan format dan urutan tertentu sesuai yang telah ditetapkan oleh standar. Pembatas antara data satu dengan data yang lain dalam
satu kalim at yaitu menggunakan tanda koma “,”. Pembacaan kalimat NMEA
tersebut oleh mikrokontroler dimulai dengan mendeteksi header data yaitu GPRMC kemudian urutan berikutnya adalah UTC Time, disela oleh satu
karakter status kemudian pembacaan latitude di sela oleh satu karakter kemudian longitude
di sela oleh satu karakter lagi baru kemudian pembacaan speed dan seterusnya berdasarkan urutan kalimat NMEA tersebut.
Perataan Data, Penyusunan Format dan Penyimpanan Data
Pengukuran dilakukan setiap 1 detik waktu akusisi GPS dan dengan tujuan penghematan sumber daya, pengiriman dilakukan setiap 5 menit. Oleh karena itu
diperlukan perataan data khususnya data suhu. Data yang dikirimkan adalah data suhu hasil rata-rata dan data posisi terakhir yang diakuisisi pada selang waktu
yang ditentukan. Data yang disimpan pada modul data logger adalah data pengukuran setiap 2 detik. Perataan data suhu dilakukan selama 5 menit. Sebelum
dikirim data tersebut disusun dalam format pengiriman. Penyusunan format