spot_img

IOT Aygıtları için Bir Mesajlaşma Protokolü: MQTT

KENAN ŞAHİN
AR-GE VE TEKNİK DESTEK MÜHENDİSİ

Sınırlı ağlar (düşük bant genişliği) ve yüksek gecikme süresine sahip IoT aygıtları için bir mesajlaşma protokolü olan MQTT, publish (yayımlama) ve subscribe (abone olma) iletişim modelini kullanır. Genellikle makineden makineye (M2M) tercih edilen MQTT, nesnelerin interneti (IoT) için önemli bir rol oynar.

Bant genişliği ve CPU sınırlamalarına uyum sağlamak için düşük maliyetli bir protokol olarak oluşturulan MQTT, iletişim için güvenilir ve etkili bir yol sağlayabildiği gömülü bir ortamda çalışacak şekilde tasarlanmıştır. MQTT, ara sıra bant genişliği kısıtlamaları veya güvenilmez bağlantılar nedeniyle değişen düzeylerde gecikme yaşayan kablosuz ağlar için iyi bir seçim. Protokol, otomotivden enerjiye ve telekomünikasyona kadar birçok sektörlerde uygulanıyor.

Kullanılabilir bant genişliğini en üst düzeye çıkarmayı amaçlayan MQTT’nin yayınla / abone ol (pub / sub) iletişim modeli, bir uç nokta ile doğrudan iletişim kuran geleneksel istemci-sunucu mimarisine bir alternatiftir. Buna karşılık, pub / sub modelinde, bir mesaj gönderen istemci (yayıncı), istemciden veya mesajları alan istemcilerden (veya abonelerden) ayrılır. Ne yayıncılar ne de aboneler birbirleriyle doğrudan iletişim kurduğundan, üçüncü taraflar – aracılar – aralarındaki bağlantılarla ilgilenir. Bir aygıt (istemci) bir sunucuya (aracıya) veri göndermek istediğinde buna yayınlama adı verilir. İşlem tersine çevrildiğinde buna abone denir. Pub / sub modeli altında, birden fazla istemci (client) bir aracıya (broker) bağlanabilir ve ilgilendikleri konulara abone olabilir. Abone olan bir istemciden bir aracıya bağlantı koparsa, aracı iletileri ara belleğe alır ve tekrar çevrimiçi olduğunda bunları aboneye gönderir. Yayımlama istemcisinden aracıya olan bağlantı haber verilmeksizin kesilirse, aracı bağlantıyı kapatabilir ve yayıncıdan gelen talimatlarla birlikte abonelere önbelleğe alınmış bir mesaj gönderebilir.

IOT

Bir MQTT aracısı, mesaj gönderen istemciler ve bu mesajları alan aboneler için bir aracı görevi görür. Bir postane benzetmesinde, komisyoncu postanenin kendisidir. Tüm mesajların, aboneye teslim edilmeden önce aracıdan geçmesi gerekir. Aracıların milyonlarca eşzamanlı olarak bağlı MQTT istemcisini idare etmesi gerekebilir, bu nedenle bir MQTT aracısı seçerken işletmeler bunları ölçeklenebilirlik, entegrasyon, izleme ve arızaya dayanıklılık yeteneklerine göre seçmelidir. MQTT’nin Avantajları ve Dezavantajları MQTT’nin rakip protokollere göre bazı avantajları ve dezavantajları bulunuyor.

  • Verimli veri iletimi ve hafif bir protokol olması nedeniyle hızlı,
  • Minimize edilmiş veri paketleri nedeniyle düşük ağ kullanımı,
  • Verimli veri dağıtımı,
  • Uzaktan algılama ve kontrolün başarılı bir şekilde uygulanması,
  • Hızlı, verimli mesaj teslimi,
  • Bağlı olduğu cihazlar için düşük güç tüketimi,
  • Optimize ağ genişliği.
  • MQTT, Kısıtlı Uygulama Protokolü’ne (CoAP) kıyasla daha yavaş iletim döngülerine sahiptir.
  • MQTT’nin kaynak keşfi esnek konu aboneliği üzerinde çalışırken, CoAP sabit bir kaynak keşif sistemi kullanır.
  • MQTT şifrelenmemiştir. Bunun yerine, güvenlik şifrelemesi için TLS / SSL (Aktarım Katmanı Güvenliği /Güvenli Yuva Katmanı) kullanır.
  • Küresel olarak ölçeklenebilir bir MQTT ağı oluşturmak zordur.

Hafif özellikleri nedeniyle MQTT, aşağıdakiler de dahil olmak üzere birçok uzaktan izleme içeren uygulamalar için iyi çalışır.

  • Bir tehlikenin geçerli olup olmadığını belirlemek için yangın dedektörleri veya hırsızlık algılaması için
    hareket sensörleri gibi sensörlerin senkronizasyonu,
  • Hastaneden ayrılan hastalar
    için sensörler kullanarak sağlık parametrelerinin izlenmesi,
  • İnsanları tehlikeye karşı uyaran sensörler.

Başka bir uygulama örneği olarak, MQTT’nin düşük veri ve enerji kullanımından yararlanan, gerçek zamanlı iletişim için metin tabanlı bir mesajlaşma uygulamasıdır. Örneğin; Facebook, Messenger uygulaması için MQTT’yi kullanıyor, çünkü protokol yalnızca cep telefonundan telefona mesajlaşma sırasında pil gücünden tasarruf sağlıyor, aynı zamanda dünya genelindeki tutarsız internet bağlantılarına rağmen mesajların milisaniyeler içinde verimli bir şekilde teslim edilmesine de imkan yaratıyor.

Amazon Web Services (AWS), Google Cloud, IBM Cloud ve Microsoft Azure dahil olmak üzere çoğu büyük bulut hizmeti sağlayıcısı MQTT’yi destekliyor.

MQTT, akıllı evler, sağlık hizmetleri, lojistik, endüstri ve üretim gibi ortamlarda gerçek zamanlı analitik, önleyici bakım ve izleme gibi amaçlarla M2M ve IoT cihazlarını kullanan uygulamalar için çok uygundur.

IOT