HTTP Üzerinden MQTT Kullanma

HTTP Üzerinden MQTT Kullanma

 


HTTP Üzerinden MQTT Kullanma

 


MQTT (MQ Telemetri Transport), ağ sınırlamaları olan istemcilere basit bir şekilde telemetri bilgisi sağlayan bir mesaj protokolüdür. Protokol esas olarak M2M (Makineden makineye) iletişim için kullanılan ve nesnelerin internetinde (IoT) çok önemli bir rol oynayan bir yayınla-abone ol iletişim modeli kullanır. MQTT protokolü, zaman zaman güvenilir olmayan bağlantılar veya bant genişliği kısıtlamaları nedeniyle farklı gecikme seviyeleri yaşayabilen kablosuz ağlar için mükemmel bir seçimdir.  HTTP Üzerinden MQTT Kullanma HTTP Üzerinden MQTT Kullanma HTTP Üzerinden MQTT Kullanma HTTP Üzerinden MQTT Kullanma HTTP Üzerinden MQTT Kullanma HTTP Üzerinden MQTT Kullanma

Bu protokol, 1999 yılında Andy Stanford-Clark ve Arlen Nipper tarafından, asgari bant genişliği kullanımına vurgu yaparak, esas olarak petrol boru hatlarındaki sensörleri iletişim uydularıyla bağlamak için tasarlanmıştır.

 


MQTT'nin Avantajları:

 


  1. Verimli veri iletimi 
  2. Hafif bir protokol olduğu için uygulanması hızlı
  3. Veri paketlerinin en aza indirilmesi nedeniyle düşük ağ kullanımı
  4. Hızlı ve verimli mesaj teslimi
  5. Özellikle kablosuz cihazlar için iyi olan çok az miktarda güç kullanır
  6. İletişimde ağ bant genişliğinin azaltılması.

 


Neden HTTP üzerinden MQTT

 


MQTT HTTP
Veri paketi boyutu küçük olduğu için hızlı Daha büyük veri paketi boyutu kullandığı için yavaş
Broker ve müşteri arasındaki bağlantı her zaman açıktır Her istek için her seferinde bağlantıyı açın ve kapatın
Düşük güç tüketimi Daha yüksek güç tüketimi
Kısa ve uzun mesajlar göndermek için kullanışlıdır. Özellikle uzun mesajlar göndermek için kullanışlıdır.
Büyük uygulamalar için kolay yönetim sağlar. Büyük uygulamalar için yönetimi kolay değil

 


HTTP Üzerinden MQTT Kullanma



MQTT Broker:

 

İstemciler arasındaki iletişimi yöneten bir sunucudur. . Bir broker ,  kendisine her zaman yayınlayabilen ve abone olabilen birçok clint’a sahip olabilir..


 


HTTP Üzerinden MQTT Kullanma

 



MQTT Broker Türleri:

 


Mosquitto:

Mosquitto, C dilinde yazılmış hafif bir MQTT aracısıdır. TLS'yi destekler ve bir veritabanı kullanarak yetkilendirme için eklentiler vardır, ancak bazı dezavantajları vardır:


  1. Kümelemeyi desteklemediği için ölçeklenebilirlik açısından zordur.
  2. Çok çekirdekli CPU'lardan yararlanamaz.

 


RabbitMQ:

Bir eklenti aracılığıyla MQTT'yi destekleyen ' Erlang'  ile yazılmış çok popüler bir mesaj aracısıdır . TLS'yi destekler ve kümeleme de iyidir. Yetkilendirme doğrudan bir veritabanı kullanılarak yapılamaz, ancak veritabanı üzerinde bir HTTP REST sarmalayıcısı oluşturabiliriz ve bu, yetkilendirme için kullanılabilir. Bu aracı, AMQP protokolünü yerel olarak destekler, ancak MQTT uygulamasında QoS2 gibi bazı önemli özellikler eksiktir.


VerneMQ:

Erlang'da yerleşik, dağıtılmış, yüksek performanslı bir MQTT mesaj aracısıdır. VerneMQ, çok sayıda eşzamanlı yayıncı ve aboneyi desteklemek için yatay ve dikey olarak ölçeklenebilir. Bu aboneler herhangi bir düğüme bağlanabilir ve diğer herhangi bir düğümden de mesaj alabilir. Ayrıca VerneMQ esas olarak Erlang'da yazıldığından, çok iş parçacıklı bir işlemci üzerinde çalışabilir ve ayrıca çok çekirdekli işlemcilerden yararlanabilir. Ayrıca GitHub üzerinde aktif bir topluluktur ve kurulum için Docker görüntüleri de mevcuttur.


Eclipse Paho:

Bu, temel olarak farklı programlama dillerinde çeşitli MQTT uygulamaları için bir şemsiye projedir. Açık kaynaklı bir MQTT istemci uygulamasıdır ve ayrıca büyük bir topluluk tarafından sürdürülür. Paho API, C/C++, Android, Arduino, Python, Java ve Rust gibi farklı dil ve platformları destekler. IoT projemizde Paho'yu kullanmak için uygun kitaplığı içe aktarmamız ve gereksinimlerimiz için kitaplık tarafından sağlanan çeşitli işlevleri kullanmaya başlamamız yeterli. RCP uygulaması, Eclipse eklentisi ve Java Swing uygulamasını içeren çeşitli GUI araçları da mevcuttur.



Çözüm

 

MQTT Protokolü, özellikle IoT'de kullanım için hafif ve hızlı bir protokoldür. IoSphere IoT' Platfomumuzda, cihazlar kablosuz olduğundan ve MQTT kullanılarak verimli bir şekilde elde edilebilen pille çalıştığından, temel endişe minimum pil ve ağ bant genişliği kullanımıdır.

 


Benzer

Makaleler