الربط · Sparkplug B

MQTT Sparkplug B على منصة واحدة لإنترنت الأشياء الصناعي

Sparkplug B هي مواصفة Eclipse المفتوحة التي تحوّل MQTT العادي إلى بروتوكول يصف نفسه ويعي الحالة لإنترنت الأشياء الصناعي. يتحدث Kilo هذه المواصفة أصليًا، بصفته Sparkplug Host Application (تطبيق مضيف) وبصفته Edge Node (عقدة حافة)، على MQTT 3.1.1 و5.0، وقد اختُبر بحزمة Sparkplug TCK 3.0.0 الرسمية.

SPARKPLUG متصل

يجتاز حزمة Sparkplug TCK 3.0.0 الرسمية · اطّلع على النتائج

Sparkplug B · الأساسيات

ما هو MQTT Sparkplug B؟

ينقل MQTT الرسائل عبر وسيط (broker)، لكنه يترك ثلاثة أسئلة مفتوحة: ماذا يعني الموضوع (topic)، وماذا تحتوي الحمولة (payload)، وهل لا يزال المُرسِل حيًا. ويجيب Sparkplug B، مواصفة Eclipse المفتوحة لإنترنت الأشياء الصناعي، عن الأسئلة الثلاثة.

المواضيع

مساحة أسماء واحدة للمواضيع

تقع كل رسالة تحت spBv1.0/group/type/edge-node/device، فيعرف أي مضيف مصدر القيمة دون الرجوع إلى دليل المورّد.

الحمولة

حمولة Protocol Buffers

الحرف «B» هو الترميز: مخطط protobuf مضغوط من Eclipse Tahu يحمل فيه كل مقياس اسمًا أو اسمًا مستعارًا ونوع بيانات وطابعًا زمنيًا وقيمة.

الحالة

قواعد حالة الجلسة

تُعلم شهادات الميلاد والوفاة وأرقام التسلسل وطلبات Rebirth كل مضيف بما هو متصل، فلا تُعرض البيانات القديمة كأنها حية أبدًا.

Sparkplug B · مقارنة

Sparkplug B مقابل MQTT: ماذا يضيف Sparkplug؟

لا يحل Sparkplug B محل MQTT: فهو يعمل على أي وسيط MQTT 3.1.1 أو 5.0 ويضيف الاتفاق الذي يتركه MQTT العادي لكل مورّد.

MQTT العادي MQTT Sparkplug B
المواضيع يختارها كل مورّد مساحة spBv1.0 ثابتة لكل جهاز
الحمولة أي صيغة، غالبًا JSON مخصص مقاييس Protocol Buffers محددة النوع
الاكتشاف قراءة دليل المورّد شهادة الميلاد تسرد كل مقياس
حالة الاتصال مجهولة ما لم تبنها بنفسك الوفاة عبر وصية MQTT، فورًا
Store and Forward تضيع البيانات ما لم يخزّنها كل عميل تُخزَّن بطوابعها الزمنية عند الحافة وتُرسل كبيانات تاريخية عند إعادة الاتصال
عرض النطاق حمولة كاملة في كل نشر إبلاغ عند التغيير، أسماء مستعارة للمقاييس
التكامل تحليل مخصص لكل جهاز إعداد لا شيفرة

Sparkplug B · المواضيع

كيف تعمل مساحة أسماء المواضيع في Sparkplug B؟

لكل موضوع Sparkplug الأجزاء الخمسة نفسها. يحدد نوع الرسالة في المنتصف ماهيتها، ويعلن Host Application عن نفسه على spBv1.0/STATE/host_id.

spBv1.0 مساحة الأسماء والإصدار
/
group_id موقع أو خط أو منطقة
/
message_type ماهية الرسالة
/
edge_node_id بوابة أو وحدة تحكم
/
device_id آلة أو مستشعر (اختياري)
NBIRTH

تتصل Edge Node وتسرد كل مقاييسها.

DBIRTH

يتصل جهاز خلف العقدة مع مقاييسه.

NDATA · DDATA

القيم المتغيرة فقط، إبلاغ عند التغيير.

NDEATH · DDEATH

تنقطع عقدة أو جهاز، فتصبح بياناته قديمة.

NCMD · DCMD

أوامر من المضيف عائدة إلى عقدة أو جهاز.

STATE

يعلن Primary Host Application أنه متصل.

