TEKLİF AL
TR

Internet of Things (IoT) ve diğer benzeri dağıtık sistemlerin hızla yayılmasıyla veri iletişiminin önemini artırmıştır. Düşük bant genişliği olan, gecikme süresi yüksek olan ve güvenlik açısından zayıf ağlar ve cihazlar gibi sistemlerin gereksinimleri, hafif ve güvenilir bir haberleşme protokolüne olan ihtiyacı doğurmuştur. MQTT (Message Queuing Telemetry Transport), böyle bir ihtiyacı karşılamak için tasarlanmış bir haberleşme protokolüdür. MQTT temel yapısı ile ağ bant genişliğini ve cihaz üzerindeki kaynak kullanımını minimal seviyelere indirmenin yanında güvenlik ve veri alışverişi esnasında teslimat güvencesi sağlamaya çalışır. Bu temel yapısı ile MQTT’ nin, M2M (Machine to Machine) ve Iot (Internet of Things) dünyasında önemi giderek artmaktadır. Bu makalede, MQTT’nin mimarisi, özellikleri, veri yapısı, çalışma prensipleri, kullanım alanları ve diğer haberleşme protokollerine göre üstünlükleri çeşitli alt başlıklar şeklinde incelenecektir.

MQTT Protokolünün Mimarisi ve Çalışma Prensibi

MQTT, basit ve hafif bir protokol olup, istemci-sunucu modeline dayanmaktadır. MQTT’ nin mimarisine ait temel bileşenler aşağıdaki gibidir :

İstemci (Client): MQTT iletişimini başlatan ve yöneten, veri gönderen veya veri alan cihazlardır. İstemciler, birçok farklı platformda çalışabilirler. MQTT’de iki temel istemci rolü vardır:

  • Yayıncı (Publisher): Veri üreten ve MQTT broker’ına ileten cihazlardır.
  • Abone (Subscriber): Belirli bir konuya abone olan cihazlardır. Bu cihazlar, ilgili konuda yayınlanan verileri dinlerler.

Broker (Server): Broker, MQTT mesajlarını alır ve iletilmek istenen istemcilere yönlendirir. İstemciler arasında doğrudan iletişim sağlamak yerine, broker aracılığıyla haberleşme gerçekleşir. İstemciler arasında iletişimi yöneten araştırma noktasıdır. İstemcilerin mesajlarını aldığı ve hedef istemcilere ilettiği merkezi bir hub görevi görür.

Konu (Topic): Konular, iletilen mesajların hedefini belirler. Mesajların kategorize edildiği bir hiyerarşik yapıdır. İstemciler, belirli bir konuyu dinleyebilir (subscribe) veya o konuya mesaj gönderebilir (publish).

Mesaj: MQTT ile iletilen verilerdir. Her mesaj bir konuyla ilişkilendirilir ve istemcilere iletilir.

 

İstemciler birbiri ile doğrudan iletişim kuramazlar. Her bir istemci Broker üzerinden haberleşme sağlar, yani her bir işlemci Broker’a bağlıdır. İstemciler Publisher (yayıncı), Subcriber (abone) veya aynı anda her iki rolü de üstlenebilir. Publisherlar verileri belli bir “Topic” adı ile yayınlar ve Subscriberlar belirlenen bu “Topic” adı üzerinden Broker’a abone olarak yayımlanan mesajları alır, QoS (Quality of Service) seviyesine bağlı olarak mesajın iletimi ve teslimi Broker üzerinden sağlanmış olur.

 

Clean Session

MQTT’nin “Clean Session” (Temiz Oturum) özelliği, MQTT istemcisi ile MQTT sunucusu arasındaki oturumun nasıl yönetileceğini belirleyen bir özelliktir. Clean Session özelliği, MQTT istemcisinin bir MQTT sunucusuna bağlandığında ve bir oturum başlattığında ne tür bir davranış sergileyeceğini belirler, İki temel seçenek vardır:

Clean Session (1) Enable: Bu durumda, MQTT istemci oturumu başlattığında sunucu, bu istemcinin daha önceki oturum verilerini siler. Yani istemci her bağlandığında, sunucu onu yeni bir oturum olarak kabul eder ve önceki oturumun herhangi bir bilgisini tutmaz. Bu, her bağlantıda temiz ve başlangıç ​​bir durumla çalışmak isteyen uygulamalar için uygundur.

