MQTT Broker&Client

IIoT’nin Kalbi: MQTT Protokolü, Broker ve Client Kavramları

Endüstriyel Nesnelerin İnterneti (IIoT) dünyasında, verinin bir noktadan diğerine hızlı, güvenli ve düşük bant genişliği harcayarak taşınması kritiktir. Bu ihtiyacı karşılayan en popüler iletişim protokolü MQTT'dir (Message Queuing Telemetry Transport).

Bu makalede MQTT mimarisinin temel taşları olan Broker ve Client kavramlarını derinlemesine inceleyeceğiz.


1. MQTT Nedir ve Nasıl Çalışır?

MQTT, Yayınla/Abone Ol (Publish/Subscribe) modeline dayalı bir mesajlaşma protokolüdür. Geleneksel istemci-sunucu modelinden farklı olarak, cihazlar birbirleriyle doğrudan iletişim kurmazlar. Bunun yerine, tüm trafik merkezi bir aracı (Broker) üzerinden yönetilir.

Temel Terimler:

  • Topic (Konu): Mesajların sınıflandırıldığı adreslerdir (Örn: fabrika/hat1/sicaklik).

  • Payload (Yük): Gönderilen asıl veri (Örn: 24.5).

  • QoS (Quality of Service): Mesaj iletim güvencesi seviyesidir.


2. MQTT Broker Nedir?

MQTT Broker, sistemin merkezi sinir sistemidir. Tüm mesajların toplandığı, filtrelendiği ve doğru alıcılara dağıtıldığı sunucudur.

Broker'ın Görevleri:

  1. Mesaj Filtreleme: Hangi istemcinin hangi konuya abone olduğunu takip eder.

  2. Mesaj Dağıtımı: Bir istemciden gelen mesajı, o konuya abone olan tüm diğer istemcilere iletir.

  3. Oturum Yönetimi: Bağlantısı kopan cihazların durumunu ve "Last Will" (Son Vasiyet) mesajlarını yönetir.

  4. Güvenlik: Kullanıcı adı/şifre doğrulama ve SSL/TLS sertifikalarını kontrol eder.

Popüler Broker yazılımları: Mosquitto, HiveMQ, EMQX.


3. MQTT Client (İstemci) Nedir?

MQTT ağındaki her uç nokta bir Client'tır. Bir istemci aynı anda hem veri gönderen (Publisher) hem de veri alan (Subscriber) olabilir.

İstemci Tipleri:

  • Sensörler/PLC'ler: Genellikle veriyi "yayınlayan" (Publish) taraftadırlar (Örn: Nem sensörü).

  • Yazılımlar/Dashboard'lar: Genellikle veriye "abone olan" (Subscribe) ve veriyi görselleştiren taraftadırlar.

  • Gateway Cihazları: Hubbox gibi cihazlar, sahadaki Modbus veya PLC verilerini alıp bir MQTT Client olarak Broker'a iletirler.


4. Neden MQTT Kullanmalıyız?

  • Düşük Bant Genişliği: Mesaj başlıkları çok küçüktür (minimum 2 byte), bu da hücresel (4G/LTE) bağlantılarda maliyet avantajı sağlar.

  • Çift Yönlü İletişim: Hem cihazdan buluta veri göndermek hem de buluttan cihaza komut yollamak çok kolaydır.

  • Ölçeklenebilirlik: Tek bir Broker binlerce farklı istemciyi aynı anda yönetebilir.

  • Güvenilirlik: Zayıf ağ bağlantılarında bile veri kaybını önleyen mekanizmalara sahiptir.


5. Hubbox ve MQTT Entegrasyonu

Hubbox Connect cihazları, sahadaki protokolleri (Modbus TCP, FINS, Siemens S7 vb.) MQTT'ye dönüştüren güçlü birer MQTT Client olarak çalışabilir.

Dahili Node-RED arayüzü sayesinde:

  1. PLC verilerini okuyabilir,

  2. Bu verileri JSON formatına sokabilir,

  3. Yerel veya bulut tabanlı bir MQTT Broker'a güvenli bir şekilde yayınlayabilirsiniz.