inSCADA
Version 2022
Version 2022
  • inSCADA Version 2022
    • inSCADA 2022
    • Başlarken
    • Kullanıcı Arayüzü
      • Dashboards
      • Development
        • Projeler
        • Bağlantılar
        • Cihazlar
        • Variables
        • Cihaz Kütüphanesi
        • Animasyonlar
          • Pipe
          • Get
          • Click
          • Color
          • Rotate
          • Move & Move Line
          • Opacity
          • Bar
          • Tooltip
          • Visibility
          • Slider
          • Chart
          • Data Table
          • Get Symbol
          • Input
          • QR Code
          • All in One
        • Alarmlar
          • Alarm Grupları
          • Alarmlar
        • Grafikler
        • Scriptler
          • Scriptler
          • Script Editor
        • Expressions
        • Raporlar
          • Custom Reports
          • Raporlar
          • Jasper Reports
        • Custom Table
          • Custom Table
          • SQL Editor
        • Gas Ölçüm
        • Süreçler
        • Veri Transferi
        • Anahtar Kelimeler
        • Languages
        • Info
      • Runtime
        • Kontrol Panel
        • Visualization
        • Trend Grafik
        • Rapor
        • Variable Tracking
          • Değişken Geçmişi
          • Değişken İzleme
          • Variable Trace
        • Alarm Tracking
          • Alarm Geçmişi
          • Alarm Monitor
        • Proje Haritası
        • Akış
        • Süreç
        • Job
      • Kullanıcı Menüsü
        • Kullanıcılar
        • Space
        • Roller
      • Bildirimler
        • E-Posta
        • SMS
        • Chat
      • Yedekle / İçe Aktar
        • Meta Data
        • Data
      • Settings
        • General Settings
        • Custom Table
        • Akış
        • E-posta
        • SMS
        • Harita
      • Logs
        • Log
        • Auth Log
      • Yardım
        • Online Yardım
        • Lisans
        • Hakkında
    • Mimik Tasarım
    • Haberleşme Protokolleri
      • MODBUS
        • Modbus TCP
        • Modbus UDP
        • Modbus RTU Over TCP
        • Modbus TCP Server
        • Modbus RTU Slave Over TCP
      • DNP3
        • DNP3 Master
        • DNP3 Outstation
      • S7 Protokol
      • IEC-104-Master
      • OPC
        • OPC DA Client
        • OPC UA Client
      • MQTT
    • Programlama
      • API's
        • Variable Functions
        • Connection Functions
        • Project Functions
        • Alarm Functions
        • Script Functions
        • In-Memory DB Functions
        • System Functions
        • User Funcitons
        • Date-Time Functions
        • String Functions
        • Notification Functions
        • Confirmation Functions
        • Database Functions
        • Other Functions
    • Veritabanı
    • Faydalı Özellikler
    • Mimari ve Uygulamalar
    • Geliştirme Yol Haritası
    • inSCADA' ya Geçiş
    • Lisanslandırma Politikaları
    • SSS
    • Videolar
    • Örnek Ekranlar
    • Yardımcı Araçlar
      • VSTO Excel Add-In
      • S7-PLCSim Connector
      • Modbus TCP/UDP Client
  • KURULUMLAR
    • Gereksinimler
    • Windows Kurulum
    • Linux'a Kurulum
    • Başlangıç Parametreleri
Powered by GitBook
On this page
  1. inSCADA Version 2022
  2. Haberleşme Protokolleri

MQTT

Message Queuing Telemetry Transport

PreviousOPC UA ClientNextProgramlama

Last updated 3 years ago

MQTT, mesajları cihazlar arasında taşıyan hafif, yayınla-abone ol ağ protokolüdür. Protokol genellikle TCP/IP üzerinden çalışır, ancak sıralı, kayıpsız, çift yönlü bağlantılar sağlayan herhangi bir ağ protokolü MQTT'yi destekleyebilir.

Burada yazılanlar MQTT organizasyonuna ait sitesinden alıntıdır.

MQTT, Nesnelerin İnterneti (IoT) için bir OASIS standart mesajlaşma protokolüdür. Küçük bir kod alanı ve minimum ağ bant genişliği ile uzak cihazları bağlamak için ideal olan son derece hafif bir yayınla/abone ol mesajlaşma aktarımı olarak tasarlanmıştır. MQTT günümüzde otomotiv, imalat, telekomünikasyon, petrol ve gaz gibi çok çeşitli endüstrilerde kullanılmaktadır.