Clean Session (0) Disable: Bu durumda, MQTT istemcisi oturumu başlattığında sunucu, istemcinin önceki oturum bilgilerini saklar. Bu, istemcinin önceki oturumda abone olduğu konuları ve yayınladığı mesajları hatırlamasını sağlar.

Mikrodev DCS, PLC ve ViewPLUS SCADA ürünlerinde ürün ailesi farketmeksizin tamamında MQTT Client desteği bulunmaktadır. Subscribe olunacak Topic veya Publish edilecek Topic ile ilgili ayarlar Telediagram/Mikrodiagram Programlama Editörü’ nde yer alan “MQTT Table Panel” kısmından yapılmaktadır. Ayrıca MQTT Config Bloğuyla Client ID, Username, Password, Keep Alive, Clean Session, SSL/TLS gibi parametrelerde ayarlanabilmektedir.

Mikrodev RTU ve PLC’ lerde Publish edilecek Topic 3 şekilde Publish edilebilmektedir. Bu 3 yöntemin kullanımı veri trafiğine, Topicler arasıdaki önem sırasına göre belirlenmelidir. Aşağıda bu yöntemler açıklanmıştır.

-Periyodik Gönderim: MQTT Config bloğunun “Trig” girişine yükselen kenar uygulanarak, Periyodik gönderimi aktif olan bloklar ile ilgili mesajların belirlenen periyotlar ile gönderimi sağlanabilmektedir. Periyodik gönderimi anlık olarak aktif veya pasif duruma getirebileceğiniz bir blok ataması da yapılabilmektedir, bu özellik sayesinde periyodik gönderime bağlı veri trafiği tekrardan konfigürasyon gerektirmeden aktif veya pasif hale getirilebilir.

-Değişimde Gönderim: MQTT Table Panel kısmında değişim değeri ve değişim türü (Seviye/Yüzdesel Değişim) belirlenen bloklarda, belirlenen türde eşik değerini aşan bir değer değişimi yaşandığında gönderim sağlanabilmektedir. Değimde gönderimi anlık olarak aktif veya pasif duruma getirebileceğiniz bir blok ataması da yapılabilmektedir, bu özellik sayesinde değişimde gönderime bağlı veri trafiği tekrardan konfigürasyon gerektirmeden aktif veya pasif hale getirilebilir.

-Tetik Blogu ile Gönderim: Periyodik ve Değişimde gönderim haricinde seçilen blok veya blok gruplarına ait mesajların, kendisi ile ilişkilendirilen gönderim tetik bloğu seçilen bloğa bağlı olarak da gönderimi sağlanabilmektedir.

Yukarıda yer alan gönderim metodlarına ait çeşitli konfigürasyonlar Telediagram/Mikrodiagram’ da yer alan MQTT Table Panel kısmından yapılabilmektedir.

 

 

MQTT Veri Yapısı ve Mesaj Mimarisi

MQTT mesajları, başlık (header) ve veri (payload) kısımlarından oluşur:

Başlık (Header): Başlık, mesajın türünü (abonelik, yayın vs.), QoS seviyesini ve diğer iletişim bilgilerini içerir.

Veri (Payload): Veri, kullanıcı tarafından gönderilen asıl içeriktir. MQTT, her türlü veri türünü taşıyabilir, bu da onu çok yönlü kılar. Mikrodev RTU ve PLC görevi üstlenen cihazlarda payload tipi seçimi yapılabilmektedir. Veriye “Zaman Etiketi” ekleyebileceğimiz Payload tipiyle Mikrodev PLC/RTU ile ViewPLUS SCADA arasındaki haberleşmenin herhangi bir sebepten ötürü koptuğu durumlarda oluşan olay kaydı, haberleşme tekrardan sağlandığında ViewPLUS SCADA’ ya zaman etiketli verilerin ulaşmasıyla Database’in geçmişe yönelik doldurulabilmesi, geçmiş zaman dilimlerine ait verilerin işlenebilmesi ve üzerine yazılabilmesi mümkündür. Bu özellik sayesinde ViewPLUS SCADA daha mantıklı ve tutarlı raporlar oluşturabilmektedir. Zaman etiketi sayesinde geçmiş olay kaydı oluşturabilme özelliği “Backfilling” olarak isimlendirilebilir.

