MQTT Protokolü Nedir? IoT'de Neden Bu Kadar Yaygın?
MQTT'nin temeli
MQTT (Message Queuing Telemetry Transport), cihazların doğrudan birbirleriyle konuşmak yerine merkezi bir broker üzerinden mesaj alışverişi yaptığı bir protokoldür. Bir cihaz belirli bir konuya (topic) mesaj yayınlar, o konuya abone olan herkes mesajı alır. Protokol OASIS standardıdır; yaygın sürümler 3.1.1 ve 5.0'dır.
Topic yapısı
Topic'ler klasör yolu gibi hiyerarşiktir: fabrika/hat3/makine07/sicaklik. Aboneler joker karakter kullanabilir: fabrika/hat3/+/sicaklik hattaki tüm makinelerin sıcaklığını, fabrika/# tüm fabrikayı dinler. İyi tasarlanmış bir topic şeması, sistem büyüdükçe düzeni korur.
QoS seviyeleri
- QoS 0 – en fazla bir kez: Gönder ve unut. Kayıp olabilir; sık gelen sensör verisi için uygundur.
- QoS 1 – en az bir kez: Teslim garanti, ama mesaj tekrarlanabilir.
- QoS 2 – tam olarak bir kez: En güvenilir ama en yavaş; sayaç ve komut gibi kritik veriler için.
IoT için faydalı özellikler
- Retained message: Bir konunun son değeri saklanır; yeni abone hemen güncel durumu alır.
- Last Will and Testament: Cihaz beklenmedik şekilde koparsa broker önceden belirlenen mesajı (“çevrimdışı”) yayınlar.
- Kalıcı oturum: Bağlantı koptuğunda kaçırılan mesajlar yeniden bağlanınca teslim edilir.
- Küçük başlık boyutu: Mobil ağ ve düşük güçlü cihazlarda verimlilik.
Popüler broker'lar
Mosquitto (hafif, açık kaynak), EMQX ve HiveMQ (yüksek ölçek, kümeleme) ile AWS IoT Core, Azure IoT Hub gibi yönetilen servisler yaygın seçeneklerdir.
MQTT güvenliği
- Mutlaka TLS (genellikle port 8883) kullanın; şifresiz 1883 portunu internete açmayın
- Cihaz başına kullanıcı adı/parola veya istemci sertifikası
- Topic bazında yetkilendirme (ACL): Her cihaz sadece kendi topic'ine yazabilmeli
- Anonim erişimi kapatın
MQTT mi HTTP mi?
Sürekli ve sık veri gönderen, bağlantısı kararsız cihazlar için MQTT; seyrek veri gönderen veya mevcut web altyapısına doğrudan bağlanması gereken sistemler için HTTP/REST daha uygun olabilir.
Sonuç
MQTT, IoT mimarisinin en sağlam yapı taşlarından biridir. Sahanız için doğru iletişim mimarisini kurmak isterseniz IoT yazılım geliştirme sayfamıza göz atabilir veya ücretsiz keşif görüşmesi talep edebilirsiniz.