• Tidak ada hasil yang ditemukan

Implementasi Fitur Sleeping Client Pada Protokol Message Queue Telemetry Transport – Sensor Network (MQTT-SN) Berbasis Arduino NRF24L01

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Fitur Sleeping Client Pada Protokol Message Queue Telemetry Transport – Sensor Network (MQTT-SN) Berbasis Arduino NRF24L01"

Copied!
9
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Implementasi Fitur

Sleeping Client

Pada Protokol

Message Queue Telemetry

Transport

Sensor Network

(MQTT-SN) Berbasis Arduino & NRF24L01

Yandra Charlos Hasugian1, Sabriansyah Rizqika Akbar2, Kasyful Amron3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1yandracharlostulus@gmail.co.id, 2sabrian@ub.ac.id, 3kasyful@ub.ac.id

Abstrak

WSN (Wireless Sensor Network) merupakan hubungan yang terdapat beberapa node sensor atau

aktuator, gateway, dan client. Jaringan WSN dapat diimplementasikan dengan protokol Message Queue Telemetry Transport (MQTT) merupakan protokol yang berjalan pada TCP/IP, dimana node sensor

terhubung dengan server melalui gateway sebagai perantara client dan server. Message Queue Telemetry Transport – Sensor Network (MQTT-SN) merupakan cara untuk menyelesaikan

permasalahan tersebut. Dalam MQTT-SN terdapat sebuah fitur yang digunakan untuk melakukan perpindahan state dari client yaitu Sleeping Client. Dalam fitur sleeping client terdapat beberapa state

yaitu aktif, disconnect, asleep, awake, dan lost. Sistem yang dibuat pada penelitian yaitu ada 2 perangkat client yang tersusun dari mikrokontroler Arduino Nano, modul NRF24L01 dan sensor. Sebuah perangkat gateway yang terdiri dari mikrokontroler Arduino Nano dan modul NRF24L01. Perangkat client akan mencari gateway untuk berkomunikasi, setelah terkoneksi perangkat client akan mengirim data sensor dan pesan-pesan untuk melakukan perubahan state pada fitur sleeping client. Dari hasil pengujian yang dilakukan client berhasil dalam perpindahan state dan pengiriman data sensor menggunakan sebuah perangkat client dan sebuah perangkat gateway maupun menggunakan 2 perangkat client dan sebuah gateway.

Kata kunci: Wireless Sensor Network, MQTT-SN, Sleeping client, NRF24L01

Abstract

WSN (Wireless Sensor Network)is a connection contained sensor node or actuator, gateway, and client. WSN can be implemented using Message Queue Telemetry Transport (MQTT) is a protocol that runs on TCP/IP, where the sensor node connected to the server through the gateway as an intermediary client and server. Message Queue Telemetry Transport – Sensor Network (MQTT-SN) is way to solve the problem. In MQTT-SN have a feature that used to make a move client’s state is Sleeping Client. In feature sleeping client there are several states are active, disconnect, asleep, awake, and lost. System in this research there are 2 client which consists of microcontroller Arduino Nano, module of NRF24L01, and sensor. And a gateway which consists of microcontroller Arduino Nano and module of NRF24L01. Client devices will search a gateway for communicate with gateway, after connect with the gateway, client will send data sensor and messages for changes states in sleeping client feature. Result from testing of system, client succeed to changes states and can send data sensor use a client device and a gateway device although use 2 client devices and a gateway device.

Keywords: Wireless Sensor Network, MQTT-SN, Sleeping client, NRF24L01

1. PENDAHULUAN

WSN adalah hubungan yang terdapat beberapa node client yang ditempatkan

secara tersebar pada sebuah lingkungan yang melakukan monitoring pada lingkungan tersebut. Selain melakukan pengambilan data lingkungan, node client

akan berkomunikasi dengan gateway

sebagai perantara menuju server. Gateway

akan menerima data dari node client serta

menyalurkan data menuju server yang telah

terhubung. Pada node client akan terjadi

(2)

waktu yang telah ditentukan dan kembali

active untuk melakukan pengiriman data.

Gateway memerlukan informasi perpindahan state tersebut agar gateway

tidak mendeteksi terjadinya kondisi lost

pada node client. Kondisi lost sendiri terjadi jika tidak ada pengiriman pesan dari node client tersebut. Dengan demikian ketika

node client melakukan proses sleep tanpa memberikan informasi terlebih dahulu maka selama melakukan sleep, gateway akan

mendeteksi bahwa client dalam kondisi lost

dan gateway akan memberikan perintah

kepada node client untuk melakukan

koneksi ulang.