MQTT, mesaj mimarisinde yer alan ve aşağıda alt başlıklar halinde incelenen özellikler ile bağlantı ve veri güvenliği konusunda çeşitli avantajlar sunmaktadır.

QoS (Quality of Service)

MQTT QoS (Quality of Service), MQTT (Message Queuing Telemetry Transport) protokolü içinde mesajların iletim güvencesini ve doğruluğunu ayarlamak için kullanılan bir özelliktir. MQTT, hafif bir mesajlaşma protokolüdür ve IoT (Nesnelerin İnterneti) ve diğer düşük bant genişliği veya güç tüketimi gerektiren uygulamalarda sıkça kullanılır. MQTT QoS seviyeleri, mesajların iletiminde ne tür güvence sağlayacağını belirler ve üç farklı seviye sunar:

QoS 0 (At Most Once):

Bu seviye, mesajların en düşük güvencesini sağlar. Mesajlar “en fazla bir kez” iletim garantisi ile gönderilir. Yani, mesajlar kaybolabilir veya çoklu kez teslim edilebilir. Hızlı iletişim gerektiren ve kayıp verilerin kabul edilebilir olduğu durumlar için uygundur.

QoS 1 (At Least Once):

Bu seviye, mesajların kesinlikle “en az bir kez” teslim edilmesini sağlar. Gönderici, mesajı alıcıya gönderir ve alıcı mesajı aldıktan sonra bir “PUBACK” (Yayın Onay) mesajıyla göndericiye teyit eder. Gönderici, bu onayı almadan önce mesajı tekrar gönderebilir.

QoS 2 (Exactly Once):

Bu seviye, mesajların kesinlikle bir kez ve sadece bir kez teslim edilmesini sağlar. Gönderici, mesajı alıcıya gönderir ve alıcı mesajı aldıktan sonra bir dizi el sıkışma işlemi gerçekleştirir (PUBLISH, PUBREC, PUBREL, PUBCOMP). Bu işlemler, mesajın kesinlikle bir kez teslim edilmesini sağlar. Bu seviye, veri kaybının veya tekrar teslim edilmenin kabul edilemez olduğu kritik uygulamalarda kullanılır, ancak daha fazla bant genişliği ve iletişim süresi gerektirebilir.

QoS seviyeleri, kullanıldıkları senaryoya ve iletişim gereksinimlerine göre seçilir. Daha yüksek QoS seviyeleri, daha fazla iletişim güvencesi sağlar, ancak daha fazla bant genişliği ve iletişim süresi kullanır. Bu nedenle, uygulamanın ihtiyaçlarına ve ağ koşullarına bağlı olarak doğru QoS seviyesini seçmek önemlidir.

 

Last Will and Testament

LWT, bir MQTT istemcisi (client) veya sunucusu (broker) bağlantısı kesildiğinde veya bir hata oluştuğunda gönderilecek bir iletiyi tanımlamak için kullanılır. Bu ileti, bağlantıyı kaybeden cihazın son isteği veya durumu gibi önemli bilgiler içerebilir. LWT özelliği, cihazlar arasındaki iletişimin güvenilirliğini artırır ve cihazların bağlantı durumunu daha iyi yönetmelerine olanak tanır. Bir istemci, bağlantısını beklenmedik bir şekilde kaybederse, bir “WILL” mesajı belirleyebilir. Bu, diğer istemcilere veya brokera bağlantı kaybını bildirir.

Retain

MQTT (“Message Queuing Telemetry Transport”) protokolünün “Retain” özelliği, bir MQTT konusu (topic) üzerinde son iletiyi saklama yeteneğini ifade eder. Bu özellik, bir istemci (client) bir konu üzerinde bir ileti yayınladığında, bu iletiyi abone olan diğer istemcilere göndermek yerine, MQTT sunucusu (broker) tarafından saklanmasını sağlar. Böylece, bir konuya abone olan yeni istemciler, o konu üzerinde en son saklanan iletiyi hemen alabilirler. MQTT’nin Retain özelliği, aşağıdaki şekilde çalışır:

 

  • Bir istemci (Client) belirli bir MQTT konusu üzerine bir ileti yayınladığında, bu iletiyi yayınlar ve aynı zamanda bu iletiyi saklanması için MQTT sunucusuna (Broker) iletir.
  • Bu ileti, MQTT sunucusu tarafından saklanır ve o konuyu takip eden diğer istemcilere gönderilmez.
  • Bir istemci, aynı konuya abone olduğunda veya yeni bir abone olduğunda, MQTT sunucusu son saklanan iletiyi hemen gönderir. Bu, istemcinin konu hakkında en son bilgilere sahip olmasını sağlar.

