Friday, June 29, 2018

MQTT(Message Queuing Telemetry Transport) publisher subcriber

MQTT singkatan dari Message Queuing Telemetry Transport merupakan protokol pengirim dan penerima (publish dan subcribe) pesan yang dapat mengirim data binary, text, XML ataupun JSON. banyak digunakan pada aplikasi IoT(Internet of things) karena mendunkung konsep IoT.
berikut kemampuan dari MQTT:
  • Didesain sebagai protokol pesan untuk sensor dan perangkat dengan koneksi tidak stabil
  • Konsumsi daya rendah
  • Teknologi lama hampir 10 th
  • Opensource
  • Tersedia library untuk Android, Arduino, C, C++, C#, Java, JavaScript, .NET
  • Memiliki 3 QOS (at most once, at least once, exactly once)
Konsep IoT = objek fisik dengan elektronik, software, sensor dan koneksi jaringan yang saling bertukar dan mengoleksi data. Maka dari itu MQTT sebagai protokol komunikasi yang sangat direkomendasikan untuk sistem embeded meskipun tidak menutup kemungkinan digunakan pada sistem lain.
Banyak website yang membandingkan MQTT dengan protokol lain seperti dengan kafka atau HTTP, tetapi perlu diingat bahwa optimalisasi MQTT berada pada low power device and bandwidth, M2M(machine to machine) dan sederhana. M2M adalah komunikasi antara perangkat end-to-end tanpa interferensi manusia.

Instalasi(on mac)
  1. Install brew
  2. Command brew install mosquitto
  3. Siapkan ini sebelum dijalankan $ ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents dan $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist 
  4. Setelah itu tinggal jalankan dengan contoh : 
    $ mosquitto_pub -h 127.0.0.1 -t topic -m "Hello world!"
Banyak hal bisa dilakukan untuk publish dan subcribe pesan guys, disini panduan lengkapnya ya. Untuk menjalankan di sistem ambeded akan saya jelaskan di tulisan saya selanjutnya, tetapi fyi aja MQTT ini opensource dan librarynya sudah banyak banget guys tinggal pilah-pilah saja. Contohnya disini udah lengkap untuk sistem embeded.
Sekian dulu ya, sampai jumpa di tulisan selanjutnya.... salam lemper



No comments:

Post a Comment