Skip to main content

General

Gömülü MQTT Broker

Proxus Edge Gateway'lerde yerleşik MQTT broker'ı yapılandırın ve yerel telemetri toplayın.

Her Proxus Edge Gateway bir gömülü MQTT broker içerir. Bu sayede Mosquitto veya EMQX gibi harici broker altyapısına gerek kalmaz. Edge mimarisi hakkında daha fazla bilgi için Durumsuz Edge Mimarisi bölümüne bakın.

MQTT Broker Ne Yapar?

Gömülü broker, cihazlarınız ile Proxus platformu arasında çift yönlü veri geçidi görevi görür:

📥 Giriş (Cihaz → Gateway)

Yerel ağdaki cihazlar telemetri verisini Gateway'e yayınlar:

  1. Cihaz, benzersiz Device Token ile gateway-ip:1883 adresine bağlanır
  2. Cihaz, telemetry konusuna JSON payload gönderir
  3. Gateway veriyi ayrıştırır, doğrular ve Veri Akış Hattı'na yönlendirir
Giriş: Cihazdan Gateway'e
sensors

Cihaz

PLC / IoT Sensör

hub

MQTT Broker

Proxus Gateway

route

Veri Hattı

Ayrıştır & Doğrula

📤 Çıkış (Gateway → Birleşik İsim Alanı)

Gateway veriyi ISA-95 uyumlu konulara otomatik yeniden yayınlar:

  1. Veri, metrik bazlı telemetri mesajlarına dönüştürülür
  2. Cihaz durumu ve lastSeen zaman damgaları yayınlanır
  3. İsteğe bağlı özet mesaj tüm metrikleri toplar
  4. Harici sistemler (SCADA, MES, Analytics) bu konulara abone olabilir
Çıkış: Gateway'den UNS'e
route

Veri Hattı

İşlenmiş Veri

hub

MQTT Broker

UNS Yayıncısı

monitoring

UNS Tüketicileri

SCADA / MES / Analytics

Temel Faydalar

Güvenlik için Güvenlik ve Erişim Kontrolü bölümüne bakın.


Konfigürasyon

MQTT broker, Proxus-config.toml içinde yapılandırılır:

lightbulb
Tam Referans

Tüm ayarların listesi ve environment override'ları için Konfigürasyon Referansı bölümüne bakın.

Temel Ayarlar

[MQTTBroker]
MQTTBrokerPort = 1883
MasterToken = "your-master-token"
AllowAnonymous = false
AyarTipVarsayılanAçıklama
MQTTBrokerPortint1883MQTT bağlantıları için TCP portu
MasterTokenstring-Geliştirme için paylaşımlı token
AllowAnonymousboolfalseKimlik doğrulamayı kapatır

Birleşik İsim Alanı Ayarları

[UNS]
# Payload formatı: "JSON" veya "SparkplugB"
UNSPayloadFormat = "JSON"

# SparkplugB özel ayarları
UNSGroupId = "ProxusGroup"
UNSEdgeNodeId = "ProxusEdge_MachineName"

# MQTT broker'da retain mesajları
UNSRetainMessages = true
AyarTipVarsayılanAçıklama
UNSPayloadFormatstringJSONPayload formatı: JSON veya SparkplugB
UNSGroupIdstringProxusGroupSparkplugB grup kimliği
UNSEdgeNodeIdstringautoSparkplugB edge node kimliği
UNSRetainMessagesbooltrueHer topic için son mesajı tutar

Performans Optimizasyonları

[UNS.Optimizations]
# İnce payload, metrik başına context bilgisini çıkarır
TelemetryThinPayload = true

# Özet mesajlarda ISA-95 context'i ekle
SummaryIncludeContext = true

# Throttle aralıkları (ms, 0 = sınırsız)
SummaryIntervalMs = 5000
LastSeenIntervalMs = 5000

# Status sadece değişince yayınlansın
StatusOnChangeOnly = true

# Değer değişmedikçe özet yayınlama (hash tabanlı)
SummaryOnlyOnChange = false
AyarTipVarsayılanAçıklama
TelemetryThinPayloadbooltrueMetrik mesajından context çıkar
SummaryIncludeContextbooltrueÖzet mesajda ISA-95 context ekle
SummaryIntervalMsint5000Özet yayınlama aralığı (ms)
LastSeenIntervalMsint5000LastSeen yayınlama aralığı (ms)
StatusOnChangeOnlybooltrueDurum sadece değişince yayınlansın

Kimlik Doğrulama Yöntemleri

1. Cihaz Token'ı (Önerilen)

Proxus'ta tanımlanan her cihaz için benzersiz Device Token üretilir. MQTT bağlantısında kullanıcı adı olarak bu token'ı kullanın. Daha fazla bilgi için Cihaz Ekle bölümüne bakın.

Host: gateway-ip:1883
Username: device-token
Password: (gerekli değil)

2. Master Token

Geliştirme veya test için MasterToken kullanılabilir.

3. Anonymous

AllowAnonymous = true ise cihazlar kimlik bilgisi olmadan bağlanabilir. Sadece izole ağlarda kullanın. Güvenlik için Güvenlik ve Erişim Kontrolü bölümüne bakın.


Telemetri Yayınlama

Cihazlar JSON payload'ı telemetry konusuna yayınlar:

{
"Temperature": 72.5,
"Pressure": 14.7,
"Status": "Running"
}

Gateway otomatik olarak:

  1. JSON payload'ı ayrıştırır
  2. Kimliği doğrulanan cihazla ilişkilendirir
  3. Veri hattına yönlendirir
  4. Birleşik İsim Alanı konularına yayınlar (etkinse)

Birleşik İsim Alanı Yayını

Broker veriyi ISA-95 uyumlu konulara kategori ayrımıyla yayınlar. Detaylar için Birleşik İsim Alanı bölümüne bakın.

Telemetri Konuları

Metrik değerleri ve cihaz özeti:

v1/{enterprise}/{site}/{area}/{processCell}/{equipmentModule}/{deviceName}/telemetry/{metric}
v1/{enterprise}/{site}/{area}/{processCell}/{equipmentModule}/{deviceName}/telemetry/_summary

Durum Konuları

Cihaz durumu ve son görülme zamanları (retained):

v1/{enterprise}/{site}/{area}/{processCell}/{equipmentModule}/{deviceName}/state/_status
v1/{enterprise}/{site}/{area}/{processCell}/{equipmentModule}/{deviceName}/state/_lastSeen

SparkplugB Desteği

UNSPayloadFormat = "SparkplugB" ise SparkplugB kodlaması kullanılır:

spBv1.0/{GroupId}/DDATA/{EdgeNodeId}/{DeviceId}

Sağlık İzleme

MQTT broker, bağlı cihazları izler ve şunları takip eder:

  • Son Görülme (Last Seen): Son mesaj zamanı
  • Bağlantı Durumu: Online/Offline
  • Mesaj Hızı: Dakikadaki mesaj sayısı

Veri göndermeyi kesen cihazlar otomatik olarak offline olarak işaretlenir. Ayrıntı için Sistem Logları bölümüne bakın.


Sonraki Adımlar