Telefon: 0 (552) 380 25 25  |  Hafta içi 10:00–18:00 · Teknik destek 7/24

🇬🇧 EN

Digital Bridge Blog

IoT ve Donanım

MQTT Nedir? Broker, Topic ve QoS ile Endüstriyel IoT'de Güvenilir Veri Taşıma Rehberi

MQTT nedir, nasıl çalışır? Broker, topic, QoS, retained mesaj ve güvenlik ayarlarını öğrenin; sahadan buluta kayıpsız IoT veri akışını adım adım kurun.

8 dk okuma  · Digital Bridge Mühendislik Ekibi
MQTT Nedir? Broker, Topic ve QoS ile Endüstriyel IoT'de Güvenilir Veri Taşıma Rehberi

MQTT, cihazların veriyi merkezi bir aracıya (broker) "konu" (topic) adıyla yayınladığı, o veriyi isteyen yazılımların da aynı konuya abone olarak aldığı hafif bir yayınla/abone ol mesajlaşma protokolüdür. Az bant genişliği harcar, kopan bağlantıya dayanıklıdır; bu yüzden sensörden, ağ geçidinden ve uzak sahalardan buluta veri taşımanın en yaygın yollarından biridir.

Sahadan gelen veri neden yolda kayboluyor?

Tipik bir IoT projesi birkaç sensör ve bir web servisine doğrudan istek atan bir cihazla başlar. İlk haftalarda sorun görünmez. Sonra saha sayısı artar, GSM bağlantısı gece yarısı kopar, sunucu bakıma girer ve o aralıkta gelen ölçümler sessizce kaybolur.

Asıl sorun protokol seçiminden çok mimaridir. Her cihaz her yazılımla ayrı ayrı konuştuğunda, yeni bir rapor ya da yeni bir alıcı eklemek için cihazların yazılımını güncellemek gerekir. Sahadaki yüzlerce cihaza yazılım göndermek ise hem risklidir hem de yavaştır.

MQTT bu bağımlılığı koparır. Cihaz yalnızca broker'ı tanır; SCADA, raporlama, alarm servisi ya da zaman serisi veritabanı aynı veriye birbirinden habersiz abone olur. Yeni bir alıcı eklemek cihaza dokunmadan yapılır.

Güvenilmez veri akışının maliyeti

Bağlı cihaz sayısı büyüdükçe küçük veri kayıpları büyük kör noktalara dönüşür. IoT Analytics'in State of IoT 2025 raporuna göre bağlı IoT cihazı sayısının 2025'te %14 artarak 21,1 milyara, 2030'da ise 39 milyara ulaşması bekleniyor. Bu ölçekte "cihaz başına ayrı bağlantı" düzeni yönetilemez hale gelir.

Veri geç ya da eksik geldiğinde ilk bedel üretimde ödenir. Alarm sensörde doğmuş ama merkeze ulaşmamışsa duruş, ancak biri fark ettiğinde başlar gibi görünür.

Siemens'in The True Cost of Downtime 2024 raporuna göre büyük üretim tesisleri ayda ortalama 25 plansız duruş yaşıyor ve ayda 27 saat üretim kaybediyor.

İkinci bedel güvenliktir. Parolasız, şifrelemesiz açılmış bir broker, sahadaki tüm verinin ve bazen komutların herkese açık olması demektir. Verizon 2026 Data Breach Investigations Report verisine göre fidye yazılımı tüm ihlallerin %48'inde yer aldı; internete açık ve korumasız bırakılan her servis, IoT broker'ı da dahil, saldırganlar için olası bir giriş noktasıdır.

MQTT nedir ve nasıl çalışır? Beş temel kavram

mqtt.org'un tanımına göre MQTT, nesnelerin interneti için OASIS standardı olan hafif bir yayınla/abone ol protokolüdür. Sahada bilinmesi gereken kavramlar şunlardır:

  • Broker: Tüm mesajların geçtiği merkezi sunucu. Kimin bağlanabileceğine, hangi konuya yazıp hangisini okuyabileceğine broker karar verir.
  • Topic (konu): Mesajın adresi. tesis1/hat2/pres3/yag_sicakligi gibi eğik çizgiyle ayrılmış bir yoldur; + tek seviyeyi, # altındaki her şeyi kapsayan joker karakterdir.
  • QoS (hizmet kalitesi): QoS 0 en fazla bir kez, QoS 1 en az bir kez, QoS 2 tam olarak bir kez teslim anlamına gelir. Seviye yükseldikçe güvence artar, trafik ve gecikme de artar.
  • Retained mesaj: Broker bir konudaki son değeri saklar; yeni abone olan ekran boş başlamaz, son bilinen durumu hemen görür.
  • Last Will (son vasiyet): Cihaz bağlanırken "beklenmedik şekilde koparsam şu mesajı yayınla" der. Böylece "cihaz çevrimdışı" bilgisi alarm sistemine kendiliğinden düşer.