Ancak, Retain özelliğinin dikkatli bir şekilde kullanılması gerekir, çünkü herhangi bir istemci bir konuyu takip ettiğinde, saklanan son iletiyi alır. Bu nedenle, Retain özelliği, hassas veya güncel olmayan verilerin yanlışlıkla erişilmesine yol açabilir. Bu nedenle, Retain özelliğini kullanırken konu ve iletilerin doğru bir şekilde yönetilmesi önemlidir.

MQTT Haberleşme Protokolünde Güvenlik İlkeleri

MQTT’nin güvenliği, SSL/TLS şifrelemesi ve kimlik doğrulama gibi mekanizmalarla sağlanır. Bu, hassas verilerin güvende tutulmasına yardımcı olur. Mikrodev DCS ürün grubu içerisinde yer alan DM50, DM100 ve DM500 serisi RTU’larda SSL/TLS desteği bulunmaktadır. Ayrıca MQTT’ de yer alan QoS, LWT ve Retain gibi yapılar sayesinde de veri güvenliği üst seviyelere taşınmıştır.

 

MQTT Haberleşme Protokolünün Kullanım Alanları

Ev ve Bina Otomasyonu: IoT cihazlarının ev ve bina otomasyonu sistemleriyle iletişim kurmasını sağlanabilir.

Endüstriyel Otomasyon: Fabrikalar, üretim tesisleri ve enerji sistemleri gibi endüstriyel uygulamalarda kullanılır.

Ulaşım ve Lojistik: Araç izleme sistemleri ve akıllı ulaşım sistemleri için idealdir.

Sağlık Hizmetleri: Tıbbi cihazlar ve hasta takip sistemleri için güvenli bir iletişim sağlar.

Ulaşım ve Lojistik: Araçlar ve taşıma sistemleri, konum ve durum bilgilerini MQTT üzerinden paylaşabilirler.

MQTT’yi Diğer Haberleşme Protokollerinden Ayıran Üstünlükleri

Hafif ve Verimli: MQTT, minimal kaynak tüketimi ve düşük bant genişliği kullanır, bu da IoT cihazları ve düşük güç tüketimine sahip sistemler için uygundur.

Yayın-Abone Modeli: MQTT’nin yayın-abone modeli, veri dağıtımını kolaylaştırır ve daha ölçeklenebilir bir yapı sağlar.

QoS Seviyeleri: MQTT, iletişim güvencesi düzeylerini belirlemek için QoS seviyelerini kullanabilir, bu da iletişimin güvenilirliğini artırır.

Geniş Kullanım Alanları: MQTT, IoT dışında da kullanım alanlarına sahiptir ve bu da onu daha evrensel hale getirir.

MQTT, hafif, verimli, esnek ve yaygın olarak kullanılan bir haberleşme protokolüdür. IoT uygulamalarından endüstriyel otomasyona kadar geniş bir yelpazede kullanılır ve diğer protokollere göre hafif yapısı ve QoS seviyeleri gibi bir dizi avantaja sahiptir. MQTT, veri iletişimi için güvenilir bir seçenek sunar. Bu nedenle, IoT ve M2M dünyasında önemli bir oyuncu olarak kabul edilir ve gelecekte de büyümeye ve IoT uygulamalarının temelini oluşturmaya devam edecektir.

Mikrodev DCS, PLC ve ViewPLUS SCADA ürünleri ile ERP (Enterprise Resource Planning) veya MES (Manufacturing Execution System) Sistemleri arasında veri transferi yapabilir, verileri analiz edebilir ve raporlar oluşturabilirsiniz.