Dalam penelitian yang telah dilakukan sebelumnya yang memiliki hubungan dengan penelitian yang akan dilakukan yaitu penelitian yang telah dilakukan oleh Harry Mulya, dkk (2017) yang berjudul

Implementasi Gateway berbasis NRF24L0l dan ESP8266 pada Protokol Message Queue Telemetry Transport - Sensor Network (MQTT-SN)”, yang telah berhasil

melakukan pencarian gateway yang

dilakukan oleh node client untuk melakukan

koneksi dan pengiriman data. Namun penelitian memiliki kekurangan yaitu node client tidak melakukan perpindahan state

yang diperlukan oleh node client tersebut.

Pada penelitian ini akan menggunakan protokol yang sama dengan penelitian yang telah dijabarkan diatas yaitu MQTT-SN yang merupakan perkembangan dari protokol MQTT.

Protokol MQTT–SN memiliki fitur yaitu dapat menyelaraskan keadaan dalam lingkungannya seperti bandwidth yang rendah, memiliki kegagalan link yang tinggi, ukuran pesan yang pendek, dan masih bnayak lagi. MQTT – SN memiliki arsitektur, yaitu MQTT – SN client, MQTT

– SN gateway, dan MQTT – SN forwarder. Pada penelitian ini memakai komponen yaitu komunikasi antara client dan gateway

yang memiliki fungsi yang berbeda-beda. Pada MQTT – SN terdapat sebuah fitur bernama sleeping client yang memiliki state

yaitu aktif, disconnect, asleep, awake, dan

lost. Setiap kondisi yang berubah pada

client, client perlu mengirim pesan

keinginan state yang dituju kepada gateway

untuk mendapatkan acknowledgement dari gateway. Setiap pergantian state yang

dilakukan client harus mendapatkan

acknowledgement dari gateway sedangkan ketika state lost, gateway akan menentukan

state tersebut ketika tidak ada pesan yang dikirim oleh client. Komunikasi MQTT-SN yang 2 digunakan pada penelitian yaitu gelombang radio yang terdapat pada sebuah modul NRF24L01.

2. METODEOLOGI PENELITIAN

Gambar 1. Flowchart metodeologi penelitian

Tahapan yang akan dilewati pada penelitian ini seperti pada terlihat pada Gambar 1 diatas yakni yang pertama melakukan studi literature

sistem yang akan dibuat, rekayasa kebutuhan yang akan digunakan pada pembuatan sistem, perancangan sistem, implementasi sistem, dan pengujian sistem yang akan dianalisis kembali jika tidak sesuai serta kesimpulan penelitian yang terdapat hasil dari keseluruhan tahapan ini serta saran yang ditujukan untuk pengembangan seterusnya.

(3)

3.1. Flowchart Client Kondisi Disconnect

Gambar 2. Flowchart Siklus Perubahan Client Disconnect

Pada Flowchart dalam Gambar 2

menandakan sebuah siklus kerja dari client. Client dapat melakukan peralihan state dari aktif

ke sebuah state disconnect. Ketika client dalam

kondisi disconnect, client bakal aktif kembali

ketika dari sisi client diberikan picuan dari sisi client. Dalam state disconnect menggunakan timer.

3.2. Flowchart Client Kondisi Sleep dan Awake

Gambar 3 Flowchart Siklus Perubahan Client Sleep serta Awake

Pada Gambar 3 merupakan perpindahan kondisi client dari aktif menuju sebuah state sleep serta state awake untuk melaksanakan

koneksi kepada gateway kembali. Kondisi sleep

dilakukan ketika client menerima ACK dari

gateway. Client melakukan sleep selama waktu yang dikonfirmasi gateway. Kondisi berubah menjadi state awake ketika timer untuk sleep

telah habis, dalam kondisi awake, client akan mengirim sebuah pesan kepada gateway yaitu pingreq untuk menginformasikan bahwa node client telah awake. Gateway akan menerima dan membalas pesan tersebut dengan sebuah pesan pingresp kepada client agar dapat melakukan koneksi kembali.

3.4. Flowchart Gateway

Gambar 4 Flowchart Siklus Kerja Gateway

Pada Flowchart yang digambarkan pada

Gambar 4 mengartikan sebuah siklus kerja dari sistem gateway. Sistem dari gateway bertugas

memperoleh pesan serta data sensor yang dikirim dari client yang akan serta bakal

mengirim pesan yang dibutuhkan client. Jika

terdapat kondisi dimana client tidak melakukan

pengiriman kepada gateway selama waktu tidur

dari client yang telah disimpan dalam sistem gateway, maka client dalam kondisi lost. Dengan

