التكليف على الشبكة المتداخلة

عرض المصدر على GitHub

المفوّض والمنضم

يتطلب التكليف جهازًا واحدًا بدور المفوّض وجهازًا واحدًا بدور "انضمام". المفوَّض هو جهاز سلسلة محادثات في شبكة سلاسل محادثات حالية، أو جهاز خارج شبكة سلاسل المحادثات (مثل هاتف جوّال) يؤدي دور المفوَّض. الانضمام هو الجهاز الذي يريد الانضمام إلى شبكة سلاسل المحادثات.

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

يتناول هذا الدليل العمولة الأساسية داخل الشبكة بدون مفوّض خارجي أو جهاز توجيه الحدود. لمعرفة كيفية الاستعانة بمفوّض خارجي، يُرجى الاطّلاع على تفويض إدارة سلاسل المحادثات الخارجية.

للحصول على مثال حول التفويض باستخدام الأجهزة الافتراضية، يُرجى الاطّلاع على درس تطبيقي حول محاكاة سلاسل OpenOpen.

تفعيل الأدوار

لتفعيل أدوار المفوَّض والمنضم، استخدِم خيارات التنسيق التالية:

الخيار الوصف
-DOT_COMMISSIONER=ON تفعيل دور المفوَّض
-DOT_JOINER=ON تُفعِّل دور المشارك.

على سبيل المثال، لإنشاء النظام الأساسي لمثال CC2538 للاستخدام كرابط فقط:

./script/build -DOT_JOINER=ON

أريد تثبيت كل برنامج ثنائي على الجهاز المطلوب. الْأَحْدَثْ هُوَ الْمُنَبِّهْ، وَالْوَحْدُ الْآخَرْ هُوَ الْمُنَاسِبْ.

يمكن العثور على تعليمات محدّدة حول إنشاء منصات متوافقة معًا وتومض في مستودع OpenPlatform لكل نظام أساسي. يمكنك الاطِّلاع على مؤسسة Openthread GitHub للعثور على المستودع.

إنشاء شبكة

إنشاء شبكة على الجهاز تعمل كمفوّض:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

انتظِر بضع ثوانٍ وتحقَّق من أن الجهاز قد أصبح "قائد سلاسل المحادثات":

state
leader
Done

بدء دور المفوَّض

على الجهاز نفسه، ابدأ دور المفوَّض:

commissioner start
Done

استخدِم حرف البدل * للسماح لأي مشترك لديه بيانات اعتماد انضمامه المحددة بالعمولة على الشبكة. يتم استخدام بيانات اعتماد الانضمام (بالإضافة إلى معرّف PAN واسم الشبكة) لإنشاء المفتاح المشترك مسبقًا للجهاز (PSKd). ويُستخدَم ملف PSKd بعد ذلك لمصادقة جهاز أثناء تشغيل سلسلة المحادثات. يجب أن تكون بيانات اعتماد الانضمام فريدة لكل جهاز.

commissioner joiner add * J01NME
Done

حصر على مشارك معيّن

لتقييد العمولة على جهاز ضمّ معيّن، استخدِم المعلمة eui64، وهي معرّف IEEE EU-64 الذي تم تخصيصه لمصنع الجهاز.

على الجهاز الذي يعمل كعنوان، احصل على EUI-64:

eui64
2f57d222545271f1
Done

استخدِم هذه القيمة بدلاً من حرف البدل * في الأمر commissioner joiner على جهاز المفوَّض:

commissioner joiner add 2f57d222545271f1 J01NME
Done

بدء دور المشارك

على الجهاز الذي يقدّم طلب الانضمام، يُرجى إجراء إعادة ضبط على الإعدادات الأصلية، ثم تفعيل دور المشارك باستخدام بيانات اعتماد المشارك نفسها المحدّدة في المفوّض:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

انتظر لبضع ثوانٍ للتأكيد:

Join success!

نجح جهاز الانضمام في مصادقة نفسه مع المفوّض وتلقّى بيانات اعتماد "شبكة الرسائل".

الآن ابدأ سلسلة المحادثات على جهاز الانضمام:

thread start
Done

التحقّق من المصادقة

تحقَّق من الحالة على جهاز "الانضمام" للتحقّق من انضمامها إلى الشبكة. خلال دقيقتين، تنتقل الحالة من جهاز طفلك إلى جهاز التوجيه:

state
child
Done
...
state
router
Done