Sedikit Pengenalan

Internet of Things (IoT) semakin berkembang pesat, semakin banyak pula melahirkan produk-produk yang terhubung ke jaringan internet. Dengan IoT kita semakin dipermudah untuk memonitoring dan mengendalikan peralatan elektronik melalui jaringan internet yang dapat menggunakan antarmuka melalui komputer hingga smartphone.

BACA JUGA: PROJECT INTERNET OF THINGS WIFI ESP8266 VIA WEBSITE (PHP, MYSQL)

Pada artikel sebelumnya saya pernah membuat tutorial seputar pembuatan teknologi IoT dengan menggunakan metode HTTP Request. Pada artikel ini saya akan mengenalkan sedikit seputar metode yang jauh efektif dengan metode sebelum untuk diterapkan pada IoT. Dimana metode ini disebut dengan MQTT IoT. Seperti yang kalian tau, pada suatu jaringan internet banyak sekali protokol yang digunakan, namun MQTT yang cocok digunakan pada IoT, apa sih kelebihannya dibandingkan dengan menggunakan HTTP request. Kita perlu mengenal dulu apa itu MQTT.

Apa itu MQTT?

MQTT merupakan singkatan dari Message Queueing Telemetry Transport dikembangkan dikembangkan oleh IBM pada tahun 1999 untuk melakukan monitoring pada sebuah pipa minyak yang ada di suatu tempat yang jauh dan sulit dijangkau. Tujuan dari proyek ini adalah untuk membuat sebuah protocol pengiriman data, yang sangat bandwidth-efficient dan mengonsumsi tenaga batere se-sedikit mungkin, hal ini karena perangkat terkoneksi melalui jaringan satelit yang sangat mahal pada jamannya.

MQTT menggunakan konsep Publish / Subscribe. Berbeda dengan HTTP yang menggunakan konsep Request/Respone. Pusat komunikasi pada MQTT disebut Broker. Broker ini bertanggung jawab atas terkirimnya semua pesan termasuk jalur distribusinya. Setiap Client dapat menjadi Publisher ataupun Subscriber, lebih mudahnya bisa mengirim data atau menerima data. Data yang dikirim pada metode ini adalah  Topic dan MessegeTopic adalah suatu informasi yang ada pada Broker. Messege adalah data yang kita kirim. Sederhannya Topic adalah nama tabel nya dan Messege adalah datanya, contoh topic SUHU1 dan messege 30. Arsitektur semacam ini membuat solusi percakapan bisa dikembangkan dengan skala besar, karena tidak memerlukan ketergantungan antara data producers dan data consumers. Berikut ini ilustrasi Publish dan Subscribe pada protokol MQTT.

mqtt

HTTP vs MQTT

  • Protokol HTTP merupakan protokol yang sering kita gunakan. Contoh umumnya adalah URL pada browser “https://fanselectronics.com“. Protokol ini sering dan mudah digunakan untuk berhubungan dengan server, karena bisa melakukan komunikasi 2 arah. Saat url di eksekusi maka response dari server dapat langsung diterima, dimana server tersebut bisa berupa plain text ataupun berformat JSON. Ketika berhubungan dengan Hardware yang tidak memiliki static IP, protokol ini tidak dapat digunakan.
  • Protokol MQTT merupakan protokol yang khusus di rancang untuk komunikasi “mesin ke mesin” atau sederhananya untuk komunikasi dengan device atau mesin yang tidak memiliki alamat khusus. Protokol ini memiliki kemampuan publish dan subscribe sehingga dapat digunakan untuk komunikasi 2 arah baik antara server ataupun dengan device yang lain.

Contoh Kasus

  • Sebuah device digunakan untuk mengirim data sensor saja (hanya mengirim data ke server), maka protokol HTTP atau MQTT dapat digunakan.
  • Jika device tersebut ingin dapat menerima perintah maka device tersebut HARUS menggunakan protokol MQTT. walaupun sebernarnya bisa menggunakan HTTP, namun akan sangat memboroskan sumber daya server ataupun bandwidth client.