demikian client harus melakukan pesan connecting lagi.

3.5. Implementasi Perangkat Client

Dengan perancangan yang telah dibuat, maka selanjutnya implementasi perangkat client

yang terdiri Arduino Nano, NRF24L01 sebagai modul komunikasigelombang radio,dan sensor untuk mengambil data. Komponen tersebut terhubung dengan penggunaan jumper. Hasil

(4)

Gambar 5 Perangkat Keras Client

3.6. Implementasi Perangkat Gateway

Dalam tahapan perancangan yang telah dilakukan, sistem gateway terdiri dari Arduino

Nano sebagai mikrokontroler yang pengolah pesan dan data dan juga sebuah modul NRF24L01 yang merupakan komponen komunikasi sisem. Hasil implementasi dapat dilihat pada Gambar 6.

Gambar 6 Perangkat Keras Gateway

4. PENGUJIAN

4.1. Kerja Awal Komunikasi Client dan

Gateway.

Pengujian ini dilakukan untuk mengetahui apakah tahapan sebelumnya sudah sesuai dengan harapan penelitian. Proses awal yang berjalan adalah melakukan proses koneksi terhadap kedua perangkat.

Gambar 7 Perangkat client melakukan proses koneksi

Pada Gambar 7 menggambarkan bahwa sistem client memberi pesan secara broadcast

melalui pesan kepada gateway yang sedang aktif. Hasil dari pengujian tersebut yaitu client

menerima sebuah id gateway yaitu BD dan melakukan koneksi.

Gambar 8 Pesan yang ditujukan kepada client

Pada Gambar 8 merupakan hasil dari pengiriman pesan yang ditujukan kepada client

dari gateway, dimana gateway mengirim id

miliknya dan mengirimkan acknowledgement

untuk pesan connect.

Gambar 9 Perangkat client mentransfer data

menuju gateway

Pada Gambar 9 mendeskripsikan sistem

client mentransfer data yang diambil dari

lingkungan kepada sistem gateway yang secara

tidak langsung menginformasikan bahwa proses sebelumnya sudah berjalan baik.

Gambar 10 Perangkat gateway menerima data

sensor

Gambar 10 Perangkat gateway menerima

(5)

yang dikiriman sesuai.

4.2. Kerja Fitur Sleep dan Awake.

Pada pengujian mekanisme ini menguji sebuah siklus perubahan state dari client seperti aktif, sleep, dan awake.

Gambar 11 Perangkat client melakukan sleep

dan awake

Gambar 11 menunjukkan client melakukan perubahan kondisi dari aktif menuju sleep dan dilanjutkan dengan awake. Client mengirim pesan sleep dan gateway mengirim ACK sleep. Ketika proses sleep selesai, client mengirim pesan pingreq ketika awake dan menunggu balasan pesan pingresp.

Gambar 12 Perangkat gateway monitoring

waktu sleep

Gambar 12 menegaskan sistem gateway

menerima dan menyimpan waktu sleep dan

melakukan monitoring waktu tidur agar waktu yang diberikan sesuai dan tidak lebih. Perangkat

gateway menerima pesan pingreq dan

melakukan balasan pesan pingresp agar client

dapat terhubung kembali.

4.3. Kondisi Client Disconnect.

Pada pengujian mekanisme ini menguji sebuah siklus perubahan state dari client seperti aktif dan disconnect,

Gambar 13 Sistem client melakukan pengiriman

sebuha instruksi disconnect serta menerima

acknowledgement

Gambar 13 menggambarkan sistem client

melakukan pengiriman sebuah instruksi

disconnect dan client menunggu pesan acknowledgement dari sistem gateway. Dan

dilanjutkan client menjalankan proses disconnect.

Gambar 14 Sistem gateway mendapat instruksi

disconnect serta melakukan pengiriman

acknowledgement

Gambar 14 mengartikan sistem gateway

mendapat instruksi disconnect, gateway

langsung melakukan pengiriman pesan

acknowledgement yang diperlukan client. Client

akan disconnect yang tidak menggunakan waktu sehingga client dapat disconnect dengan waktu yang lama.

Gambar 15 Sistem client terkoneksi dengan

interrupt

(6)

masuk menuju kondisi aktif dengan trigger dari dengan sebuah input berupa ‘a’.

4.4. Kejadian Client pada State Lost.

Pada pengujian mekanisme ini client akan dibuat untuk masuk kedalam kondisi lost yang dideteksi oleh gateway.

Gambar 16 Gateway mendeteksi client dalam

kondisi lost

Gambar 16 menjelaskan gateway

melakukan monitoring kondisi client dan

