
Cara Kerja dan Penjelasan Mengenai Protokol MQTT untuk IoT internet of things – MQTT adalah protokol pesan berbasis standar, atau seperangkat aturan, yang digunakan untuk komunikasi mesin-ke-mesin. Sensor pintar, perangkat yang dapat dikenakan, dan perangkat Internet untuk Segala (IoT) lainnya biasanya harus mengirim dan menerima data melalui jaringan dengan sumber daya dan bandwidth terbatas. Perangkat IoT ini menggunakan MQTT untuk transmisi data, karena mudah diterapkan dan dapat mengomunikasikan data IoT secara efisien. MQTT mendukung pengiriman pesan antara perangkat ke cloud dan cloud ke perangkat.
Bila sebelumnya kita banyak membahas komunikasi berbasis webserver menggunakan teknologi ajax yang didalamnya menggunakan HTML, Java Script, dan CSS. Maka MQTT tidak membutuhkan hal tersebut karena komunikasi yang sifatnya bisa 2 arah.
Broker, Publiser, dan Subcriber
Contents
Protokol HTTP menggunakan cara kerja sever dan klien. Klien akan mengirim request ke Server dan Server akan me respon permintaan klien yang disebut dengan request / respond. Sedangkan dalam MQTT itu ada yang namanya Broker sebagai server yaitu menerima sekaligus mengirimkan kembali data. Publiser akan mengirimkan berita/message berdasarkan topic sedangkan Subcriber akan menerima.
Dalam konsep IoT ada hal yang penting yaitu mikrokontroler akan mengirimkan informasi sekaligus juga bisa menerima pesan/perintah. Sehingga protokol MQTT sangat pas digunakan untuk hal tersebut.
MQTT yang hemat bandiwidth
MQTT awalnya dikembangkan oleh IBM pada tahun 1999 untuk melakukan monitoring terhadap sebuah pipa minyak yang ada di suatu tempat yang jauh dan sulit dijangkau. Tujuan dari proyek ini adalah untuk mempunyai sebuah protocol, yang sangat bandwidth-efficient dan mengonsumsi tenaga batere se-sedikit mungkin, hal ini karena perangkat terkoneksi melalui jaringan satelit yang sangat mahal pada jaman itu.
Protocol ini menggunakan konsep publish/subscribe. Berbeda dengan HTTP yang menggunakan konsep request/response. Pubsub adalah event-driven dan memungkinkan dari server untuk mengirim pesan ke client kapanpun dibutuhkan. Pusat komunikasi ada di MQTT broker, broker ini bertanggung jawab atas terkirimnya semua pesan termasuk jalur distribusinya. Setiap client yang mengirim pesan ke broker, termasuk juga mengirimkan topic ke dalam pesan tersebut.
Topic merupakan bagian dari routing information untuk broker-nya. Tiap klien yang menginginkan menerima pesan, bisa meng-subscribe ke suatu topic tertentu dan broker akan mengirimkan semua message yang cocok dengan pola (pattern) topic tersebut kepada client yang sesuai. Mekanisme tersebut membuat klien tidak perlu untuk tau satu sama lain untuk bisa berkomunikasi, melainkan mereka cukup berkomunikasi menggunakan topic. Arsitektur semacam ini membuat solusi percakapan bisa dikembangkan dengan skala besar (scalable) karena tidak memerlukan dependencies antara data producers dan data consumers.
Mencoba Protokol MQTT untuk IoT internet of things viar server Local
Agar lebih jelasnya, kita akan mencoba MQTT dari https://mosquitto.org/download/, Oiya MQTT bersifat open source sehingga ada banyak broker ditulis dengan beragam bahasa. Bahkan banyak tersedia broker gratisan. Setelah kalian download sesuai jenis OS nya dan jangan lupa setting PATH nya ya
Menjalankan Broker
Untuk menjalankan broker cukup buka terminal ketikan
mosquitto
Akan terlihat broker sedang berjalan
Menjalankan Publisher
Untuk menjalankan publiser cukup ketikan berikut
mosquitto_pub -h localhost -t pesan -m "test"
Artinya
- -h atau host dengan alamat localhost
- -t atau topiknya adalah pesan
- -m atau message nya adalah “test”
Menjalankan Subcriber
Untuk menjalankan subcriber nya cukup ketikan topik yang sesuai yaitu -h localhost -t pesan
mosquitto_sub -h localhost -t pesan
maka akan tampil message nya
Sangat mudah bukan? misalkan kita punya banyak sensor, maka ganti saja topicnya menjadi berikut
- -t ruangan1 -m 10
- -t ruangan2 -m 20
Protokol MQTT untuk IoT internet of things dengan Broker Gratisan
Nah sekarang kalian coba matikan broker moquitto nya, kita akan mencoba broker online yang gratisan dan menggunakan 2 komputer yang berbeda untuk publiser dan subcriber. Alamat brokernya yaitu https://iyoti.id dengan alamat host nya yaitu free.mqtt.iyoti.id
Menjalankan Publisher
mosquitto_pub -h free.mqtt.iyoti.id -t pesan -m "hallo broker"
Menjalankan Subcriber
mosquitto_sub -h free.mqtt.iyoti.id -t pesan
Nah dengan cara tersebut kalian bisa menggunakan NodeMCU sebagai publisher sekaligus subcriber, misalkan dengan membuat jaringan hotspot sendiri dan menjalakan server/broker menggunakan PC. Library NodeMCU sudah ada kok implementasi NodeMCU. Nanti kita akan bahas
Mencoba Protokol MQTT untuk IoT internet of things untuk Berkirim file via MQTT
Sebenarnya ini tidak direkomendasikan, karena pada dasarnya MQTT pada sisi subcriber akan menerima text, tapi bila penasaran, kita akan coba mengirimkan file CSV saja yaitu bmri.csv berisi data saham
mosquitto_pub -h free.mqtt.iyoti.id -t pesan -f bmri.csv
berikut tampilan dari sisi subcriber