Belajar MQTT di Windows

Untuk memahami konsep dari MQTT ini, kalian bisa belajar dulu sederhana saja dengan menggunakan MQTT pada Windows. Disini saya menggunakan aplikasi MQTT yang dikembangkan oleh Mosquitto, silahkan download di mosquitto.org. Jangan lupa sesuaikan bit OS kalian, dan install aja seperti biasa, saran agar mempermudah instal pada drive C:\ (jangan di Program Filesnya) agar sama dengan tutorial dibawahnya. Berikut ini file dari MQTT Mosquitto:

Dari file installasi, ada tiga (3) file yang perlu kalian perhatikan, yaitu: moquitto.exemosquitto_sub.exe, dan mosquitto_pub.exe. Masing-masing file digunakan sebagai broker, subscriber, dan publisher. Kalian bisa menggunakan komputer kalian sebagai brokernya secara lokal atau kalian bisa menggunakan alamat broker lain yang banyak tersedia gratis. pertama-tama mari kita coba dulu menggunakan server lokal kita sebagai Broker.

MQTT Mosquitto Local Broker

Untuk brokernya kalian tinggal double-click mosquitto.exe, kemudian akan muncul CMD kosong seperti berikut:

Gak usah kawatir kosong, yang jelas kalian biarkan saja itu Broker sudah jalan. Kemudian untuk menjalankan Subscriber dan Pusblishernya, kalian dapat menjalankannya melalui Command Promt dengan buka RUN (CTRL+R) ketik CMD. Pertama kita akan jalankan Subscribernya kemudian kita set. Ikuti perintah yang ada pada gambar berikut ini:

Dari perintah diatas kalian akan menjalankan perintah sub dengan alamat broker local yaitu 127.0.0.1.

Perintah:

  • -h host
  • -t topic
  • -m messege

Disini saya menggunakan topic SUHU, kalian bisa ganti sesuai dengan kebutuhan. Kemudian tekan enter, kalian lanjut pada publishernya, karena subscriber sudah terkoneksi ke broker, jika ada data baru yang dikirim pada Topic SUHU, maka Broker akan mengirimkannya ke Subscriber (mirip, notif di youtube). Berikut ini perintah untuk Publishernya:

Setelah kalian Enter, maka hasil dari subscriber akan menerima data 30 pada Topic Suhu. Berikut hasilnya:

Dari sini kita sudah bisa mengirim data dan menerima data. Kalian bisa coba-coba lagi dengan Topic dan data yang berbeda.

MQTT Mosquitto Online Broker

Sekarang kita coba bagaimana penerapan MQTT IoT dengan Broker Online. Dimana kita perlu mencari dulu Broker gratis yang ada diinternet. Salah satunya kalian bisa menggunakan mqtt-dashboard.com, dimana alamat brokernya adalah broker.mqtt-dashboard.com. Perlu diperhatikan sebelum menggunakan broker gratisan. Dengan menggunakan broker gratis, tidak ada security tambahan untuk mengamankan data dan topic yang kalian buat, jadi semua orang bisa menggunakan Topic dan membaca Messege.  Saran saya kalian buat Topic sesusah mungkin untuk digunakan orang lain, semacam Kata Sandi gitu. Berikut ini perintah dan contoh hasil yang saya buat:

Disini saya mengirim data berupa suhu dengan messege data “10” pada topic FansXsuhu. jika kalian penasaran coba aja akses topic yang saya buat, pastinya ada data String “10”. Kecuali sudah diubah orang lain.

Oke semoga dari pembahasan diatas kalian setidaknya sudah paham dan mampu menggambarkan metode MQTT IoT. Untuk next artikel kita akan coba implementasikan metode MQTT ini dengan Menggunakan Arduino ESP8266 untuk menyalahkan dan mematikan LED. Jangan lupa join dengan forum kita di Facebook dan channel youtube kita, link sudah ada diatas website. Semoga bermanfaat dan salam Teknologi.