mendapati bahwa client telah melewati durasi sleep ketika tidak mengirim pesan apapunmaka

dinyatakan telah masuk kedalam kondisi lost.

Gambar 17 Perangkat client melakukan koneksi

kembali

Gambar 17 menjelaskan bahwa setelah dideteksi terjadi lost maka client melakukan

koneksi kembali dengan melalukan trigger

dengan memasukkan melalui serial monitor

yaitu ‘a’.

4.4. Kerja 2 Client dan Gateway

Pada pengujian ini dilakukan dengan 2 buah client dan sebuah gateway. Kedua client

akan mengirim data yang diambil dari lingkungan dan pesan yang diperlukan kedua

client

Gambar 18 Sistem client1/id C1 melaksanakan proses koneksi dengan gateway

Gambar 19 Sistem client2/id C2 membuat koneksi ke gateway

Gambar 18 dan Gambar 19 menggambarkan hasil dari sistem client1(C1) serta client2(C2) yang telah tersambung kepada sebuah gateway maka kedua client telah berhasil mengirim pesan serta data yang didapat kepada

(7)

Gambar 20Perangkat Gateway menerima pesan

dari kedua client

Gambar 20 ditampilkan bahwa client2 tersambung kepada gateway dilanjutkan client1 tersambung dan mengirim data yang didapat dari lingkungan kedua client.

Gambar 21 Sistem client1/C1 menjalankan siklus sleep

Gambar 22 Sistem client2/C2 menjalankan siklus sleep

Gambar 21 dan juga Gambar 22

menggambarkan kedua sistem client

menjalankan siklus sleep/tidur yang dimulai dengan melakukan pengiriman pesan sleep

menuju sistem gateway dan akan melakukan

sleep ketika menerima pesan acknowledgement

dari gateway dengan durasi yang telah ditentukan. State awake terjadi ketika timer sleep

telah habis.

Gambar 23 Perangkat gateway mendapat pesan

tidur serta instruksi pingreq ketika kedua client

telah bangun

Gambar 23 menandakan sistem dari

gateway mendapat isntruksi tidur dan gateway

menyetujui dengan mengirim acknowledgement

yang menyetujui kondisi sleep kedua client. Client akan terkoneksi ketika gateway mendapat

(8)

Gambar 24 Sistem gateway mendapat instruksi

disconnect dari sisi client

Gambar 24 menggambarkan proses dari kedua client melakukan siklus disconnect yang melalui konfirmasi terlebih dahulu dari gateway. Kedua sistem client mendapat picu dari sisi

client untuk mengkoneksikan kepada sistem

gateway.

Gambar 25 Sistem dari client tidak melakukan

pengiriman (lost)

Gambar 25 menggambarkan hasil jika kedua

client dalam kondisi lost. Kondisi seperti ini

terjadi jika kedua client tidak melakukan komunikasi dengan gateway melebihi waktu

tidur client1 dan client2.

Gambar 26 Gateway mengkonfirmasi kedua client dalam kondisi lost

Gambar 26 menjelaskan gateway melakukan

monitoring dan ketika tidak ada pesan yang dikirim dari client selama waktu tidur keduanya,

maka dikatakan lost. Berbeda kondisi jika ada

satu client masih mengirim pesan kepada gateway maka belum dikatakan kondisi lost.

5. KESIMPULAN

Berdasarkan masalah dan proses seluruh tahapan dari metodeologi penelitian yaitu hasil dari perancangan sistem, implementasi sistem dan hasil dari pengujian sistem dalam penelitian, maka dapat dicapai kesimpulan penelitian seperti berikut:

1.

CIient dapat melakukan perpindahan

state-state yang terdapat dalam protokol MQTT-SN yaitu sleeping client yang memiliki state aktif, disconnect, sleep dan

awake, serta kondisi lost. Ketika terjadi perpindahan kondisi atau state, sistem dari

client akan mengirim pesan kepada

gateway dan akan dibalas dengan

acknowledgement dari gateway, namun ketika kondisi lost tidak membutuhkan komunikasi antar client dan gateway. Pada pengujian, client dapat berkomunikasi dengan mengirim pesan kepada gateway dan melakukan perubahan kondisi client dengan baik

2.

Client menggunakan kondisi sleep untuk menyimpan power yang tersedia pada perangkat client dan kondisi awake

(9)

client dan memulai koneksi. Kondisi sleep

dan awake client menggunakan fungsi

sleep yang durasinya dihitung oleh watch dog timer. Dari hasil pengujian, client

berhasil melakuka sleep yang didahului dengan meminta persetujuan dari gateway

ketika client mendapat ACK maka sleep