Bağlantı standart olarak TCP üzerinden kurulur; şifresiz bağlantı için 1883, TLS ile şifreli bağlantı için 8883 numaralı port yaygın kullanılır. MQTT 5 sürümü, hata nedeni kodları, mesaj ömrü ve paylaşımlı abonelik gibi işletmede işe yarayan eklemeler getirdi.

Endüstriyel sahada sık karşılaşılan bir tamamlayıcı da Eclipse Foundation'ın Sparkplug B tanımıdır. MQTT içerik biçimini serbest bırakır; Sparkplug ise topic yapısını, veri tiplerini ve cihazın "doğum/ölüm" mesajlarını standartlaştırarak farklı üreticilerin cihazlarını aynı SCADA'da tutarlı gösterir.

MQTT mi, HTTP mi, OPC UA mı? Protokol karşılaştırması

MQTT her işin cevabı değildir; örneğin bina otomasyonunda HVAC ve aydınlatma cihazları çoğunlukla BACnet protokolüyle konuşur. Doğru katmana doğru protokolü koymak için sahada en sık karşılaşılan seçeneklerle yan yana bakmak gerekir:

ÖlçütMQTTHTTP / RESTOPC UAModbus TCP
İletişim modeliYayınla/abone ol, broker üzerindenİstek/yanıtİstemci/sunucu ve PubSubSorgulama (master/slave)
Veri modeliSerbest; Sparkplug ile standartlaşırSerbest, genelde JSONZengin, hiyerarşik, tipliNumaralı yazmaçlar
Kopuk bağlantıya dayanıklılıkYüksek: QoS, oturum, Last WillDüşük: yeniden deneme uygulamaya kalırOrtaDüşük
Bant genişliğiÇok düşük başlık yüküGörece yüksekOrtaDüşük
Tipik kullanım yeriSahadan buluta, çok alıcılı dağıtımUygulamalar arası entegrasyonMakine, SCADA, MES arasıSayaç, analizör, basit cihaz

Pratikte bu protokoller birbirinin rakibi değil, zincirin halkalarıdır. Enerji analizörü Modbus ile okunur, makine verisi OPC UA ile modellenir, bir ağ geçidi bu veriyi MQTT ile merkeze yayınlar.

İş sistemleriyle konuşma ise çoğu zaman ayrı bir API entegrasyonu katmanında çözülür; MQTT sahadan veriyi toplar, API ise bu veriyi ERP ya da CRM gibi uygulamalara taşır.

Ağ geçidinin hattın yanında veriyi süzüp özetlemesi, bağlantı koptuğunda ara belleğe alması üretimde edge computing yazımızın konusudur. Cihazın hangi taşıyıcı ağla (LoRa, NB-IoT, GSM) bağlanacağı ise ayrı bir karardır; bunu LoRa, NB-IoT ve GSM karşılaştırması yazısında ele aldık.

MQTT tabanlı veri akışını kurmak: 7 adımlık çerçeve

MQTT'yi kurmak birkaç saatlik iştir; onu yıllarca sorunsuz işletilebilir kılmak ise tasarım ister. Aşağıdaki sıra, en sık yapılan hataları baştan önler:

  1. Veri envanteri çıkarın. Hangi cihaz hangi değeri, hangi sıklıkta ve hangi birimle üretiyor, tek tabloya yazın. Değişmeyen değeri her saniye göndermek yerine yalnızca değiştiğinde göndermeyi (report by exception) planlayın.
  2. Topic hiyerarşisini tasarlayın. Kurum, tesis, alan, cihaz, ölçüm sırasını belirleyin; küçük harf ve sabit kurallarla yazın. Topic adına seri numarası ya da kişisel veri koymayın.
  3. Her veri için QoS seçin. Sık gelen sıcaklık okuması için QoS 0 çoğu zaman yeter; sayaç, adet ve alarm için QoS 1 ve tekrarlanan mesajı ayıklayan alıcı tercih edin. QoS 2'yi gerçekten gereken az sayıdaki akışa ayırın.
  4. İçerik biçimini standartlaştırın. Her mesajda değer, birim ve cihaz saatine göre zaman damgası olsun; sahada tutarlılık gerekiyorsa Sparkplug B'yi değerlendirin.
  5. Güvenliği ilk günden kurun. TLS zorunlu olsun, her cihaz kendi kimliğiyle bağlansın, erişim listesi (ACL) cihazın yalnızca kendi konusuna yazmasına izin versin. Broker'ı doğrudan internete açmayın.
  6. Kopma senaryolarını test edin. Last Will, kalıcı oturum ve cihaz tarafı ara bellek ile bağlantıyı bilerek koparıp verinin eksiksiz geldiğini doğrulayın.
  7. İzleme ve işletme kurallarını yazın. Broker'ın bağlı istemci sayısını, kuyruk büyümesini ve sertifika sürelerini izleyin; yeni cihaz eklerken izlenecek şablonu dokümante edin.

