Penerapan IoT dengan Protokol MQTT

Tiara Erlinda
Mandiri Engineering
4 min readAug 31, 2020

Istilah IoT jadi makin santer dibicarakan pada dekade belakangan ini. Gaungnya pun tidak kalah dengan istilah Ojol dan Opang yang sering didengar buat para pelanggan ojek aplikasi seperti saya. Memang IoT itu sebetulnya apa ya ? Karena kalau dijabarkan, IoT itu cuma kependekan dari Internet Of Things atau internet untuk segalanya. IoT sendiri ialah sebuah konsep untuk smart device yang memiliki fitur yang dapat terkoneksi ke jaringan internet, sehingga smart device tersebut dapat menerima dan mentransfer data secara otomatis tanpa interaksi manusia. Konsep IoT ini bisa juga dimanfaatkan untuk kebutuhan home automation, yaitu sistem untuk mengontrol perangkat perangkat yang ada dirumah secara remote, seperti Lampu, AC dan lain sebagainya.

IoT banyak digunakan pada saat ini untuk berbagai kepentingan. Selain untuk home automation, salah satu pengaplikasian dari IoT ialah untuk memantau suhu dan kelembaban dengan menggunakan sensor dan dapat dipantau secara real time lewat dashboard Grafana, contohnya. Sebagai contoh ketika suatu ruangan sudah ditempatkan sebuah perangkat arduino dan sensor suhu dan kelembaban DHT 11. Lalu lewat device Arduino ini, suhu dan kelembaban udara yang terbaca oleh sensor itu, dikirim ke cloud dengan menggunakan protokol MQTT.

Pada tulisan kali ini, Saya akan lebih dalam lagi membahas mengenai protokol MQTT atau Message Queue Telemetry Transport . Protokol MQTT ialah salah satu protokol yang sering digunakan untuk keperluan Internet of Things yang berjalan di atas TCP/IP dan bersifat open source. Protokol MQTT sebuah protokol yang diciptakan pada tahun 1999 oleh Dr. Andy Stanford-Clark dari IBM dan Arlen Nipper dari Arcom.

Protokol MQTT merupakan protokol ringan yang digunakan untuk berkomunikasi dan dapat menghemat daya dan bandwith. Hal lain yang harus disebutkan adalah bahwa MQTT sangat mudah digunakan di sisi klien mengingat MQTT sendiri sistemnya berupa Publish dan Subscribe. Berikut beberapa istilah serta pengertian pada protokol MQTT, diantaranya ialah :

1. Publish dan Subscribe

Pola dari publish dan subscribe ialah memisahkan antara klien yang mengirimkan pesan atau publisher dan klien yang menerima pesan atau subscriber. Subscriber tidak dapat mempublikasikan pesan ke klien lain secara langsung dan tidak tahu apakah ada klien yang menerima pesan itu. Arsitektur ini memungkinkan solusi yang sangat berskala tinggi tanpa ketergantungan antara produsen data dan konsumen data. Hubungan antar publisher dan subscriber ditangani oleh komponen ketiga yaitu broker. Tugas broker adalah menyaring semua pesan masuk dan mendistribusikannya dengan benar ke subsciber

2. Topic

Sebuah pesan dikirimkan dari publisher melalui broker ke satu atau lebih subscriber menggunakan topic dan topic ialah string yang dipisahkan dengan garis miring (/). Setiap pesan yang dikirimkan harus menyertakan topic tertentu agar dapat diterima oleh subscriber. Maka dari itu subscriber hanya menerima pesan sesuai dengan topic yang ditentukan atau yang sudah menjadi langganan.

3. Message

Message merupakan data yang dikirimkan oleh publisher untuk diterima oleh subscriber. Message dapat menampilkan suatu data atau untuk menjalankan suatu perintah. Sehingga suatu publisher mengirimkan pesan kepada subscriber sesuai dengan topic.

4. Broker

Broker pada MQTT merupakan titik komunikasi utama yang bertanggung jawab untuk mengirimkan semua pesan antara publisher dan subscriber yang sudah berlangganan. MQTT Broker, juga dikenal sebagai MQTT Message Server, dapat berupa server atau sekumpulan server yang menjalankan perangkat lunak MQTT Message Server. MQTT broker bertanggung jawab untuk menerima koneksi jaringan dari klien dan menangani permintaan klien untuk subscribe atau unsubsciber dan publish, serta meneruskan pesan yang diterbitkan oleh publisher ke subscriber. Setiap subscriber yang ingin menerima pesan berlangganan dengan topic tertentu akan dikirimkan suatu pesan oleh broker.

Nah, Keunggulan dari protokol MQTT inilah ialah time decoupling yang membuat publisher dan subsciber tidak dapat terkoneksi secara bersamaan sehingga client akan tetap menerima data yang tertunda sebelumnya. MQTT memberikan tingkat kualitas layanan atau yang disebut QoS. Level ini menjamin keandalan pengiriman pesan. Pesan level 0 dikirim hanya sekali. Pesan dikirim tergantung pada keberadaan jaringan, dan tidak ada upaya untuk mengirimkan pesan kembali. Lalu Level 1 ialah pesan dikirim setidaknya sekali sehingga jika subsciber tidak mengenali (mengakui) pesan tersebut, kemudian broker akan mengirim pesan ke publisher untuk menerima status pengakuan pesan dari subscibrer. Level 2 adalah memastikan bahwa pesan telah diterima. Dengan level ini, dapat dipastikan bahwa file pesan pasti tersampaikan dan terhindar dari duplikasi pesan yang dikirim

Dengan adanya teknologi ini, memudahkan untuk dapat berkomunikasi antara client-server tanpa harus mengirimkan request terlebih dahulu. Sangat memudahkan bukan?

--

--