Neden MQTT?

  • Hafif ve Verimli : MQTT istemcileri çok küçüktür, minimum kaynak gerektirir, bu nedenle küçük mikro denetleyicilerde kullanılabilir. MQTT mesaj başlıkları, ağ bant genişliğini optimize etmek için küçüktür.

  • Çift Yönlü İletişim : MQTT, cihazdan buluta ve buluttan cihaza mesajlaşmaya izin verir. Bu, mesajların bir grup şeye kolayca iletilmesini sağlar.

  • Milyonlarca Şeye Ölçeklendirin : MQTT, milyonlarca IoT cihazına bağlanmak için ölçeklenebilir.

  • Güvenilir Mesaj Teslimatı : Mesaj tesliminin güvenilirliği, birçok IoT kullanım durumu için önemlidir. Bu nedenle MQTT'nin tanımlanmış 3 hizmet kalitesi seviyesi vardır: 0 - en fazla bir kez, 1- en az bir kez, 2 - tam olarak bir kez.

  • Güvenilmez Ağlar için Destek : Birçok IoT cihazı, güvenilmez hücresel ağlar üzerinden bağlanır. MQTT'nin kalıcı oturumlar için desteği, istemciyi aracıya yeniden bağlama süresini azaltır.

  • Güvenlik Etkin : MQTT, TLS kullanarak mesajları şifrelemeyi ve OAuth gibi modern kimlik doğrulama protokollerini kullanarak istemcilerin kimliğini doğrulamayı kolaylaştırır.

1.Adım Bağlantı Oluşturmak

İnSCADA'da MQTT protokolü ile veri alış verişi yapabilmek için bir cihaz bağlantısı tanımlamak için öncelikle "Development" modülünde bulunan "Bağlantılar" menüsü kullanılmaktadır. Bakınız; Bağlantılar

Protokol olarak " MQTT " seçildikten sonra açılan özellikler menüsü doldurulmalıdır.

  • Indentifier : MQTT Broker'ına bağlanan her bir client'ın id'sidir. Broker gelen mesajların kimden geldiğini anlamak için bu id'leri kullanmaktadır.

  • Kullanıcı adı ve şifre : MQTT broker'ı kendisine veri gönderen 'indentifier'ı doğrulamak ve yetkilendirmek için kullanıcı adı ve parola kullanabilmektedir.

  • Use SSL : Client bilgileri bir SSL sertifikası ile doğrulanabiliyor ise kullanıcı adı ve parola kullanımına gerek duyulmadan işleme devam etmenize olanak sağlamaktadır. Aynı zamanda daha güvenli bağlantı için SSL doğrulama ve kullanıcı adı şifrede aynı anda kullanılabilmektedir.

  • initial delay in ms : Bir client'ın MQTT broker'ı ile arasındaki bağlantının kopması sonrası bekleme süresini belirtmektedir.

  • Max delay in ms : Broker ile bağlantı kopmasından sonra maksimum bekleme süresini belirtmektedir.

  • Clean Session : Celan Session flag' i client'ın broker ile kalıcı bir oturum oluşturmak isteyip istemediğini belirtmek için kullanılmaktadır. Özetle bağlantının mevcut oturumla mı devam etmesini veya her bağlantıda yeni bir oturum mu açılması istendiğinin kararıdır.

  • Keep Alive in ms : Bu süre client ile MQTT broker arasında mesaj göndermeden bağlantının açık kalabilieceği maksimum süreyi belirtmektedir.

  • Pool Size : Alınan mesajların parçacıklarının büyüklüğünü belirtmektedir.

2.Adım Bağlantıya Bağlı Cihaz Oluşturmak.

Projemiz için MQTT bağlantımız eklendikten sonra "development" modülünde bulunan " cihazlar " menüsüne gelerek ilgili bağlantı için cihaz tanımlaması yapılır . Bakınız ; Cihazlar

3.Adım Cihazdan Okunacak/Yazılacak Veri Bloklarının Oluşturulması.

// return {'SAMPLE_VALUE_01': JSON.parse(message.payload).i};

Örneğimizde ; MQTT Broker'ında bulunan değişkenlerden " i " değişkeninin data verilerini inSCADA'da bulunan " SAMPLE_VALUE_01 " değişkeni ile eşleştirip " i " değerinin bu değişken üzerinden inSCADA'ya aktarılması gösterilmektedir.

//return {
    topic: "A/B",
    qos:0,
    retain:false,
    payload: JSON.stringify({"i":setValueRequests[0].value})
}

Burada ise , MQTT Broker'ından gelen veri alma isteğinde " setValueRequests[0].value " olan istek için inSCADA'da ki değerin MQTT Broker'ında bulunan " i " değişkenine tekrar geri gönderilmesi gösterilmektedir.

Bağlantılar menüsünde seçeceğimiz bir proje için yeni bir bağlantı ekleme adımı add ikonu yardımı ile yapılmaktadır. Resim 2'de gösterildiği gibi açılan bağlantı ekleme menüsünde proje seçilir, ad ve açıklamalar yazılır, ip ve port eklendikten sonra protokol olarak "MQTT" seçilir.

Cihazlar menüsünde sağ üst köşede bulunan add cihaz ikonu yardımı ile Resim 3'de görüldüğü gibi MQTT protokolü ile hazırlanmış olan bağlantı seçilerek ana cihaz kaydı oluşturulur.

MQTT bağlantılı cihaz ana kaydı oluşturulduktan sonra ilgili kayıt seçilerek menünün alt kısmında bulunan "veri blokları" alanındaki veri bloğu ekleme ikonu yardımı ile Resim 4'de görüldüğü gibi detay veri girişleri yapılmalıdır.

https://mqtt.org/
Resim 1 : MQTT Protocolü
Resim 2 : Connection For MQTT
Resim 3 : Device For MQTT
Resim 4 : Frame For MQTT