FabyaVisionKullanım Kılavuzu
/

MQTT sürücüsü

11 dk okumaHaberleşme

Bir MQTT sunucusuna (broker) MQTT 3.1.1 ya da 5.0 ile bağlanıp konulara abone olarak tag değeri almak, tag yazmayı konuya yayın (publish) olarak göndermek; TLS, istemci sertifikası, kullanıcı / şifre, QoS ve JSON alan adresleri.

Ne zaman kullanılır

MQTT sürücüsü, Live'ı bir MQTT 3.1.1 ya da MQTT 5.0 istemcisi yapar. Live sunucuya (broker) bağlanır, tag'lerin konularına abone olur; konuya gelen son yayın o tag'in değeri olur. Tag'e yazmak, değeri konuya yayınlamaktır. Cihazlar, ağ geçitleri ve IoT sistemleri veriyi genellikle bu yolla paylaşır. Demo Projesi'nde MQTT bağlantısı yoktur.

Sunucu tarafında ön koşullar

  • MQTT sunucusu Live bilgisayarından erişilebilir olmalı (varsayılan port 1883, TLS ile genellikle 8883).
  • Kimlik doğrulama kullanılıyorsa sunucuda kullanıcı tanımlı olmalı ve kullanıcının okuma / yazma izni bulunmalı. İzin yoksa sunucu aboneliği reddeder.
  • Sunucu istemci sertifikası istiyorsa (karşılıklı TLS) Live için bir istemci sertifikası (özel anahtarıyla) hazırlayın.
  • Cihazların yayınladığı konu adlarını ve yük (payload) biçimini (düz değer ya da JSON) bilin.

Bağlantı kurma

  1. Bağlantı ekleyin

    Bağlantılar bölümünde Ekle, sürücü MQTT; sunucunun adresini yazın, port 1883 gelir. TLS kullanıyorsanız portu 8883 yapın ya da adresi mqtts://sunucu:8883 biçiminde yapıştırın (güvenlik TLS'e geçer).

  2. Parametreleri girin
    MQTT 5.0, TLS ve PFX dosyasıyla istemci sertifikası seçilmiş bir bağlantı; Hedef kartı mqtts:// adresini gösterir.123456
    MQTT 5.0, TLS ve PFX dosyasıyla istemci sertifikası seçilmiş bir bağlantı; Hedef kartı mqtts:// adresini gösterir.
    1. MQTT sürümü — 3.1.1 ya da 5.0.
    2. Güvenlik — istemci sertifikası yalnızca TLS ile kullanılır.
    3. İstemci sertifikası — Yok, PFX dosyası ya da Windows sertifika deposu.
    4. PFX dosyası — Live bilgisayarındaki tam yol; parolası Live'da girilir.
    5. Sertifika parmak izi — depodaki sertifika için (40 onaltılık karakter).
    6. Hedef — TLS seçiliyse mqtts://.
    MQTT sürümü
    MQTT 3.1.1 (varsayılan) ya da MQTT 5.0 (aşağıda).
    Güvenlik
    Yok (şifrelenmemiş), TLS (sunucu sertifikası doğrulanır) ya da TLS (sertifika doğrulanmaz). TLS 1.2 kullanılır.
    İstemci sertifikası
    Yok (varsayılan), PFX dosyası ya da Windows sertifika deposu. Yalnız TLS ile kullanılır (aşağıda).
    PFX dosyası
    Live bilgisayarındaki tam yol (ör. C:\Sertifikalar\istemci.pfx). Parolası Live'da girilir.
    Sertifika parmak izi
    Windows sertifika deposundaki sertifikanın parmak izi (40 onaltılık karakter; boşluk ve : yazılabilir).
    Kimlik doğrulama
    Anonim ya da Kullanıcı adı ve şifre. İstemci sertifikasıyla birlikte de kullanılabilir.
    Kullanıcı adı
    Şifre proje dosyasına yazılmaz; Live'da girilir (Bağlantı güvenliği).
    İstemci kimliği
    Boşsa fv-<bilgisayar>-<bağlantı> biçiminde otomatik üretilir. Aynı kimlikle bağlanan iki istemciden eskisi sunucu tarafından atılır.
    Abonelik kalitesi (QoS)
    QoS 0 — en çok bir kez (varsayılan) ya da QoS 1 — en az bir kez.
    Yazma kalitesi (QoS)
    QoS 0 — yanıt beklenmez ya da QoS 1 — sunucunun onayı beklenir (varsayılan).
    Yazılanı sunucuda tut (retain)
    Açıksa yazılan mesaj sunucuda saklanır ve sonradan abone olanlara hemen gönderilir. Varsayılan kapalı.
    Bool yazma biçimi
    true / false (varsayılan), 1 / 0 ya da ON / OFF.
    Canlı tutma süresi (sn)
    0 – 3600, varsayılan 30. Sessiz kalan bağlantıda bu aralıkla sunucuya ping gider; 1,5 katı süre hiçbir şey gelmezse bağlantı kopmuş sayılır. 0 = kapalı.
  3. Tag ekleyin

    Tag'in adresine konu adını yazın (Tag adresleri).

