MQTT і Sparkplug B: телеметрія та SCADA в енергетиці

Publish-subscribe, QoS, birth/death, стан і межі інтеграції MQTT/Sparkplug.
MQTT і Sparkplug B: телеметрія та SCADA в енергетиці

Ілюстрація, створена ШІ — приклад обстановки.

MQTT

MQTT створили 1999 року Andy Stanford-Clark та Arlen Nipper. 3.1.1 — ISO/IEC 20922, MQTT 5 — OASIS. Publisher публікує брокеру, який надсилає підписникам; клієнт може мати обидві ролі. Теми розділяють /, + відповідає одному рівню, # — решті за правилами. Структура й права — рішення застосунку.

Доставка й стан

QoS 0 — at most once, 1 — at least once, 2 — exactly once для відповідного MQTT-обміну. Це не гарантія одноразової бізнес-дії від джерела до споживача. QoS обирають за профілем.

Retained — остання retained-публікація теми, не автоматично останнє звичайне повідомлення; вона може застаріти. Last Will задають при підключенні, публікують за умов від’єднання. Час виявлення залежить від транспорту, Keep Alive, Will Delay і сесії.

MQTT 5 і безпека

Версія 5 додає properties, shared subscriptions, aliases, expiry та reason codes. Enhanced Authentication розширюваний, може підтримувати SASL-подібний обмін.

TLS захищає відповідні з’єднання, засвідчення й topic ACL обмежують дії. Пароль чи токен сам не шифрує канал. Планують місткість, persistence, сертифікати й віддалений доступ.

Sparkplug B

Sparkplug задає namespace, типізовані Protobuf-метрики й стан. Теми spBv1.0/group/message-type/edge-node можуть включати device. NBIRTH/DBIRTH задають модель, NDATA/DDATA — зміни, NDEATH/DDEATH — втрату, NCMD/DCMD — команди. Стан Primary Host допомагає відновленню.

Alias тлумачать лише після відомої BIRTH-моделі. Timestamps і properties важливі. is_null/is_transient — конкретні поля, не універсальна якість IEC. QoS/retained визначає тип Sparkplug-повідомлення, не загальне QoS 1.

Інтеграція

Gateway може читати Modbus/телемеханіку та публікувати метрики. Не кожний хмарний IoT-сервіс є повним брокером Sparkplug; перевіряють теми, підписки, LWT та retained, іноді потрібен адаптер.

IEC 104 k — вікно непідтверджених I-кадрів, не кількість підписників. Місткість залежить від реалізації. Sparkplug має TCK для відповідності, але не універсального підтвердження придатності захисним функціям.

Практика

Тестують BIRTH, reconnect, DEATH, aliases і відновлення, застарілі retained та втрати. Частоти, обсяг і навантаження вимірюють до рішення про кластер. MQTT доповнює IEC 104/61850; керування оцінюють за часом, відмовами й задачею.

Джерела та додаткове читання

Оцініть статтю

Середня оцінка 5,0 · 1 оцінок