Sparkplug B · حالة الجلسة

كيف تعمل شهادات الميلاد والوفاة في Sparkplug؟

تصف شهادات الميلاد كل ما سترسله العقدة، أما شهادات الوفاة، التي يسلّمها الوسيط كوصية MQTT (Will)، فتعلّمها بأنها غير متصلة لحظة انقطاع الاتصال.

  1. CONNECT

    NDEATH مسجّلة كوصية

    تتصل Edge Node وشهادة وفاتها مسجّلة كوصية MQTT، وتحمل رقم bdSeq.

  2. NBIRTH

    شهادة ميلاد العقدة

    كل مقاييس العقدة بنوع بياناتها وقيمتها الحالية، مع bdSeq نفسه وseq 0.

  3. DBIRTH

    شهادات ميلاد الأجهزة

    واحدة لكل جهاز خلف العقدة، فيعرف المضيف كل مقياس قبل وصول أي بيانات.

  4. DATA

    التغييرات فقط

    تحمل NDATA وDDATA القيم المتغيرة، ويسري seq من 0 إلى 255 ليكشف المضيف أي فجوة.

  5. NDEATH

    الوفاة أو Rebirth

    إذا انقطع الاتصال نشر الوسيط NDEATH. وعند وجود فجوة يرسل المضيف Rebirth.

Sparkplug B · الأدوار

ما هي Edge Node وHost Application في Sparkplug؟

تملك Edge Node جلسة MQTT عند الحافة، ويستهلك Host Application البيانات. ويؤدي Kilo الدورين معًا، عبر الوسيط الذي تختاره.

Edge Node

بوابة أو PLC أو برنامج حافة

  • تنشر الميلاد والبيانات والوفاة
  • تنفذ NCMD وDCMD
  • تنتظر المضيف الأساسي إن ضُبطت لذلك
وسيط MQTT

أي وسيط MQTT 3.1.1 أو 5.0

  • يوجّه مواضيع spBv1.0
  • يسلّم وصية NDEATH
  • يحتفظ برسالة STATE المحفوظة
Host Application

منصة Kilo لإنترنت الأشياء الصناعي

  • ينشر STATE بصفته Primary Host
  • يتتبع bdSeq وseq وRebirth
  • يحوّل المقاييس إلى أجهزة وقواعد وإنذارات

Sparkplug B · البنية

كيف تبني Unified Namespace باستخدام MQTT Sparkplug؟

مساحة الأسماء الموحدة (Unified Namespace أو UNS) بنية لإنترنت الأشياء الصناعي ينشر فيها كل نظام حالته الحالية في تسلسل هرمي واحد مشترك، عادةً وسيط MQTT، بدلًا من التكاملات من نقطة إلى نقطة.

  • طابِق التسلسل الهرمي للمصنع مع معرّفات Sparkplug: المجموعة لموقع أو منطقة، وEdge Node لخط أو خلية، والجهاز لآلة.
  • تجعل شهادات الميلاد كل عقدة تصف نفسها، فتظهر المعدات الجديدة في مساحة الأسماء دون ربط يدوي.
  • تُبقي شهادات الوفاة مساحة الأسماء صادقة: لحظة وفاة العقدة تُعلَّم كل قيمة تملكها بأنها قديمة.
  • يستهلك Kilo مساحة الأسماء نفسها، فترى لوحات البيانات والقواعد والإنذارات المصنع تمامًا كما يُنشر.
المؤسسة broker / UNS mqtts://uns.example.com
الموقع · المنطقة group_id plant-berlin
الخط · الخلية edge_node_id line-3
الآلة device_id filler
المقياس metric Motor/Temperature = 71.5 °C

Sparkplug B · مقارنة

OPC UA مقابل MQTT Sparkplug B

هما متكاملان لا متنافسان: فبنية شائعة لإنترنت الأشياء الصناعي تقرأ المعدات عبر OPC UA عند الحافة وتنشرها بصيغة Sparkplug B إلى الوسيط الذي يغذي مساحة الأسماء الموحدة.

OPC UA MQTT Sparkplug B
موضعه مستوى الآلة والخلية من الموقع إلى المؤسسة والسحابة
النمط عميل/خادم (مع PubSub) نشر/اشتراك عبر وسيط
نموذج البيانات نموذج معلومات غني محدد النوع مقاييس محددة النوع وقوالب ومجموعات بيانات
حركة البيانات استطلاع أو اشتراكات لكل عميل إبلاغ عند التغيير، تدفق واحد للجميع
الحالة لكل جلسة شهادات ميلاد ووفاة لكل عقدة

Sparkplug B · الوسطاء

أي وسيط MQTT يعمل مع Sparkplug B؟

يستطيع أي وسيط ينفّذ MQTT تنفيذًا صحيحًا نقل Sparkplug B. ويعمل Kilo مع الوسيط الذي تشغّله بالفعل، عبر mqtt:// أو mqtts://، أو مع نقطة Cloud MQTT مُدارة.

مطلوب

وسيط Sparkplug Compliant

أي وسيط MQTT 3.1.1 أو 5.0 يدعم QoS 0 و1 والرسائل المحتفَظ بها والوصية (Will). هذا كل ما تحتاجه عقد Edge Node والمضيفون.

اختياري

وسيط Sparkplug Aware

يخزن إضافةً إلى ذلك أحدث شهادات الميلاد للمنضمين متأخرًا. مفيد، لكن المضيفين وعقد Edge Node لا يعتمدون عليه.

Kilo

وسيطك أو Cloud MQTT

وجّه Kilo إلى الوسيط الذي تستخدمه عقد Edge Node لديك، أو دع المنصة تجهّز نقطة مُدارة ببيانات اعتماد خاصة بها.

Sparkplug B · مثال

مثال على MQTT Sparkplug B

خط تعبئة في موقع واحد، من أول شهادة ميلاد حتى انقطاع الاتصال، كما تظهر الرسائل على الوسيط.

  • تسجّل عقدة Edge Node المسماة line-3 رسالة NDEATH الخاصة بها كوصية، ثم تنشر NBIRTH ورسالة DBIRTH للجهاز filler.
  • بعد ذلك لا تنتقل إلا التغييرات: رسالة DDATA لكل تغيير، تحمل كل منها رقم seq التالي.
  • وتعود الأوامر نازلةً عبر الشجرة نفسها بصيغة DCMD.
  • إذا انقطعت الكهرباء عن البوابة، نشر الوسيط NDEATH، وعلّم كل مضيف line-3 وfiller بأنهما غير متصلين.
spBv1.0 · plant-berlin
NBIRTH spBv1.0/plant-berlin/NBIRTH/line-3
bdSeq=4 · seq=0 · Node Control/Rebirth (Boolean)
DBIRTH spBv1.0/plant-berlin/DBIRTH/line-3/filler
Bottles/Count (UInt64) · Motor/Temperature (Float) · State (String)
DDATA spBv1.0/plant-berlin/DDATA/line-3/filler
seq=12 · Motor/Temperature = 71.5
DCMD spBv1.0/plant-berlin/DCMD/line-3/filler
Bottles/Count = 0
NDEATH spBv1.0/plant-berlin/NDEATH/line-3
bdSeq=4 · ينشرها الوسيط كوصية (Will)

Sparkplug B · المطابقة

ما هي حزمة اختبار Eclipse Sparkplug TCK؟

حزمة توافق التقنية (Technology Compatibility Kit) هي مجموعة الاختبارات الرسمية من Eclipse Foundation للمواصفة. ويجتاز تنفيذ Kilo لـ Sparkplug B حزمة TCK 3.0.0 الموقّعة لملفَّي التعريف Edge Node وHost Application، على MQTT 5.0 و3.1.1، وكل النتائج منشورة للعموم.

28/28
تشغيلات TCK الناجحة
273
المتطلبات المجتازة
2
ملفات التعريف المختبرة
6/6
المجموعات الاختيارية المجتازة

الربط · Sparkplug B

كيف أربط أجهزة Sparkplug B بمنصة إنترنت أشياء؟

1

وجّه Kilo إلى وسيطك

أضف موصل Sparkplug B إلى الوسيط الذي تستخدمه عقد Edge Node لديك بالفعل، أو إلى نقطة Cloud MQTT، واختر المجموعات التي تريد الاشتراك فيها.

2

شهادات الميلاد تصبح أجهزة

تسجّل كل NBIRTH وDBIRTH عقدتها أو جهازها مع كل مقياس ونوع بيانات ووحدة، فلا حاجة إلى ربط الحمولة يدويًا.

3