Canlıya almadan önce aşağıdaki kontrol listesiyle kurulumu gözden geçirin:

Kontrol noktasıSorulacak soruYanlış cevabın sonucu
Şifreleme1883 portu dışarıya kapalı, tüm istemciler TLS ile mi bağlanıyor?Veri ve parolalar ağda açık metin dolaşır
KimlikHer cihazın ayrı kimliği ya da sertifikası var mı?Tek sızan parola tüm sahayı açar
YetkiCihaz yalnızca kendi topic'ine mi yazabiliyor?Bir cihaz başka cihazın verisini taklit edebilir
KopmaCihaz çevrimdışı kalınca veri tamponlanıyor mu?Bağlantı gelince boşluklu grafik ve eksik rapor
KomutUzaktan komut gönderen topic'ler ayrı ve sıkı yetkili mi?Yetkisiz kişi sahadaki ekipmanı çalıştırabilir
İzlemeBroker yükü ve bağlantı sayısı için alarm var mı?Sorun müşteri şikâyetiyle fark edilir

Uzaktan komut içeren kurulumlarda MQTT güvenliği, sahadaki OT ağının genel güvenliğinden ayrı düşünülemez. Ağ ayrımı ve uzaktan erişim kuralları için OT güvenliği ve SCADA yazımıza bakabilirsiniz. Topic ya da mesaj içeriği bir kişiyle ilişkilendirilebilecek veri taşıyorsa (örneğin araç takip cihazında sürücü kimliği) bu veri kişisel veri sayılabilir ve KVKK yükümlülükleri gündeme gelir; bu durumda hukuki değerlendirmeyi kurulum öncesinde yaptırmak gerekir.

Digital Bridge'de MQTT projelerini nasıl yapıyoruz?

İşe keşif ve ihtiyaç analiziyle başlıyoruz. Sahadaki cihazları, mevcut protokolleri, bağlantı imkânını ve verinin hangi karar için gerektiğini çıkarıyor; ardından kapsamı, aşamaları ve bedeli net yazılı bir teklif hazırlıyoruz. Endüstri 4.0 projeleri için saha değerlendirmesi ücretsizdir.

Hazır cihazın karşılamadığı durumlarda IoT cihaz imalatı hizmetimizle elektronik kartı, kasayı ve gömülü yazılımı aynı ekipte tasarlıyoruz. Cihaz yazılımı ile panel yazılımını aynı ekip yazdığı için topic yapısı, QoS seçimi ve kopma davranışı iki tarafta tutarlı kalır. Bu sürecin aşamalarını IoT cihaz geliştirme süreci yazısında anlattık.

Pilotta birkaç noktayı bağlıyor, veriyi uzaktan izleme platformumuza taşıyoruz. Platform Modbus TCP/RTU cihazlarından, MQTT ile yayın yapan sensörlerden ve REST API ile veri gönderen sistemlerden veri alır; harita, alarm kuralı ve mobil uygulamayla aylık abonelikle çalışır. Platform seçerken nelere bakılacağını uzaktan izleme IoT platformu rehberimizde, sahadaki bir örneği pompa istasyonu uzaktan izleme yazısında bulabilirsiniz.

Fabrika içinde veri operatör ekranına ve üretim yazılımına da gitmelidir. MQTT'den gelen değerleri SCADA ve HMI ekranlarına bağlıyor, ERP ya da MES tarafını sistem entegrasyonları hizmetimizle kuruyoruz. Broker'ın ve ağın güvenlik tasarımında siber güvenlik danışmanlığı ekibimiz sürece dahil olur.

Nereden başlamalı?

