📝 Teknik Rehber

MQTT Nedir? IoT Mesajlaşma Protokolü

23.05.2026  ·  6 dk okuma

MQTT protokolü nedir, pub/sub modeli nasıl çalışır? QoS seviyeleri, TLS güvenliği ve Argus EMS'te MQTT ile enerji verisi iletimi.

MQTT Nedir? IoT Mesajlaşma Protokolü | Argus EMS

MQTT Nedir?

MQTT (Message Queuing Telemetry Transport), düşük bant genişliği ve güvenilmez ağlarda IoT cihazları için tasarlanmış hafif bir mesajlaşma protokolüdür. IBM tarafından 1999'da geliştirilen protokol, OASIS standardı olarak 2014'te yayımlanmıştır. TCP/IP üzerinde çalışır, mesaj boyutu minimumdur.

MQTT Yayınla-Abone Ol (Pub/Sub) Modeli

MQTT, geleneksel istemci-sunucu modelinden farklı olarak broker (aracı) üzerinden çalışır:

  • Publisher (Yayıncı): Veri üreten cihaz veya uygulama. Veriye konu adı (topic) etiketleyerek broker'a gönderir.
  • Broker: Mesajları alıp ilgili abone(ler)e iletir. Popüler örnekler: Mosquitto, HiveMQ, EMQX.
  • Subscriber (Abone): İlgilendiği topic'lere abone olur; broker yeni mesaj gelince iletir.

Bu mimari sayesinde yayıncı ve abone birbirini tanımak zorunda değildir; bağlantıları bağımsızdır. Bu özellik özellikle geçici internet bağlantısına sahip saha cihazları için çok değerlidir.

QoS Seviyeleri

  • QoS 0 — En fazla bir kez. Hızlı ama kayıp riski var.
  • QoS 1 — En az bir kez. Onay (ACK) mekanizmasıyla, tekrar gönderilebilir. Argus EMS bu seviyeyi kullanır.
  • QoS 2 — Tam olarak bir kez. Dört el sıkışma, en güvenilir ama en yavaş.

MQTT ve Enerji İzleme Sistemlerinde Kullanımı

Endüstriyel enerji izleme sistemlerinde MQTT, saha verilerini merkezi sunucuya taşımanın en verimli yoludur. Argus EMS mimarisinde:

  • Saha PC'deki Field Agent, Modbus/M-Bus cihazlardan okunan verileri MQTT mesajına dönüştürür
  • TLS şifreli bağlantıyla port 8883 üzerinden Linux sunucudaki Mosquitto broker'a gönderir
  • MQTT subscriber, mesajları alır ve PostgreSQL veritabanına yazar
  • Bağlantı kesilirse Field Agent SQLite kuyruğunda bekletir, bağlantı gelince toplu gönderir

MQTT TLS Güvenliği

Üretim sistemlerinde MQTT mutlaka TLS ile şifrelenmelidir:

  • Port 1883 (şifresiz) yalnızca localhost'a açık tutulur
  • Port 8883 (TLS) dış bağlantılar için kullanılır
  • Sertifika doğrulaması etkinleştirilir
  • İstemci kimlik doğrulaması için kullanıcı adı/şifre veya client certificate kullanılır

Retain ve Last Will Mesajları

Retain: Broker son mesajı saklar; yeni abone hemen son değeri alır. Cihaz durumu yayınlamak için idealdir.
Last Will: Bağlantı beklenmedik şekilde kesilirse broker bu mesajı yayınlar. Argus EMS Field Agent bağlantı kopmasını merkeze bu yöntemle bildirir.

Sık Sorulan Sorular

MQTT broker olarak ne kullanılır?
Açık kaynak Mosquitto en yaygın seçenektir; küçük ve orta ölçekli sistemler için idealdir. HiveMQ ve EMQX kurumsal özellikler sunar. Argus EMS Mosquitto ile test edilmiştir.
MQTT ile HTTP farkı nedir?
HTTP istek-yanıt modelinde çalışır; her veri için yeni bağlantı açılır. MQTT kalıcı bağlantıda çalışır; overhead minimumdur. Mobil veya zayıf bant genişliğinde MQTT çok daha verimlidir.
MQTT mesajları nasıl izlenir?
mosquitto_sub komutu veya MQTT Explorer aracıyla topic'leri gerçek zamanlı izleyebilirsiniz. Argus EMS backend'i zaten tüm topic'leri dinler ve anormallikleri loglar.
Field Agent bağlantı kesilince ne olur?
QoS-1 ve SQLite kuyruğu kombinasyonu sayesinde veri kaybı olmaz. Field Agent kuyruğa yazar; bağlantı kurulunca broker ACK alana kadar tekrar gönderir. 30 güne kadar tamponlama kapasitesi vardır.

Argus EMS ile Uygulayın

Demo talep edin, uzmanlarımız tesisinizdeki uygulamayı değerlendirsin.

Argus'u Tesislerinizde Görün

Bir demo oturumunda kendi verilerinizle sistemi keşfedin.