MQTT nedir? IoT cihazlarında neden tercih edilir? QoS seviyelerini açıklayın.

Cevap

MQTT, TCP üzerinde çalışan, broker tabanlı hafif bir publish/subscribe mesajlaşma protokolüdür. Cihazlar birbirine doğrudan bağlanmaz; mesajları bir topic'e publish eder, o topic'e subscribe olan istemciler mesajı broker üzerinden alır.

Neden IoT'de tercih edilir?

  • Başlığı çok küçüktür (en az 2 byte); düşük bant genişliği ve düşük güç için uygundur.
  • Cihaz sadece dışarıya bağlantı açar; NAT veya firewall arkasında çalışır.
  • Publisher ve subscriber birbirini tanımaz (gevşek bağlılık).
  • Kesintili bağlantılar için retained mesaj, oturum kalıcılığı ve Last Will özellikleri vardır.

QoS seviyeleri

QoSGarantiMekanizmaKullanım
0En fazla bir kezGönder ve unutSık gelen sensör verisi
1En az bir kezPUBACK, gerekirse tekrar gönderim (kopya mesaj olabilir)Alarm, olay
2Tam olarak bir kez4 adımlı el sıkışmaFatura, sayaç gibi kopyası istenmeyen veriler

Diğer önemli özellikler

  • Topic hiyerarşisi ve wildcard: fabrika/hat1/sicaklik; + tek seviye, # çok seviye eşleşir.
  • Retained mesaj: Broker topic'in son değerini saklar ve yeni abone olana hemen gönderir.
  • Last Will and Testament (LWT): Cihaz bağlantısı beklenmedik şekilde koparsa broker önceden tanımlanmış bir mesaj yayınlar (ör. durum = offline).
  • Keep alive: Belirli aralıklarla PINGREQ gönderilerek bağlantının canlı olduğu anlaşılır.
  • MQTT 5: Reason code'lar, mesaj süresi (expiry), user property, shared subscription.

Güvenlik ve araçlar

Port 1883 düz TCP, 8883 TLS'tir. Üretimde TLS ve cihaz başına sertifika veya kimlik bilgisi kullanılmalıdır. Broker olarak Mosquitto, EMQX, HiveMQ veya AWS IoT Core; gömülü istemci olarak coreMQTT, Eclipse Paho Embedded C veya lwIP MQTT kullanılabilir.

mosquitto_sub -h broker.local -t "cihaz/+/sicaklik" -v
mosquitto_pub -h broker.local -t "cihaz/42/sicaklik" -m "23.5" -q 1 -r

TCP olmayan, UDP veya Zigbee gibi ağlar için MQTT-SN, istek/cevap modeli için ise CoAP alternatiftir.

  1. UART, SPI ve I2C arasındaki farklar nelerdir?OrtaHaberleşme ProtokolleriEmbedded
  2. CAN bus nasıl çalışır? Arbitration, hata yönetimi ve CAN FD farkını açıklayın.ZorHaberleşme ProtokolleriEmbedded
  3. SPI'da CPOL ve CPHA nedir? Dört SPI modu arasındaki fark nasıl açıklanır?OrtaHaberleşme ProtokolleriEmbedded
  4. I2C protokolü nasıl çalışır? Adresleme, ACK/NACK ve clock stretching nedir?OrtaHaberleşme ProtokolleriEmbedded
  5. UART'ta baud rate, frame yapısı ve parity nedir? RS-485 UART'tan nasıl farklıdır?KolayHaberleşme ProtokolleriEmbedded
  6. USB nasıl çalışır? Enumeration süreci, endpoint'ler ve transfer tipleri nelerdir?OrtaHaberleşme ProtokolleriEmbedded

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle