راه اندازی روی مش، راه اندازی روی مش

مشاهده منبع در گیت‌هاب

کمیسر و وصال

راه‌اندازی به یک دستگاه با نقش کمیسر و یک دستگاه با نقش متصل‌کننده نیاز دارد. متصل‌کننده می‌تواند یک دستگاه Thread در یک شبکه Thread موجود یا دستگاهی خارج از شبکه Thread (مانند تلفن همراه) باشد که نقش کمیسر را ایفا می‌کند. متصل‌کننده دستگاهی است که می‌خواهد به شبکه Thread بپیوندد.

کمیسر ترد برای احراز هویت یک دستگاه در شبکه استفاده می‌شود. این کمیسر، اطلاعات احراز هویت شبکه ترد مانند کلید شبکه را منتقل نمی‌کند و در اختیار ندارد.

این راهنما، راه‌اندازی اولیه و درون شبکه‌ای بدون کمیسر خارجی یا روتر مرزی را پوشش می‌دهد. برای یادگیری نحوه استفاده از کمیسر خارجی، به «راه‌اندازی نخ خارجی» مراجعه کنید.

برای مثالی از راه‌اندازی با استفاده از دستگاه‌های مجازی، به OpenThread Simulation Codelab مراجعه کنید.

فعال کردن نقش‌ها

برای فعال کردن نقش‌های Commissioner و Joiner، از گزینه‌های cmake زیر استفاده کنید:

گزینه توضیحات
-DOT_COMMISSIONER=ON نقش کمیسر را فعال می‌کند
-DOT_JOINER=ON نقش Joiner را فعال می‌کند

برای مثال، برای ساخت پلتفرم نمونه CC2538 فقط برای استفاده به عنوان Joiner:

./script/build -DOT_JOINER=ON

هر فایل باینری را روی دستگاه مورد نظر فلش کنید. یک دستگاه به عنوان کمیسر و دیگری به عنوان متصل کننده عمل می‌کند.

دستورالعمل‌های خاص در مورد ساخت و فلش کردن پلتفرم‌های پشتیبانی‌شده را می‌توانید در مخزن OpenThread هر پلتفرم پیدا کنید. برای یافتن مخزن، به سازمان 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

از علامت * برای اجازه دادن به هر Joiner با اعتبار Joiner مشخص شده برای راه‌اندازی در شبکه استفاده کنید. اعتبار Joiner (همراه با شناسه PAN توسعه‌یافته و نام شبکه) برای تولید کلید پیش‌مشترک برای دستگاه (PSKd) استفاده می‌شود. سپس PSKd برای تأیید اعتبار دستگاه در طول راه‌اندازی Thread استفاده می‌شود. اعتبار Joiner باید برای هر دستگاه منحصر به فرد باشد.

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 را با همان اعتبار 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
،

مشاهده منبع در گیت‌هاب

کمیسر و وصال

راه‌اندازی به یک دستگاه با نقش کمیسر و یک دستگاه با نقش متصل‌کننده نیاز دارد. متصل‌کننده می‌تواند یک دستگاه Thread در یک شبکه Thread موجود یا دستگاهی خارج از شبکه Thread (مانند تلفن همراه) باشد که نقش کمیسر را ایفا می‌کند. متصل‌کننده دستگاهی است که می‌خواهد به شبکه Thread بپیوندد.

کمیسر ترد برای احراز هویت یک دستگاه در شبکه استفاده می‌شود. این کمیسر، اطلاعات احراز هویت شبکه ترد مانند کلید شبکه را منتقل نمی‌کند و در اختیار ندارد.

این راهنما، راه‌اندازی اولیه و درون شبکه‌ای بدون کمیسر خارجی یا روتر مرزی را پوشش می‌دهد. برای یادگیری نحوه استفاده از کمیسر خارجی، به «راه‌اندازی نخ خارجی» مراجعه کنید.

برای مثالی از راه‌اندازی با استفاده از دستگاه‌های مجازی، به OpenThread Simulation Codelab مراجعه کنید.

فعال کردن نقش‌ها

برای فعال کردن نقش‌های Commissioner و Joiner، از گزینه‌های cmake زیر استفاده کنید:

گزینه توضیحات
-DOT_COMMISSIONER=ON نقش کمیسر را فعال می‌کند
-DOT_JOINER=ON نقش Joiner را فعال می‌کند

برای مثال، برای ساخت پلتفرم نمونه CC2538 فقط برای استفاده به عنوان Joiner:

./script/build -DOT_JOINER=ON

هر فایل باینری را روی دستگاه مورد نظر فلش کنید. یک دستگاه به عنوان کمیسر و دیگری به عنوان متصل کننده عمل می‌کند.

دستورالعمل‌های خاص در مورد ساخت و فلش کردن پلتفرم‌های پشتیبانی‌شده را می‌توانید در مخزن OpenThread هر پلتفرم پیدا کنید. برای یافتن مخزن، به سازمان 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

از علامت * برای اجازه دادن به هر Joiner با اعتبار Joiner مشخص شده برای راه‌اندازی در شبکه استفاده کنید. اعتبار Joiner (همراه با شناسه PAN توسعه‌یافته و نام شبکه) برای تولید کلید پیش‌مشترک برای دستگاه (PSKd) استفاده می‌شود. سپس PSKd برای تأیید اعتبار دستگاه در طول راه‌اندازی Thread استفاده می‌شود. اعتبار Joiner باید برای هر دستگاه منحصر به فرد باشد.

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 را با همان اعتبار 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