dapat dilakukan. Ketika waktu sleep telah habis maka client langsung berpindah menuju state awake.

3.

Gateway dapat mengetahui perpindahan

state. Pengetahuan perubahan terjadi karena client akan mengirim pesan state

yang bakal dituju menuju gateway.

Namun ketika kondisi lost, gateway yang menentukan kondisi tersebut. Dari hasil pengujian, sistem gateway mengetahui perpindahan kondisi dari sisi client

menggunakan pesan yang telah dikirim kepada gateway.

Adapun beberapa saran yang dapat dibagikan penulis agar dapat terjadi pengembangan pada penelitian-penelitian selanjutnya sebagai berikut:

1.

Dalam penelitian selanjutnya, penulis menyarankan menggunakan library yang tersedia pada modul NRF24L01 selain

library RF24 untuk mengetahui perbedaan hasil yang didapat pada penelitian. Dengan demikian akan didapat

library yang sangat baik digunakan

2.

Disarankan menggunakan Quality of Service 1 ataupun 2 agar dalam

pengiriman data dan pesan antar kedua sisi agar sistem berjalan lebih baik dan dapat diketahui kesalahan yang terjadi pada pengiriman.

3.

Ketika menggunakan client yang lebih dari satu dengan satu gateway, maka memerlukan id setiap komunikasi yang terjadi antar client dan gateway. Pemberian id pada client agar tidak terjadi tabrakan pesan dari kedua sisi.

6. DAFTAR PUSTAKA

Arduino. (20l7). Store Arduino. Retrieved from Arduino:

https://store.arduino.cc/usa/arduino-nano

BRÖRING ,et aI. (2011). New Generation Sensor Web EnabIement.

Hanifah, S., Akbar, S. R., & Amron, K. (2017).

lmplementasi Quality Of Service Pada Protokol Message Queue Telemetry Transport – Sensor Network (MQTT-SN) Berbasis Arduino Dan NRF24L0I.

IEC Market Strategy Board. (2014). lnternet of Things: WireIess Sensor Network.

KodaIi, R. K., & SoratkaI, S. (20l7). MQTT based Home Automation System Using ESP8266.

Mulya, H., Akbar, S. R., & Widasari, E. R. (2017). lmplementasi Gateway berbasis NRF24L0l dan ESP8266 pada Protokol Message Queue Telemetry Transport - Sensor Network (MQTT-SN).

Nordic Semiconductor. (2017). Nordicsemi.

Retrieved from Nordic Semiconductor Smarter Things:

http://www.nordicsemi.com/eng/Produc ts/2.4GHz-RF/nRF24L01

Stanford-Clark, A., & Truong, H. L. (2013).

Gambar

Gambar 1. Flowchart metodeologi penelitian
Gambar 2
Gambar 7 Perangkat client melakukan proses koneksi
Gambar 18 mengirim pesan serta data yang didapat kepada gatewaymenggambarkan hasil dari sistem client1(C1) serta client2(C2) yang telah tersambung kepada sebuah dan Gambar 19 gateway maka kedua client telah berhasil
+3

Referensi

Dokumen terkait

Aktivitas enzim katepsin dan kolagenase pada kulit ikan memiliki hubungan yang sangat erat dengan parameter kemunduran mutu ikan (r 0,7), yaitu dengan nilai

Protokol Message Queue Telemetry Protocol (MQTT) adalah protokol yang sering digunakan dalam penerapan konsep IoT. Protokol MQTT merupakan protokol yang ringan, karena

Gaya visual yang digunakan pada media sosial Instagram menggunakan warna yang sesuai dengan tema keseluruhan yaitu hitam putih untuk menunjukkan kesan dramatis dan

pendidikan formal dan non formal yang telah dimiliki terkait jabatan tersebut sehingga terkadang penempatan seseorang tidak sesuai dengan kapasitas yang dimiliki

Tuhan telah mengutusmu ke Toronto untuk menjadi salah satu gembala keluarga besar UKI, maka Tuhan pula yang akan selalu memimpin semua karya dan pelayananmu bagi

Untuk menjadi orang yang rohani harus dimulai dari dalam yaitu setelah kita menerima baptisan air, baptisan Roh Kudus dan masuk dalam penggembalaan yang kuat, yang tahbisan hamba

&emi teratasinya masalah dari program Keluarga berencana dengan melihat penyebab yang utama sangat di harapkan adanya kerjasama dan peninjauan kembali dari

Puji dan Syukur penulis panjatkan kepada Allah SWT karena telah melimpahkan rahmat dan hidayah- Nya yang sangat besar dan tidak pernah kepada penulis, sehingga