MQTT'ye geçmek için tüm sahayı aynı anda değiştirmek gerekmez. Kaybolan verinin en çok maliyet yarattığı bir akışı seçin, topic yapısını ve QoS kararlarını yazılı hale getirin, birkaç cihazla kopma testini yapın. Protokolü PLC'si olmayan eski makinelere taşımak isterseniz eski makineleri dijitalleştirme rehberi iyi bir başlangıç noktasıdır; diğer yazılar için IoT ve donanım yazılarımıza göz atabilirsiniz.

Sahanızdaki cihazların MQTT'ye nasıl bağlanacağını birlikte değerlendirmek için bizimle iletişime geçin. Keşifte mevcut altyapıyı çıkarıp ilk pilot için somut bir kapsam öneriyoruz.

Sizin durumunuza birlikte bakalım

Sürecinizi anlatın; ihtiyaç analizinin ardından kapsamı, aşamaları ve bedeli içeren yazılı teklif gönderelim.

Teklif İsteyin 0 (552) 380 25 25
En çok sorulan sorular

Sık Sorulan Sorular

MQTT ile HTTP arasındaki temel fark nedir?

HTTP istek/yanıt modeliyle çalışır: istemci her seferinde sunucuya bağlanıp veri gönderir ya da ister. MQTT'de cihaz broker'a bir kez bağlanır ve bağlantıyı açık tutar; veri değiştikçe yayınlar, abone olan tüm yazılımlar aynı anda alır. Bu yüzden MQTT düşük bant genişliğinde, sık kopan bağlantılarda ve bir veriyi birden fazla alıcıya dağıtmada daha verimlidir.

Hangi QoS seviyesini seçmeliyim?

Sık tekrarlanan ve bir okumanın kaybı önemli olmayan ölçümler için QoS 0 yeterlidir. Sayaç, üretim adedi ve alarm gibi kaybolmaması gereken veriler için QoS 1 kullanılır; alıcı tarafta tekrarlanan mesajların ayıklanması gerekir. QoS 2 tam olarak bir kez teslim sağlar ancak en fazla trafiği yaratır, bu yüzden yalnızca gerçekten gereken az sayıdaki akışa ayrılmalıdır.

MQTT güvenli bir protokol mü?

MQTT'nin kendisi güvenliği zorunlu kılmaz; güvenlik broker ve istemci ayarlarıyla sağlanır. TLS ile şifreli bağlantı, her cihaz için ayrı kimlik veya sertifika, cihazın yalnızca kendi konusuna yazmasına izin veren erişim listesi ve broker'ın doğrudan internete açılmaması temel önlemlerdir. Bu ayarlar yapılmadan açılan bir broker, sahadaki veriyi ve komutları herkese açık bırakabilir.

Mevcut Modbus cihazlarımızı MQTT'ye bağlayabilir miyiz?

Evet, cihazları değiştirmek gerekmez. Sahaya konan bir ağ geçidi Modbus RTU veya TCP cihazlarını belirli aralıklarla okur, değerleri birim ve zaman damgasıyla MQTT mesajına çevirip broker'a yayınlar. Aynı ağ geçidi bağlantı koptuğunda veriyi ara belleğe alabilir ve yalnızca değişen değerleri göndererek hattın yükünü azaltabilir.

MQTT kurulumunun maliyeti neye bağlıdır?

Maliyeti protokolün kendisi değil, çevresindeki kurulum belirler. Bağlanacak cihaz ve ölçüm noktası sayısı, mevcut cihazlar için ağ geçidi ya da yeni donanım ihtiyacı, broker'ın yerel sunucuda mı bulutta mı çalışacağı, güvenlik ve sertifika yönetimi, SCADA veya ERP entegrasyonu ve platform aboneliği başlıca kalemlerdir. Net bir tutar için önce saha keşfi yapılıp yazılı teklif hazırlanmalıdır.

Sparkplug B nedir, kullanmak zorunlu mu?

Sparkplug B, MQTT üzerinde topic yapısını, veri tiplerini ve cihaz durum mesajlarını standartlaştıran bir tanımdır. Zorunlu değildir; tek üreticili, küçük kurulumlarda kendi topic ve içerik kurallarınız yeterli olabilir. Farklı marka cihazların aynı SCADA'da tutarlı görünmesi ve cihaz çevrimdışı bilgisinin standart biçimde alınması gerektiğinde Sparkplug B işi kolaylaştırır.

Sorunuz burada yok mu? Bize Sorun

Bir Mühendisle Konuşun

Çözmek istediğiniz işi anlatın, yazılı teklifle dönelim.