البيانات والوفاة والأوامر

تتدفق التغييرات إلى لوحات البيانات والقواعد والإنذارات؛ وتعلّم شهادات الوفاة القيم بأنها قديمة في الحال؛ وتعود الأوامر كـ NCMD وDCMD.

الربط · Sparkplug B

ما الذي يجب أن تدعمه منصة إنترنت الأشياء الصناعي لـ Sparkplug B؟

Sparkplug 3.0.0
ملفا التعريف Edge Node وHost Application، على MQTT 3.1.1 وMQTT 5.0، مختبَران بحزمة Sparkplug TCK 3.0.0 الرسمية.
حالة جلسة كاملة
تتبّع bdSeq وseq، وشهادات وفاة تسلّمها الوصية (Will)، وطلبات Rebirth عند أي فجوة، وتعليم القيم بأنها قديمة لحظة وفاة عقدة أو جهاز.
STATE للمضيف الأساسي
رسالة STATE birth محتفَظ بها ورسالة STATE death كوصية، كي تعرف عقد Edge Node التي تنتظر المضيف الأساسي متى يستمع Kilo.
إعادة ترتيب الرسائل
تُحتجز الرسائل الواصلة بغير ترتيبها وتُعاد ترتيبها ضمن مهلة قبل طلب Rebirth، فلا يتحول تعثر قصير في الوسيط إلى فقدان للبيانات.
كل أنواع البيانات
كل الأنواع العددية والمصفوفات في Sparkplug B، ومجموعات البيانات والقوالب والخصائص والأسماء المستعارة للمقاييس، تُفك وفق ما أعلنته كل شهادة ميلاد.
أوامر في الاتجاهين
كتابة NCMD وDCMD إلى مقاييس العقد والأجهزة، بما فيها Node Control/Rebirth، من لوحات البيانات أو القواعد أو واجهة API.

الربط · Sparkplug B

ماذا يمكنك أن تفعل ببيانات Sparkplug B؟

الربط · Sparkplug B

الأسئلة الشائعة عن Sparkplug B

هل Sparkplug B هو نفسه MQTT؟

لا. MQTT هو وسيلة النقل، وSparkplug B مواصفة فوقه تثبّت مساحة أسماء المواضيع وحمولة Protocol Buffers وقواعد حالة الجلسة. كل رسالة Sparkplug B رسالة MQTT، لكن معظم حركة MQTT ليست Sparkplug.

ما إصدارات MQTT التي يدعمها Sparkplug B؟

يعمل Sparkplug 3.0.0 على MQTT 3.1.1 وMQTT 5.0. ويدعم Kilo الإصدارين، وقد اختُبر عليهما بحزمة TCK الرسمية.

هل أحتاج إلى وسيط خاص لـ Sparkplug B؟

لا. يصلح أي وسيط MQTT 3.1.1 أو 5.0 يتعامل تعاملًا صحيحًا مع QoS 1 والرسائل المحتفَظ بها والوصية (Will). والوسيط Sparkplug Aware اختياري.

هل Sparkplug B مفتوح المصدر؟

المواصفة معيار مفتوح من Eclipse Foundation بموجب Eclipse Public License، ومخطط الحمولة منشور في Eclipse Tahu. تنفّذها المنتجات باستقلال، وتنفيذ Kilo خاص به.

ما الفرق بين إنترنت الأشياء الصناعي وإنترنت الأشياء؟

إنترنت الأشياء الصناعي (IIoT) هو إنترنت الأشياء مطبقًا على المصانع والمرافق والبنية التحتية، حيث تأتي البيانات من وحدات PLC والعدادات والآلات، ويجب أن تكون موثوقة ومختومة زمنيًا وواعية بالحالة. وهذه الموثوقية بالضبط هي ما يضيفه Sparkplug B إلى MQTT.

هل لا يزال بإمكاني استخدام JSON عبر MQTT؟

نعم. يواصل موصل MQTT في Kilo تحليل حمولات JSON، لذا يمكن لأجهزة Sparkplug B وأجهزة MQTT العادية أن تتعايش في مؤسسة واحدة.

اربط أجهزة Sparkplug B بـ Kilo

ابدأ مجانًا ووجّه Kilo إلى وسيطك، أو احجز مكالمة لنرسم معًا خريطة مجموعات Sparkplug وعقد Edge Node والأجهزة لديك.