Konu adresleri

AdresAnlamı
fabrika/hat1/sicaklikYükün tamamı tag'in değeridir (sayı, true / false, on / off, metin, ISO tarih).
hat1/durum#motor.hizYük JSON belgesidir; tag belgenin içindeki değerdir (# konu ile JSON yolunu ayırır).
hat1/olcumler#deger[2]JSON dizisinin elemanı (sıra 0'dan başlar).
cihaz/role/durum|cihaz/role/komutOkuma ve yazma ayrı konularda (| ile ayrılır).
  • Konu joker karakter (+, #) içermez; tag tek bir konunun değeridir. Konu ve JSON yolu büyük / küçük harfe duyarlıdır. Yazma konusu $ ile başlayamaz.
  • JSON yolu nokta ile ayrılmış alan adları ve dizi sıralarıdır (motor.hiz, dizi[0].alan); başındaki $. isteğe bağlıdır; en çok 16 adım.

Okuma ve yazma davranışı

  • Okuma: sürücü her konuya bir kez abone olur. Sunucu tutulan (retained) mesajı aboneliğe hemen gönderir. Henüz hiç yayın gelmemiş konunun tag'i hata vermez; değer gelene kadar bekler (kalitesiz görünür).
  • Değer çevirme: Bool için true / false / 1 / 0 / on / off / yes / no okunur. Tag tipine sığmayan değer kırpılmaz, tag hata alır. DateTime için ISO 8601 ya da unix saniye / milisaniye kabul edilir. Yük UTF-8 metindir; 1 MB'tan büyük yük okunmaz.
  • Yazma: değer, tag'in yazma konusuna yayınlanır. Okuma konusuyla aynıysa değer, sunucudan dönmesi beklenmeden tag'e de işlenir. Bağlantı kopmuşsa yazma reddedilir.
  • JSON alanı yazma: konuya son gelen belgenin yalnızca ilgili alanı değiştirilir, diğer alanlar korunur. Konuda henüz belge yoksa ya da yazma konusu ayrıysa ve önceki belge bilinmiyorsa yalnızca o alanı içeren yeni bir belge yayınlanır.

MQTT 5.0

MQTT sürümü MQTT 5.0 seçilince konu adresleri, QoS ve yazma davranışı aynı kalır. Farklar:

  • Anlaşılır red iletileri. Sunucunun bağlantı, abonelik ve yayın reddindeki neden kodu Türkçe bir iletiye çevrilir (ör. MQTT sunucusu bu konuya aboneliği reddetti (yetki yok): hat1/durum). Sunucu bir açıklama metni de gönderirse iletinin sonuna Sunucu iletisi: "…" olarak eklenir. Tanınmayan kod onaltılık olarak yazılır (0xA5 gibi).
  • Sunucunun sınırları uygulanır. Sunucu kendi canlı tutma süresini bildirirse o kullanılır; en yüksek QoS'u 0 ise yazmalar QoS 0 ile gider. Sunucu tutulan mesajı desteklemiyorsa Yazılanı sunucuda tut açık bağlantının yazmaları reddedilir; sunucunun paket sınırını aşan yayın gönderilmez.
  • Yönlendirme izlenmez. Sunucu bağlantıyı başka bir sunucuya yönlendirirse ileti yeni adresi söyler; bağlantının adresini siz değiştirirsiniz.
  • Sunucu MQTT 5.0'ı desteklemiyorsa bağlantı MQTT sunucusu MQTT 5.0'ı desteklemiyor. Bağlantı parametrelerinde MQTT sürümü olarak 3.1.1 seçin. iletisiyle kurulmaz.

İstemci sertifikası (karşılıklı TLS)

Bazı sunucular bağlanan istemciden bir sertifika ister. Sertifika TLS bağlantısında verilir; MQTT 3.1.1 ve 5.0 ile kullanılabilir. Güvenlik Yok iken seçilen sertifika kullanılmaz ve Studio Sorunlar'da uyarır.

SeçenekNasıl hazırlanır
PFX dosyasıSertifikayı özel anahtarıyla birlikte .pfx / .p12 dosyası olarak Live bilgisayarına koyun, PFX dosyası'na tam yolunu yazın. Dosyanın parolasını Live'da sistem menüsü › Bağlantılar › Şifre gir ile girin; parola proje dosyasına yazılmaz (Bağlantı güvenliği).
Windows sertifika deposuSertifikayı özel anahtarıyla Kişisel depoya alın ve Sertifika parmak izi'ne parmak izini yazın. Önce Live'ı çalıştıran kullanıcının, sonra yerel bilgisayarın Kişisel deposuna bakılır. Bu kullanıcının özel anahtarı okuma izni olmalıdır.

Yedekli sunucu çiftinde PFX dosyası iki bilgisayarda aynı yolda bulunmalı ve parola ikisinde de girilmelidir.

Sürücü başvurusu

MQTT

MQTT 3.1.1 / 5.0 istemcisi: Live sunucuya (broker) bağlanır, tag'lerin konularına abone olur ve gelen son yayını tag değeri yapar; yazma konuya yayın (publish) olarak gider. Adres bir konudur (ör. fabrika/hat1/sicaklik); yük JSON ise "konu#yol" ile içindeki alan seçilir; okuma ve yazma konuları ayrıysa "okuma|yazma" yazılır.

Sürücü kimliği
mqtt (proje dosyasındaki ad)
Bağlantı
IP adresi / bilgisayar adı ve port gerekir (varsayılan port 1883)
Veri tipleri
Bool Byte SInt Int UInt DInt UDInt Real LReal String DateTime
Aynı adres
Aynı adrese birden çok bağlantı tanımlanabilir.

Bağlantı parametreleri

Bağlantı seçiliyken Denetçi penceresinde görünür.

ParametreTürVarsayılanAçıklama
MQTT sürümüseçimMQTT 3.1.1
MQTT 3.1.1 · MQTT 5.0
GüvenlikseçimYok (şifrelenmemiş)TLS için port genellikle 8883'tür. Kendinden imzalı sertifika kullanan sunucularda sertifikayı Windows'a güvenilen olarak ekleyin; "doğrulanmaz" yalnızca kapalı ağlarda kullanılmalıdır.
Yok (şifrelenmemiş) · TLS (sunucu sertifikası doğrulanır) · TLS (sertifika doğrulanmaz)
İstemci sertifikasıseçimYokSunucu istemci sertifikası istiyorsa (karşılıklı TLS). Yalnızca TLS ile kullanılır.
Yok · PFX dosyası · Windows sertifika deposu
PFX dosyasımetin—Live bilgisayarındaki tam yol (ör. C:\Sertifikalar\istemci.pfx). Parolası proje dosyasına yazılmaz; Live bilgisayarında girilir.
Sertifika parmak izimetin—Windows sertifika deposundaki sertifikanın parmak izi (40 onaltılık karakter). Önce geçerli kullanıcının, sonra yerel bilgisayarın Kişisel deposunda aranır; sertifikanın özel anahtarı olmalıdır.
Kimlik doğrulamaseçimAnonim
Anonim · Kullanıcı adı ve şifre
Kullanıcı adımetin—Şifre proje dosyasına yazılmaz; Live bilgisayarında girilir.
İstemci kimliğimetin—Boşsa otomatik üretilir (fv-bilgisayar-bağlantı). Aynı kimlikle bağlanan iki istemciden eskisi sunucu tarafından atılır.
Abonelik kalitesi (QoS)seçimQoS 0 — en çok bir kez
QoS 0 — en çok bir kez · QoS 1 — en az bir kez
Yazma kalitesi (QoS)seçimQoS 1 — sunucunun onayı beklenir
QoS 0 — yanıt beklenmez · QoS 1 — sunucunun onayı beklenir
Yazılanı sunucuda tut (retain)açma / kapamakapalıYazılan mesaj sunucuda saklanır ve sonradan abone olanlara hemen gönderilir.
Bool yazma biçimiseçimtrue / false
true / false · 1 / 0 · ON / OFF
Canlı tutma süresi (sn)sayı (0 – 3600)30Sessiz kalan bağlantıda bu aralıkla sunucuya ping gider; 1,5 katı süre hiçbir şey gelmezse bağlantı kopmuş sayılır. 0 = kapalı.
Hakem adresi (Int)metin—Yedekli sunucu çiftinde master bu adrese her saniye artan bir sayaç yazar. PLC programında başka işte kullanılmayan, yazılabilir bir Int adresi olmalı. Boş = bu PLC hakem değil.

Adres biçimleri

BiçimAnlamı
topicYükün tamamı tag'in değeridir (sayı, true / false, on / off, metin, ISO tarih)
topic#alan.altalanYük JSON belgesidir; tag belgenin içindeki değerdir
topic#dizi[2].alanJSON dizisinin elemanı (sıra 0'dan başlar)
readTopic|writeTopicOkuma ve yazma ayrı konularda (ör. durum | komut)

Örnek adresler

Veri tipiÖrnekler
Boolcihaz/role/durum   cihaz/role/durum|cihaz/role/komut   hat1/durum#motor.calisiyor
Stringhat1/urun   hat1/durum#ad
Diğer tiplerfabrika/hat1/sicaklik   hat1/durum#motor.hiz   hat1/olcumler#deger[2]

Sık hatalar

Her satırın başındaki işaret, iletinin Live'da nerede görüneceğini söyler: [bağlantı] sistem menüsünün Bağlantılar bölümünde; [yazma] yazmayı yapan operatöre bildirim penceresinde; [Studio] Studio'daki adres hücresinde ya da Sorunlar listesinde görünür. [tag] okuma sırasındaki tag hatasıdır: tag kalitesiz kalır, iletinin metni bu sürümde Live'da gösterilmez (Tag hataları); metni nedeni anlamak için okuyun.

İletiNeden ve çözüm
[bağlantı] MQTT sunucusu 2000 ms içinde yanıt vermedi (…). Adresi, portu ve ağ bağlantısını kontrol edin.Sunucuya ulaşılamıyor.
[bağlantı] MQTT sunucusu kullanıcı adını ya da şifreyi reddetti. Kullanıcı adını bağlantı parametrelerinden, şifreyi Live'daki bağlantı şifresi penceresinden kontrol edin.Kullanıcı ya da şifre yanlış; şifre Live'da girilmemiş olabilir.
[bağlantı] MQTT sunucusu bu istemcinin bağlanmasına izin vermedi (yetkisiz). …Sunucuda bu kullanıcı ya da istemci için erişim tanımı yok.
[bağlantı] MQTT sunucusu istemci kimliğini reddetti (kimlik geçersiz ya da başka bir istemci aynı kimlikle bağlı). …İstemci kimliği'ni değiştirin.
[bağlantı] MQTT sunucusu MQTT 5.0'ı desteklemiyor. …MQTT sürümü'nü 3.1.1 yapın.
[bağlantı] MQTT sunucusu bağlantıyı kapattı: aynı istemci kimliğiyle başka bir istemci bağlandı (oturum devralındı). …MQTT 5: başka bir istemci aynı kimliği kullanıyor; İstemci kimliği'ni değiştirin.
[tag] MQTT sunucusu bu konuya aboneliği reddetti (kullanıcının bu konuyu okuma yetkisi olmayabilir): konuKullanıcının o konuyu okuma izni yok. MQTT 5'te parantez içinde sunucunun nedeni yazar.
[bağlantı] Sunucu sertifikasına bu bilgisayar güvenmiyor (kendinden imzalı ya da bilinmeyen sertifika otoritesi). …Sertifikayı Windows'a güvenilen olarak ekleyin; yalnızca kapalı ağlarda TLS (sertifika doğrulanmaz) seçin.
[bağlantı] Sunucu sertifikasının adı "…" ile uyuşmuyor (adres olarak IP yerine sertifikadaki bilgisayar adını yazın …).Adrese sertifikadaki adı yazın.
[bağlantı] … (Sunucu istemci sertifikası istiyor: bağlantı parametrelerinde "İstemci sertifikası" seçin.)Sunucu karşılıklı TLS istiyor; istemci sertifikası tanımlayın.
[bağlantı] … (Sunucu istemci sertifikasını kabul etmedi: sertifikayı veren otorite sunucuda güvenilen olarak tanımlı olmalı.)Sertifikanın otoritesi sunucuda tanımlı değil; süresi dolmuşsa ileti tarihi söyler.
[bağlantı] PFX dosyası parola istiyor ama parola girilmemiş. … · PFX dosyasının parolası yanlış. …Parolayı Live'da sistem menüsü › Bağlantılar › Şifre gir ile girin.
[bağlantı] İstemci sertifikasının PFX dosyası bulunamadı: … · PFX dosyasının tam yolu yazılmalı (ör. C:\Sertifikalar\istemci.pfx): …Yol yanlış ya da dosya bu bilgisayarda yok.
[bağlantı] PFX dosyasında özel anahtarlı sertifika yok: …Sertifikayı özel anahtarıyla birlikte dışa aktarın.
[bağlantı] Windows sertifika deposunda bu parmak izli sertifika bulunamadı (…): … · Windows sertifika deposundaki sertifikanın özel anahtarı yok (…).Parmak izini ve deponun (Kişisel) doğru olduğunu denetleyin; sertifikayı PFX olarak özel anahtarıyla içe aktarın.
[bağlantı] İstemci sertifikasının özel anahtarına erişilemiyor (Live'ı çalıştıran Windows kullanıcısının anahtarı okuma izni olmalı): …Sertifikanın özel anahtar izinlerine Live'ı çalıştıran kullanıcıyı ekleyin.
[tag] "…" Bool olarak okunamıyor (true / false, 1 / 0, on / off, yes / no beklenir). · "…" bir sayı değil; Int olarak okunamıyor.Yükün biçimi tag tipine uymuyor.
[tag] Yük geçerli bir JSON belgesi değil (…). Adreste "#yol" yazdıysanız yük JSON olmalıdır. · JSON yolu "…" yükte bulunamadı (… alanı yok).Yük JSON değil ya da yol belgede yok.
[yazma] MQTT sunucusu yayını onaylamadı (PUBACK gelmedi).Yazma kalitesi QoS 1 iken sunucu yayını onaylamadı.
[yazma] MQTT sunucusu tutulan mesajı (retain) desteklemiyor: …MQTT 5 sunucusu retain kabul etmiyor; Yazılanı sunucuda tut'u kapatın.
[Studio] İstemci sertifikası seçilmiş ama güvenlik "Yok": sertifika yalnızca TLS ile kullanılır.Uyarı: Güvenlik'i TLS yapın ya da sertifikayı Yok yapın.

Sınırlar

İlgili konular

FabyaVision 1.2.1 Kullanım Kılavuzu · 2 Kasım 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.