التفويض على الإنترنت

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

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

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

يُستخدم جهاز Thread Commissioner لمصادقة جهاز على الشبكة. لا تنقل هذه الأجهزة بيانات اعتماد شبكة Thread، مثل مفتاح الشبكة، ولا تحتفظ بها.

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

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

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

لتفعيل دورَي "المفوّض" و"المشارك"، استخدِم خيارات cmake التالية:

Option الوصف
-DOT_COMMISSIONER=ON تفعيل دور "المفوّض"
-DOT_JOINER=ON تفعيل دور "المشارك"

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

./script/build -DOT_JOINER=ON

ثبّت ذاكرة ROM لكل برنامج ثنائي على الجهاز المطلوب. يعمل أحد الجهازَين كجهاز إعداد، ويعمل الآخر كجهاز ربط.

يمكنك الاطّلاع على تعليمات محدّدة حول إنشاء الأنظمة الأساسية المتوافقة وتثبيت البرامج عليها في مستودع OpenThread الخاص بكل نظام أساسي. يمكنك الاطّلاع على مؤسسة OpenThread على GitHub للعثور على المستودع.

إنشاء شبكة

إنشاء شبكة على الجهاز الذي يعمل كجهاز Commissioner:

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

انتظِر بضع ثوانٍ وتأكَّد من أنّ الجهاز أصبح جهازًا رئيسيًا لشبكة Thread باتّباع الخطوات التالية:

state
leader
Done

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

على الجهاز نفسه، ابدأ دور "المفوّض" باتّباع الخطوات التالية:

commissioner start
Done

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

commissioner joiner add * J01NME
Done

حصر الوصول على مستخدم Joiner معيّن

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

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

eui64
2f57d222545271f1
Done

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

commissioner joiner add 2f57d222545271f1 J01NME
Done

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

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

factoryreset
ifconfig up
Done
joiner start J01NME
Done

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

Join success!

تمكّن جهاز Joiner من إثبات هويته بنجاح لدى جهاز Commissioner وتلقّى بيانات اعتماد شبكة Thread.

الآن، ابدأ شبكة Thread على جهاز Joiner باتّباع الخطوات التالية:

thread start
Done

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

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

state
child
Done
...
state
router
Done