Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 4, April 2018, hlm. 1518-1524
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Implementasi Multi – Channel Pada Wireless Sensor Network Ariyan Jazmi1, Sabriansyah Rizqika Akbar2, Edita Rosana Widasari 3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak
Wireless Sensor Network merupakan teknologi yang digunakan untuk mendapatkan data dari kondisi fisik atau kondisi lingkungan sekitar dengan bantuan sensor. Wireless Sensor Network terdiri dari beberapa node yang akan mengirimkan data pada Gateway node. Komunikasi Wireless Sensor Network membutuhkan Channel yang sama untuk menghubungkan antar node. Salah satu permasalahan pada Wireless Sensor Network yaitu jika area yang dimonitoring luas dan node memiliki beberapa channel, akan membutuhkan Gateway node yang banyak sesuai jumlah channel. Komunikasi Wireless Sensor Network seperti ini kurang efisien dan membutuhkan biaya yang besar. Berdasarkan permasalahan tersebut, maka penelitian ini menerapkan komunikasi Wireless Sensor Network dengan multi-channel. Multichannel akan meningkatkan kinerja pengiriman data karena hanya membutuhkan satu Gateway dan dapat menerima data dari beberapa node dengan beda channel. Metode yang digunakan dalam penelitian ini yaitu SPI (Serial Peripheral Interface) pada node dan I2C pada Gateway node. Dari hasil pengujian didapatkan komunikasi Wireless Sensor Network dengan metode Multi-Channel dapat meningkatkan kinerja pengiriman dan penerimaan data. Spesifikasi alamat node memiliki peran penting dalam komunikasi multi-channel untuk melakukan channel switch dalam penerimaan data di server. Data yang didapat server berhasil diterima dengan sukses dalam waktu bersamaan, tetapi membutuhkan waktu kurang lebih 2 - 4 detik synchronisasi pada awal komunikasi Multi-Channel. Kata kunci: Wireless Sensor Network, multi-channel, serial peripheral interface, I2C Abstract
Wireless Sensor Network is a technology used in obtaining data from physical conditions or environmental conditions with the help of sensors. Wireless Sensor Network consists of several nodes that will transmit data on the Gateway node. Wireless Sensor Network communication requires the same Channel to connect between nodes. Problems with the Wireless Sensor Network if the area is monitored widely and the nodehas multi- channels will require a lot of Gateway nodes according to the number of channels. Wireless Sensor Network communication like this is less concise and requires extra funds. Based on the problems mentioned in this research applied Wireless Sensor Network communication with multi-channel. Multi-channel will improve the performance of data transmission so that on the Gateway nodethere are several channels for communication with the node. The method in this study is another SPI (Serial Periperal Interface) on the node, I2C on the Gateway node. The results of Wireless Sensor Network communication with Multi-Channel method can improve the delivery and data reception performance. The node address specification has an important role in multi-channel communication to perform channel switches in receiving data on the server. Data obtained by the server successfully received at the same time, but it takes approximately 2 – 4 seconds of synchronization at the beginning communication. Keywords: Wireless Sensor Network, multi-channel, serial peripheral interface, I2C
Fakultas Ilmu Komputer Universitas Brawijaya
1518
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1. PENDAHULUAN Wireless Sensor Network dahulunya merupakan teknologi yang digunakan untuk high end applications seperti sistem pendeteksi ancaman pada nuklir, pada bidang militer. Kemudian dikembangkan pada topik memonitoring keadaan biologikal dan kimia. Topik Wireless Sensor Network meluas hampir dapat diaplikasikan di kehidupan sehari hari. Contohnya, Environmental Application meliputi bidang pertanian untuk menjaga kualitas hasil panen. Home Applications meliputi automatisasi perangkat di rumah (Sohraby, et al., 20017). Monitoring melalui teknologi Wireless Sensor Network tersebut ditujukan untuk mendapatkan data yang diinginkan meliputi kondisi fisik atau kondisi lingkungan melalui hasil baca sensor, kemudian akan dilakukan penanganan lanjut melihat dari hasil sensor. Wireless Sensor Network memiliki kelebihan dalam pengiriman data yaitu tanpa kabel atau Wireless. Hal ini dapat mempermudah untuk memonitoring suatu keadaan yang luas seperti lahan pertanian, hutan dan gunung. Penelitian Wireless Sensor Network secara area tersebut membutuhkan beberapa node Wireless Sensor Network yang akan dikirimkan ke Gateway Node. Kumpulan node tersebut yang akan memberi informasi data. Dalam komunikasi Wireless Sensor Network membutuhkan Channel yang sama untuk saling berkomunikasi. Jika area yang dimonitoring sangat luas dan memiliki channel yang berbeda. Tentunya akan membutuhkan Gateway Node sesuai dengan jumlah channel dan kemungkinan data akan tabrakan atau data collision (Jovanovic, et al., 2011). Berdasarkan masalah diatas penulis melakukan perancangan sistem Wireless Sensor Network untuk meningkatkan kinerja pengiriman data serta menghindarkan dari tabrakan data atau data collision dengan MultiChannel sehingga hanya membutuhkan satu Gateway Node dengan menggunakan metode Serial Peripheral Interface dan I2C. 2. DASAR TEORI 2.1 Wireless Sensor Network Wireless Sensor Network terdiri dari beberapa unit yaitu Sensing Unit, Processing Unit, Transceiver dan Power Unit. Terdapat Fakultas Ilmu Komputer, Universitas Brawijaya
1519
unit tambahan seperti Location Finding Sistem dan Actuator. Sensing Unit bertugas untuk mencari informasi data kemudian di-konverter dari data analog menjadi digital melalui proses ADC (Dargie, et al., 2011). 2.2 Multi - Channel Komunikasi Multi-Channel adalah metode yang efektif untuk meningkatkan komunikasi pada jaringan Wireless Sensor Network. Metode ini memungkinkan untuk transmisi paralel melalui frekuensi channel yang berbeda. Sehingga peningkatan pengiriman dan penerimaan data dapat dimaksimalkan melalui Multi-Channel ini. Pada komunikasi Multi-Channel Wireless Sensor Network dibedakan menurut waktu (time slot) dan (channel). Terdapat keterangan bahwa node akan menunggu paket yang dikirimkan bertujuan untuk mengirim bergantian. Kelebihan dari metode ini yaitu untuk menghindari data collision antara node yang mengirim menuju server. Dalam contoh mekanisme Multi-Channel ini terdapat 3 node mengirim berdasarkan waktu dan channel (Jovanovic, M. D. 2011). Gambar 1 merupakan mekanisme Multi – Channel.
Gambar 1. Mekanisme Multi - Channel
2.3 Serial Peripheral Interface (SPI) Serial Peripheral Interface adalah komunikasi serial yang digunakan untuk mengirim data atara mikrokontroler dan peripheral kecil. Terdapat clock dan data lines yang terpisah dan dapat memilih device yang ingin dikomunikasikan melalui fungsi select slave. Fungsi serial clock biasanya disebuk CLK atau SCK. Master adalah yang device yang mengirim sinyal clock kepada slave. Dalam SPI selalu ada satu master dan beberapa slave. SPI merupakan Full duplex karena memiliki lines sendiri dalam mengirim maupun menerima data.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Berikut gambar 2 merupakan contoh SPI pada tiga Slaves (Sulistiyono, et al., 2014).
1520
mikrokontroler ini. Mikrokontroler ini dikoneksikan melalui USB untuk upload sketh dari Arduino IDE. 2.6 nRF24l01
Gambar 2. Blok Diagram SPI pada Tiga Slaves
2.4 I2C Protokol Protokol I2C berkomunikasi dua arah untuk mengirim dan menerima data pada mikrokontroler. Memiliki pin Serial Clock (SCL) mengirimkan sinyal pulse low to high dan Serial Data (SDA) yang akan mengimkan data antara dua device (mikrokontroller) ketika pin SCL aktif high. Komunikasi Master ke Slave pada I2C protokol dimulai dari kiriman pulse SCL kepada Slave meminta untuk mengirimkan data sesuai alamat memory yang direquest oleh Master. Pada I2C ini memungkinkan memiliki banyak Slave dan memiliki alamat yang unik dan antara Master Slave membutuhkan komunikasi dengan data line yang sama. Berikut gambar 3 merupakan aplikasi I2C Protokol (Sulistiyono, et al., 2014).
Gambar 3. I2C Protokol
2.5 Arduino Mikrokontroler merupakan mini komputer berfungsi untuk melakukan operasi atau menjadi kontroler pada Embedded Sistem. Mikrokontroler diaplikasikan pada motor, robot, peralatan medis, dan lain lain. Arduino merupakan mikrokontroler yang populer digunakan dan bersifat open source. Arduino memiliki 14 digital input, 6 input analog. Sumber tegangan 5V dibutuhkan Fakultas Ilmu Komputer, Universitas Brawijaya
Modul wireless ini memiliki pilihan channel 125 yang akan memenuhi kebutuhan komunikasi multipoint dan frekuensi hopping yang dapat diatur pada software. Modul ini membutuhkan tegangan 3.0-3.6 V, VCC=3.3 V. Dalam penggunaan modul ini membutuhkan kontroler seperti mikrokontroler Arduino. Membutuhkan library untuk berkomunikasi antara kontroler dan modul nRF24l01. Salah satu library untuk modul ini adalah Mirflibrary sehingga mikrokontroler dapat mengontrol modul nRF24L01 sebagai pengirim dan penerima data. 3.
PERANCANGAN DAN IMPLEMENTASI SISTEM
3.1 Perancangan Sistem Sistem dibagi menjadi Node Transmitter dan Receiver menggunakan modul nRF24l01. Terdiri dari 4 Node Transmitter dan dikelompokkan sesuai waktu pengiriman. Server terdiri Master dan Slave yang saling terhubung dan dibedakan oleh Channel. Transmitter 1 dan transmitter 3 pada channel 90 dan transmitter 2 dan transmitter 4 pada channel 95. Pemilihan channel berdasarkan range pita frekuensi nRF24l01 yaitu 2.400GHz sampai 2.525GHz, sehingga memiliki pilihan channel frekuensi sebanyak 125 channel. Pada pengiriman waktu pertama selama 250ms akan dilakukan oleh Node 1 dan Node 2 pada channel yang berbeda. Kemudian setelah berhasil mendapat nilai dari Node akan berpindah pada pengiriman waktu 250ms berikutnya yaitu Node 3 dan Node 4. Data yang berhasil dikirim akan disimpan oleh masing masing Server Master dan Server Slave. Kemudian data dari Master akan dikirim ke Slave dan ditampilkan bersama sama dengan metode I2C.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1521
Gambar 4. Gambaran Umum Perancangan Sistem
3.2 Perancangan Perangkat Lunak Komunikasi Multi-Channel Wireless Sensor Network merupakan komunikasi yang memungkinkan Reciever (server) menerima data dari berbagai transmitter dengan channel yang berbeda secara bersamaan. Tujuan dari komunikasi ini yaitu memaksimalkan kinerja pengiriman data dan menghindari data collision melalui sistem Wireless Sensor Network.
Gambar 6. Flowchart Master
Gambar 6 merupakan flowchart master. Program terdiri dari inisialisasi id sebagai alamat master yaitu my id = 0. Kemudian inisialisasi channel dari master yaitu channel 90. Master akan menerima data dari node 1 dan node 3. Jika pengirim dari node 1 akan masuk pada kondisi pengecekan apakah sesuai dengan tujuan alamat master, kemudian akan diterima paket data dari node 1 antara lain idmaster, datamaster yang berisi informasi suhu, waktum yaitu waktu pengiriman yang dibutuhkan node 1 menuju master. Selanjutnya data tersebut akan dikirimakan menuju server slave dengan metode I2C. Kemudian data tersebut direset nilainya menjadi 0 dan melakukan perulangan untuk menerima data dari node 1 dan node 3. Proses tersebut juga dilakukan oleh node 3 sesuai kondisi sender yang mengirim ke master. Gambar 5. Flowchart Node Transmitter n
Gambar 5 merupakan Flowchart node transmitter terdiri dari 4 node. Pada awal program melakukan inisialisasi id sesuai dengan alamat node. Kemudian menentukan channel node. Paket data yang dikirim menuju receiver antara lain data suhu dan waktu dalam format millis.
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1522
node 1
node 2
server
node 3
node 4 node transmitter server komunikasi channel 90 komunikasi channel 95
Gambar 8. Topologi Multi – Channel.
4.
PENGUJIAN DAN ANALISA
4.1 Pengujian Pengiriman dan Penerimaan Data
Gambar 7. Flowchart Slave
Gambar 7 merupakan flowchart slave yang terdiri dari inisialisasi alamat id dan channel yaitu channel 95. Slave menerima data dari node 2 dan node 4, terdapat kondisi jika pengirim dari node 2 maka akan mengirimkan data idnode, datanote yang berisi informasi suhu, time1234 yaitu waktu kirim menuju slave. Kemudian dilanjutkan untuk menampilkan informasi data dengan menggunakan perulangan for. Data dari master akan ditampilkan pada program slave dengan metode I2C begitu pula dengan node 2 dan node 4. Kemudian data akan direset kembali. 3.1.3
Perancangan Topologi
Perancangan topologi merupakan gambaran komunikasi Multi – Channel antara node transmitter dengan server. Terdiri dari perbedaan channel yaitu channel 90 dan channel 95. Node 1 dan node 3 memiliki channel 90. Sedangkan node 2 dan node 4 memiliki channel 95. Berikut gambar 8 menunjukkan topologi dari sistem ini.
Fakultas Ilmu Komputer, Universitas Brawijaya
Pada pengujian dan penerimaan data suhu bertujuan masing masing node dapat menerima data yang dikirimkan oleh node server dan memberikan balasan menuju server. Hasil pengujian pengiriman dan penerimaan data dapat diperoleh melalui serial monitor Arduino pada Arduino IDE dari masing masing node dan server. Tabel 1. Penentuan Cluster pada Node Server Master
Cluster 1
Cluster 2
Node 1= 33
Node 3= 39
Node 2= 37
Node 4= 40
Ch 90 Slave Ch 95
Analisa hasil pengujian penerimaan dan pengiriman data pada server dan node yang memiliki channel yang sama dan waktu komunikasi yang sama sesuai dengan clusternya. Pada sistem ini memiliki 4 node dengan 2 macam channel yang berbeda. Server akan menerima data yang dikirimkan oleh Cluster sesuai dengan nilai. Contoh pada Cluster 1 server akan menampilkan hasil data pada node 1 yaitu 33 dan node 2 yaitu 37. Analisa hasil pengujian pengiriman dan penerimaan ini sesuai dengan tampilan serial monitor dari Arduino IDE.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
4.2 Pengujian Alamat Server dan Node Transmitter Pengujian alamat server dan node transmitter digunakan untuk menentukan alamat server dan node transmitter. Pada sistem ini menggunakan 2 server yaitu master dan slave dengan alamat my id=0. Pada node transmitter menggunakan 4 node transmitter, alamat pada node 1 yaitu my id=1, node 2 my id=2, node 3 my id=3, node 4 my id=4. Tujuan dari pengalamatan ini agar dapat membedakan server dan node transmitter. Hasil pengujian alamat server dan node sesuai dengan pengalamatan oleh array yaitu pada server terdiri dari master dan slave yang memiliki alamat my id=0. Kemudian pada sisi node dihasilkan pengalamatan packet data receive =1 pada node 1, packet data receive =2 pada node 2, packet data receive =3 pada node 3, dan packet data receive =4 pada node 4. Keberhasilan pengalamatan ini berguna agar sistem dapat berkomunikasi sesuai dengan alamat yang ditunjukan. Jika packet data receive tidak sama dengan yang direquest server maka node tersebut tidak mengirimkan data. Berikut tabel 2 untuk meringkas hasil pengujian pengalamatan pada node.
1523
node 1 dan node 3 sesuai dengan protocol I2C. Hasil yang diterima menunjukkan waktu yang bersamaan berkisar 240 ms. Terdapat waktu kontinu untuk membuktikkan bahwa node 1 dan node 2 diterima pada waktu yang mendekati bersama yaitu 240 ms, begitu pula dengan node 2 dan node 4. Tetapi memiliki selisih 2 – 4 ms. Penerimaan pada node 1 membutuhkan waktu 240 ms dan node 2 membutuhkan waktu 240 ms. Node 3 membutuhkan waktu 246 ms dan node 4 membutuhkan waktu 245 ms. Membuktikan cluster1 yaitu node 1 dan node 2 dan cluster 2 yaitu node 3 dan node 4 sesuai dengan konsep Multi – Channel.
Tabel 2. Pengalamatan id Server dan Node Alamat server
Alamat Cluster 1
Alamat Clustrer 2
Slave my id=0
Node 1 packet data receive =1
Node 3 packet data receive =3
Master my id =0
Node 2 packet data receive =2
Node 4 packet data receive =4
4.3 Pengujian Multi-Channel Pengujian Muti-Channel bertujuan untuk mengetahui hasil komunikasi yang sistem dengan channel yang berbeda. Pada pengujian ini diharapkan node mampu mengirimkan data sesuai dengan data yang dimiliki node. Kemudian dilakukan pergantian pengiriman pada cluster berikutnya sesuai dengan waktu yang ditentukan. Analisa hasil pengujian komunikasi MultiChannel pada sistem ini ditampilkan hasil node pengiriman, data suhu, dan time dari node menuju server. Hasil gambar 9 merupakan hasil Master menerima pengiriman dari node 1 dan node 3 secara dalam waktu berkisar 240 ms. Gambar 6.13 merupakan hasil pada sisi Slave menerima pengiriman dari node 2 dan node 4 kemudian menerima data dari sisi Master yaitu Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 9. Skenario Pengiriman Multi – Channel.
5.
KESIMPULAN
Berdasarkan perancangan, implementasi, serta pengujian yang dilakukan pada sistem dapat diambil kesimpulan: 1. Sistem diimplementasikan pada sistem ini telah berhasil mengirimkan data dan menerima data dari node transmitter dan receiver. Nilai yang dikirim dari node transmitter berupa nilai suhu yang telah ditetapkan nilainya. Pada sisi server menampilkan data sesuai dengan nilai yang dikirimkan. Pengujian tersebut didapatkan dari hasil serial monitor dari Arduino IDE. 2. Pengalamatan sistem Multi-Channel pada setiap node transmitter dan receiver
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dilakukan dengan pengalamatan array. Terdiri dari empat node transmitter dan server yang terdiri dari master dan slave. Tujuan pengalamatan ini agar dapat berkomunikasi sesuai dengan alamat yang ditujukan. Hasil penelitian alamat ini ditampilkan melalui serial monitor dari Arduino IDE. Jika node transmitter tidak berkomunikasi dengan server menampilkan keadaan waiting, jika sedang melakukan komunikasi akan menampilkan keadaan success mengirim data. 3. Sistem diimplementasikan dengan metode Multi-Channel akan menampilkan hasil node pengiriman, data suhu, dan time dari node menuju server. Hasil Master menerima pengiriman dari node 1 dan node 3 secara dalam waktu berkisar 240 ms. Slave menerima pengiriman dari node 2 dan node 4 kemudian menerima data dari sisi Master yaitu node 1 dan node 3 sesuai dengan protokol I2C. Hasil yang diterima menunjukkan waktu yang bersamaan berkisar 240 ms. Terdapat waktu kontinu untuk membuktikkan bahwa node 1 dan node 2 diterima pada waktu yang mendekati bersama yaitu 240 ms, begitu pula dengan node 2 dan node 4. Tetapi memiliki selisih 2 – 4 ms. Penerimaan pada node 1 membutuhkan waktu 240 ms dan node 2 membutuhkan waktu 240 ms. Node 3 membutuhkan waktu 246 ms dan node 4 membutuhkan waktu 245 ms. Membuktikan cluster1 yaitu node 1 dan node 2 dan cluster 2 yaitu node 3 dan node 4 sesuai dengan konsep Multi – Channel. 6. DAFTAR PUSTAKA Arduino. 2015. Product Arduino. [online] Tersedia di: < http://www.arduino.cc/en/Main/Product s> Incel, O. D. 2011. A Survey on Multi-channel Communication in Wireless Sensor Networks. Jovanovic, M. D. Djordjevic, G. L. Nikolic. G. S. Petrovic. D. 2011. Multi-Channel Media Access Control for Wireless Sensor Networks: a Survey. NRF24L01. 2015. Nrf24L01-2.4GHz-HowTo [online] Tersedia di : https://arduinoinfo.wikispaces.com/Nrf24L012.4GHz-HowTo.
Fakultas Ilmu Komputer, Universitas Brawijaya
Soua,
1524
R. Minet, P. 2014. Multichannel Assignment Protokols In Wireless Sensor Networks: A Comprehensive Survey. Sohraby, K. Minoli, D. Znati, T. 2007. Wireless Sensor Networks Technology, Protokols, Applications. Sulistiyono, T. Y, Nurussa’adah, Maulana, E. 2014. Komparasi Sistem Komunikasi Serial Multipoint pada Robot Management Sampah menggunakan I2C dan SPI. Unsal, E. Milli, M. Cebi, Y. 2016. Low cost Wireless Sensor Networks for environment monitoring.