يتطلب تفعيل الخدمة جهازًا واحدًا لديه دور "المفوّض" وجهازًا واحدًا لديه دور "المشارِك". يكون المفوّض إما جهاز Thread في شبكة Thread حالية، أو جهازًا خارجيًا عن شبكة Thread (مثل هاتف جوّال) يؤدي دور المفوّض. Joiner هو الجهاز الذي يريد الانضمام إلى شبكة Thread.
يُستخدَم مفوّض Thread لمصادقة جهاز على الشبكة. ولا يتم نقل بيانات اعتماد شبكة Thread أو امتلاكها، مثل مفتاح الشبكة.
يتناول هذا الدليل عملية الإعداد الأساسية على الشبكة بدون استخدام "مفوّض" خارجي أو "موجه حدودي". للتعرّف على كيفية استخدام مفوّض خارجي، يُرجى الاطّلاع على مقالة تفويض مناقشة خارجي.
للاطّلاع على مثال على عملية الإعداد باستخدام الأجهزة الافتراضية، يمكنك الاطّلاع على Codelab محاكاة 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 لمصادقة الجهاز أثناء تفويض سلسلة التعليمات. يجب أن تكون "بيانات اعتماد الانضمام" فريدة لكل جهاز.
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!
نجح جهاز Joiner في مصادقة نفسه مع المفوض وتلقى بيانات اعتماد Thread Network.
بدء سلسلة المحادثات الآن على جهاز الانضمام:
thread start
Done
التحقّق من المصادقة
تحقق من الحالة على جهاز Joiner للتحقق من أنه انضم إلى الشبكة. خلال دقيقتين، تنتقل الحالة من جهاز الطفل إلى جهاز التوجيه:
state
child Done ...state
router Done