الاطّلاع على المصدر على GitHub
يتطلّب التفويض توفّر جهاز واحد يتضمّن دور المفوَّض وجهازًا واحدًا. بدور "الانضمام". إنّ المفوَّض هو جهاز Thread في أو شبكة Thread الحالية أو جهاز خارجي غير متصل بشبكة Thread (مثل الهاتف المحمول) الذي يؤدي دور المفوض. أداة الانضمام هو الجهاز يريد الانضمام إلى شبكة Thread.
يتم استخدام مفوض سلاسل المحادثات لمصادقة جهاز على الشبكة. يفعل لا يملكون بيانات اعتماد شبكة Thread أو لا يملكون بيانات اعتمادها، مثل بيانات الشبكة المفتاح.
يتناول هذا الدليل التفويض الأساسي على الشبكة المتداخلة بدون مفوَّض خارجي. أو الحدود Router. لمعرفة كيفية الاستعانة بمفوّض خارجي، يُرجى الاطّلاع على مقالة قسم مفوَّض خارجي. جارٍ تشغيل سلاسل المحادثات.
للحصول على مثال على التفويض باستخدام أجهزة افتراضية، اطّلِع على الدرس التطبيقي حول ترميز محاكاة OpenThread:
تفعيل الأدوار
لتفعيل دورَي "المفوض" و"المنضم"، استخدم خيارات cmake التالية:
Option | الوصف |
---|---|
-DOT_COMMISSIONER=ON |
تفعيل دور المفوّض |
-DOT_JOINER=ON |
تفعيل دور "الانضمام" |
على سبيل المثال، لإنشاء منصة CC2538 كمثال للاستخدام كأداة الانضمام فقط:
./script/build -DOT_JOINER=ON
اضبط فلاش كل برنامج ثنائي على الجهاز المطلوب. يعمل أحد الأجهزة كمفوّض، والآخر كالانضمام.
يمكن العثور على تعليمات محددة حول إنشاء ووميض الأنظمة الأساسية المتوافقة في مستودع OpenThread لكل نظام أساسي. يُرجى الاطّلاع على مؤسسة OpenThread GitHub للعثور على المستودع.
إنشاء شبكة
أنشئ شبكة على الجهاز الذي يعمل كمفوض:
dataset init new
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread start
Done
انتظِر بضع ثوانٍ وتأكَّد من أنّ الجهاز أصبح قائد سلسلة المحادثات:
state
leader
Done
بدء دور المفوّض
على ذلك الجهاز نفسه، ابدأ دور المفوّض:
commissioner start
Done
يمكنك استخدام حرف البدل * للسماح لأي أداة ربط تضم بيانات اعتماد الانضمام المحددة عمولة على الشبكة. تُستخدم بيانات اعتماد الانضمام (بالإضافة إلى رقم تعريف PAN الموسَّع واسم الشبكة) لإنشاء "المفتاح الذي تمت مشاركته مسبقًا" للجهاز (PSKd). يتم بعد ذلك استخدام PSKd لمصادقة جهاز أثناء سلسلة Thread. التشغيل. يجب أن تكون "بيانات اعتماد الانضمام" فريدة لكل جهاز.
commissioner joiner add * J01NME
Done
التقييد برابط محدّد
لتقييد التشغيل على جهاز Joiner معيّن، استخدِم eui64
وهي مواصفات IEEE EUI-64 الصادرة عن الشركة المصنعة للجهاز.
على الجهاز الذي يعمل كأداة الانضمام، احصل على EUI-64:
eui64
2f57d222545271f1
Done
استخدِم هذه القيمة بدلاً من حرف البدل * في الأمر commissioner joiner
على
الجهاز المفوَّض:
commissioner joiner add 2f57d222545271f1 J01NME
Done
بدء دور "الانضمام"
على الجهاز الذي يعمل كأداة الانضمام، عليك إجراء إعادة ضبط على الإعدادات الأصلية، ثم تفعيل دور المنضم بنفس "بيانات اعتماد الانضمام" المحددة في المفوّض:
factoryreset
ifconfig up
Donejoiner start J01NME
Done
يُرجى الانتظار بضع ثوانٍ للتأكيد:
Join success!
تمت مصادقة جهاز الانضمام بنجاح مع المفوَّض. وحصلنا على بيانات اعتماد Thread Network.
بدء سلسلة المحادثات الآن على جهاز الانضمام:
thread start
Done
التحقق من المصادقة
التحقُّق من الحالة على جهاز Joiner للتحقُّق من انضمامه إلى الجهاز الشبكة. وخلال دقيقتين، ستنتقل الحالة من جهاز فرعي إلى جهاز التوجيه:
state
child Done ...state
router Done