Diğer İletiler
Tüm İletiler
T.C. Çevre, Şehircilik ve İklim Değişikliği Bakanlığı Sürekli Atıksu İzleme Sistemi
T.C. Çevre, Şehircilik ve İklim Değişikliği Bakanlığı Sürekli Atıksu İzleme Sistemi
Çevre, Şehircilik ve İklim Değişikliği Bakanlığı tarafından yönetilen Sürekli Atıksu İzleme Sistemi'nde 100'ün üzerinde istasyonlarda ürünlerimiz tercih edildi.Ürünlerimiz ile atık su online ölçüm
Devamını Oku
Devlet Su İşleri Genel Müdürlüğü Akış Gözlem İstasyonu
Devlet Su İşleri Genel Müdürlüğü Akış Gözlem İstasyonu
Devlet Su İşleri Genel Müdürlüğü Akış Gözlem İstasyonu projesinde 30'un üzerinde istasyonda Mikrodev PLC ürünleri tercih edilmiştir.- 30 farklı noktada barajlar üzerinden taşınan suların tarımsal
Devamını Oku
HANNOVER MESSE 2023
HANNOVER MESSE 2023
Bu yıl 76' cısı düzenlenen, her yıl yüz binlerce ziyaretçi ve sektör lideri firmayı bir araya getiren Hannover Messe 2023 Fuarı'nın heyecan verici 5 gününü geride bıraktık.  Hannover Messe' de birbiri
Devamını Oku
PLC ve RTU Arasındaki Farklar Nelerdir?
PLC ve RTU Arasındaki Farklar Nelerdir?
Endüstriyel otomasyon dünyasında, PLC (Programlanabilir Lojik Kontrol) ve RTU (Uzak Terminal Ünitesi) iki önemli cihazdır. Her ikisi de süreç kontrolünü otomatikleştirmek ve izlemek için kullanılırlar
Devamını Oku
Malatya İnönü Üniversitesi Altyapı Kontrol ve Otomasyon Sistemi
Malatya İnönü Üniversitesi Altyapı Kontrol ve Otomasyon Sistemi
Malatya İnönü Üniversitesi SCADA Otomasyon Projesi'nde Mikrodev RTU300 serisi uzak terminal ünitesi ve ViewPLUS SCADA yazılımı tercih edilmiştir. Su, Enerji, Bina HVAC gibi bir çok farklı sistem tek ç
Devamını Oku
PLC'de Veri Yönetimi Nedir, Avantajları Nelerdir? 
PLC'de Veri Yönetimi Nedir, Avantajları Nelerdir? 
“PLC Nedir?” başlıklı blog yazımızda vurguladığımız gibi, PLC'ler, endüstriyel alanlarda sıklıkla kullanılan otomatik kontrol aygıtlarıdır. Makineleri ve süreçleri düzenlemek için giriş ve çıkış cihaz
Devamını Oku
PLC’ye Dair Sıkça Sorulan Sorular
PLC’ye Dair Sıkça Sorulan Sorular
Programlanabilir lojik kontrol sistemleri (PLC), modern endüstriyel otomasyonun vazgeçilmez bir aracı haline gelmiştir. PLC’ler, endüstriyel sistemlerin önemli bir çarkıdır ve çok çeşitli uygulamalar
Devamını Oku
Endonezya PLN Güç Dağıtım Sistemi
Endonezya PLN Güç Dağıtım Sistemi
Endonezya enerji dağıtım şirketi, 500'den fazla istasyonda enerji izleme ve kontrol sistemi RTU300 serisi uzak terminal ünitesi üzerinden yapılmaktadır.RTU340 üzerinden trafo merkezlerindeki hüc
Devamını Oku
Trabzon Su ve Kanalizasyon İdaresi (TİSKİ) İçme Suyu SCADA Sistemi
Trabzon Su ve Kanalizasyon İdaresi (TİSKİ) İçme Suyu SCADA Sistemi
Trabzon genelinde 200'den fazla kuyu, depo ve pompa istasyonunda kurulu RTU ve PLC ürünleri, TİSKİ Kontrol Merkezi'nde bulunan ViewPLUS SCADA yazılımı üzerinden yönetilmektedir.200'den fazla kuy
Devamını Oku
Ex4S Enerji Sektöründe Siber Savunma Simülasyonu
Ex4S Enerji Sektöründe Siber Savunma Simülasyonu
EPDK’nın bu yıl ilk kez 24-25 Mayıs 2022’de Ankara’da kendi yerleşkesinde gerçekleştirdiği Ex4S Enerji Sektöründe Siber Savunma Simülasyonu’22 etkinliğinde Ofansif Odaklı Simülasyon altyapı kurulumlar
Devamını Oku
KATALOG