1. مقدمة

OpenThread (OT) من Google هو تطبيق مفتوح المصدر لبروتوكول Thread. أصدرت Google تقنية OpenThread لتتيح للمطوّرين استخدام تكنولوجيا الشبكات المستخدَمة في منتجات Google Nest على نطاق واسع، ما يؤدي إلى تسريع تطوير المنتجات الخاصة بالشبكة المنزلية المتصلة وتطبيقات المباني التجارية. بفضل طبقة تجريد المنصة الضيقة واستهلاك الذاكرة الصغير، يمكن نقل OpenThread بسهولة. يتوافق مع تصاميم المنظومة على الرقاقة (SoC) ومعالج الشبكة المساعد (NCP).
يحدّد مواصفات Thread بروتوكول اتصال لاسلكي موثوق وآمن ومنخفض الطاقة بين الأجهزة يستند إلى الإصدار 6 من بروتوكول الإنترنت (IPv6) لتطبيقات المنازل والمباني التجارية.
نفّذت شركة Texas Instruments بروتوكول OpenThread في مجموعة أجهزة SimpleLink™ CC27xx. يحتوي مستودع ot-ti على GitHub على برامج تشغيل النظام الأساسي والتطبيقات النموذجية اللازمة لتشغيل OpenThread على وحدات التحكّم الدقيقة المتصلة SimpleLink من Texas Instruments. CC2745R10-Q1 هي وحدة تحكّم دقيقة لاسلكية (MCU) معتمدة من Thread وفقًا لمعيار IEEE 802.15.4 ومصنّفة ضمن فئة السيارات (معتمدة وفقًا لمعيار AEC-Q100)، وهي من عائلة SimpleLink CC27xx من شركة TI.
يوضّح هذا الدرس التطبيقي حول الترميز كيفية بدء تطوير تطبيقات OpenThread باستخدام لوحة التقييم LP-EM-CC2745R10-Q1 LaunchPad ومستودع ot-ti. تعرض الصورة أدناه إعدادات الأجهزة المستخدَمة في هذا الدرس التطبيقي حول الترميز، مع جهاز توجيه حدودي OT وجهازَين كاملَين من أجهزة Thread (FTD).

أهداف الدورة التعليمية
- كيفية إعداد بيئة الإصدار ot-ti من Texas Instruments
- كيفية إنشاء وتثبيت ثنائيات OpenThread CLI على لوحات LP-EM-CC2745R10-Q1
- كيفية إعداد Raspberry Pi كجهاز توجيه حدودي OpenThread (OTBR) باستخدام ot-br-posix
- كيفية إنشاء شبكة Thread على OTBR
- توفير الأجهزة على شبكة Thread خارج النطاق
- كيفية التحقّق من اتصال Thread بين العُقد باستخدام الأمر ping
2. المتطلبات الأساسية
أجهزة
- 3 لوحات LP-EM-CC2745R10-Q1 LaunchPad: تم ضبط إحدى اللوحات كجهاز RCP متصل بجهاز Border Router، وتم ضبط لوحتَين كجهازَي Full Thread Devices (FTD).
CC2745R10-Q1 هي وحدة تحكّم دقيقة لاسلكية (MCU) معتمدة من Thread وفقًا لمعيار IEEE 802.15.4 ومناسبة للاستخدام في السيارات (معتمدة وفقًا لمعيار AEC-Q100) ضمن مجموعة SimpleLink CC27xx من شركة TI. وحدة التقييم LaunchPad المقابلة هي LP-EM-CC2745R10-Q1، وهي تتوافق مع أدوار RCP وFTD وMTD وNCP Thread. إنّ CC2340R5 مع LP-EM-CC2340R5 LaunchPad هو خيار ذاكرة أقل يمكن استخدامه كجهاز RCP فقط. لا تتوافق هذه الأداة مع أدوار FTD أو MTD أو NCP. في حال استبدال LP-EM-CC2340R5 باللوحة 1 (RCP)، يجب أن تظل لوحتا FTD هما LP-EM-CC2745R10-Q1. - 3 أدوات فحص لتصحيح الأخطاء LP-XDS110ET: واحدة لكل لوحة LaunchPad، تُستخدم للبرمجة وتصحيح الأخطاء عبر USB.
إنّ LP-XDS110ET هو أداة تصحيح أخطاء USB منفصلة مطلوبة لأجهزة LaunchPad في شكل LP-EM. يتضمّن هذا الإصدار إمكانية استخدام EnergyTrace لتحديد مستوى استهلاك الطاقة. LP-XDS110 هو بديل أقل تكلفة يوفّر إمكانية البرمجة وتصحيح الأخطاء نفسها، ولكنّه لا يتضمّن EnergyTrace. كبديل آخر، يمكن استخدام LaunchPad مع أداة تصحيح أخطاء XDS110 مدمجة (مثل LAUNCHXL-CC26X2R1) بدلاً من لوحة LP-EM وأداة تصحيح أخطاء منفصلة تمامًا. للحصول على التفاصيل، يُرجى الاطّلاع على دليل إمكانية اتصال تصحيح الأخطاء في LaunchPad. - 3 كابلات USB صغيرة لتوصيل لوحات LaunchPad ومجسّات تصحيح الأخطاء وتشغيلها
- جهاز Raspberry Pi 4B أو إصدار أحدث مثبّت عليه نظام التشغيل Raspberry Pi OS ومتصل بالإنترنت عبر الإيثرنت سيتم ضبط هذا الجهاز كمضيف لجهاز توجيه حدود OT.

- نظام مضيف Linux أو macOS مزوّد بمنفذَي USB على الأقل وإمكانية الوصول إلى الإنترنت يتطلّب بيئة الإنشاء برنامج shell متوافقًا مع Bash. على مستخدمي Windows استخدام WSL2 (نظام Windows الفرعي على Linux 2) مع Ubuntu.
- كابل إيثرنت واحد على الأقل لتوصيل Raspberry Pi بالإنترنت بدلاً من ذلك، يمكنك ربط Raspberry Pi بشبكة Wi-Fi واستخدام
wlan0كواجهة البنية الأساسية. راجِع خطوة إعداد OTBR للحصول على التفاصيل.
البرامج
- مستودع TI ot-ti: https://github.com/TexasInstruments/ot-ti
- GNU ARM Embedded Toolchain 12.2 (يتم تثبيته تلقائيًا بواسطة نص bootstrap البرمجي)
- SysConfig 1.27.0 (يتم تثبيته تلقائيًا بواسطة النص البرمجي الخاص ببرنامج الإعداد)
- TI UniFlash: لتثبيت البرامج الثابتة على لوحات LaunchPad
- ot-br-posix: https://github.com/openthread/ot-br-posix
- وحدة طرفية تسلسلية مثل PuTTY (في Windows) أو minicom (في Linux) أو screen (في macOS أو Linux)
3- ضبط الأجهزة
يستخدم هذا الدرس التطبيقي حول الترميز ثلاث لوحات LP-EM-CC2745R10-Q1:
- اللوحة 1 (RCP): تعمل بالإصدار
ot-rcpمن البرامج الثابتة. متصل بجهاز Raspberry Pi عبر USB كمعالج مساعد لاسلكي لجهاز توجيه الحدود - اللوحة 2 (FTD 1): تعمل ببرنامج
ot-cli-ftdالثابت كجهاز Full Thread Device. - اللوحة 3 (FTD 2): تشغّل البرامج الثابتة
ot-cli-ftdكجهاز Full Thread Device.

وصِّل كل LaunchPad بجهاز الكمبيوتر المضيف عبر منفذ micro-USB. يوفر اتصال USB إمكانية توفير الطاقة وتصحيح الأخطاء/البرمجة من خلال أداة تصحيح الأخطاء XDS110 المدمجة.
يظهر كل LP-EM-CC2745R10-Q1 كمنفذَي تسلسل افتراضي عند توصيله عبر USB: أحدهما لواجهة تصحيح الأخطاء XDS110 والآخر لتطبيق UART. عند فتح وحدة تحكّم تسلسلية، اتّصِل بمنفذ Application/User UART، وليس بمنفذ البيانات الإضافية.

4. إعداد المستودع وإنشاؤه
يستخدم نظام التصميم ot-ti CMake ويتطلب shell Bash. يتم تنفيذ جميع الأوامر الواردة في هذا القسم على المضيف الذي يعمل بنظام التشغيل Linux أو macOS (أو WSL2 على Windows).
1. إنشاء نسخة طبق الأصل من المستودع
$ git clone https://github.com/TexasInstruments/ot-ti.git $ cd ot-ti $ git submodule update --init
2. تشغيل نص bootstrap البرمجي
يثبّت النص البرمجي للتشغيل التمهيدي التبعيات المطلوبة، بما في ذلك مجموعة أدوات GNU ARM وSysConfig:
$ ./script/bootstrap
يتطلّب نص الإعداد الأوّلي cmake وgit وwget وأدوات الإنشاء العادية. على Ubuntu/Debian، ثبِّت المتطلبات الأساسية باستخدام: sudo apt-get install -y cmake git make wget tar ninja-build
3- إنشاء برامج ثابتة لجهاز LP_EM_CC2745R10_Q1
إنشاء جميع صور البرامج الثابتة للوحة LP-EM-CC2745R10-Q1:
$ ./script/build LP_EM_CC2745R10_Q1
يتوافق هدف الإصدار LP_EM_CC2745R10_Q1 مع جهاز CC2745R10-Q1 في عائلة CC27xx SimpleLink (نواة Arm Cortex-M33F). للاطّلاع على جميع اللوحات المتوافقة، شغِّل ./script/build بدون وسيطات.
بعد إنشاء إصدار ناجح، ستكون ملفات ELF الثنائية في build/bin/:
$ ls build/bin/ ot-cli-ftd.out ot-cli-mtd.out ot-ncp-ftd.out ot-rcp.out
الصورتان المستخدَمتان في هذا الدرس التطبيقي هما:
-
ot-rcp.out: البرامج الثابتة لمعالج الراديو المساعد في لوحة جهاز توجيه الحدود -
ot-cli-ftd.out: البرامج الثابتة لواجهة سطر الأوامر (CLI) الخاصة بجهاز Full Thread للوحتَي FTD
جهاز Thread اختياري بسيط: إذا أردت استكشاف جهاز طرفي في وضع السكون بدلاً من جهاز Thread كامل، يمكنك تثبيت ذاكرة ROM ot-cli-mtd.out بدلاً من ot-cli-ftd.out على اللوحتين 2 و3. لا يوجّه جهاز MTD زيارات Thread ويمكنه الدخول في حالات السكون المنخفضة الطاقة، ما يجعله مناسبًا تمامًا للتطبيقات التي تعمل بالبطارية. إنّ خطوات إنشاء شبكة Thread في هذا الدرس التطبيقي حول الترميز هي نفسها لكلا نوعَي الأجهزة.
معالج الشبكة المساعد الاختياري (NCP): ينفّذ الملف الثنائي ot-ncp-ftd.out بنية معالج الشبكة المساعد، حيث يتم تشغيل حزمة OpenThread على الجهاز ويشغّلها معالج مضيف من خلال بروتوكول Spinel. يقع استخدام NCP خارج نطاق هذا الدرس التطبيقي، لذا يُرجى الرجوع إلى ملف NCP README للحصول على التفاصيل.
5- تثبيت البرامج الثابتة
استخدِم TI UniFlash لتثبيت صور ELF على لوحات LaunchPad.
استخدام UniFlash
- افتح UniFlash. يتم عرض لوحات LaunchPad المتصلة ضمن الأجهزة التي تم رصدها بسبب ميزة رصد الأجهزة التلقائي.إذا لم يتم رصد لوحتك تلقائيًا، انقر على إعداد جديد، واختَر هدف
LP-EM-CC2745R10-Q1، ثم اختَر أداة تصحيح الأخطاء XDS110 USB.
- اختَر اللوحة 1 (التي سيتم عرضها مع
ot-rcp.out) وانقر على بدء. - انقر على الزر تصفّح وانتقِل إلى
ot-ti/build/bin/ot-rcp.out.
- انقر على تحميل الصورة لتثبيت البرامج الثابتة. تعرض منطقة السجلّ مدى التقدّم وتؤكّد اكتمال العملية.
- كرِّر الخطوات من 2 إلى 4 لكلّ من لوحة العرض 2 ولوحة العرض 3، مع اختيار
ot-ti/build/bin/ot-cli-ftd.outلكلّ منهما.
البديل: تثبيت ذاكرة ROM باستخدام Code Composer Studio (CCS)
يمكن استخدام Code Composer Studio كبديل لـ UniFlash، كما يوفّر بيئة تصحيح أخطاء كاملة:
- نزِّل Code Composer Studio وثبِّته.
- أنشئ اتصالاً مستهدفًا (CCXML) لجهاز LP-EM-CC2745R10-Q1 باستخدام أداة تصحيح الأخطاء XDS110. يُرجى الرجوع إلى دليل مستخدم CCS: الطريقة اليدوية.
- ابدأ جلسة تصحيح أخطاء بدون مشروع كما هو موضّح في دليل مستخدم CCS: التشغيل اليدوي.
- اتّصِل بنواة Arm Cortex-M33 وانقر على تحميل لتحميل صورة ELF.
يستخدم إعداد CCXML التلقائي سلكَين من cJTAG لمطابقة إعداد وصلة العبور التلقائية LP-EM-CC2745R10-Q1. بعد البرمجة من خلال JTAG، أوقِف اللوحة وأعِد تشغيلها لمحو علامة الإيقاف أثناء التشغيل.
6. برمجة وحدة أمان الأجهزة (HSM)
تحتوي وحدة CC2745R10-Q1 على وحدة أمان الأجهزة (HSM) التي يجب توفيرها قبل تشغيل Thread أو أي برامج ثابتة أخرى للتطبيقات الآمنة. إذا لم يسبق لك برمجة وحدة أمان الأجهزة (HSM) في لوحة LP-EM-CC2745R10-Q1، عليك إكمال هذه الخطوة الآن.
لبرمجة وحدة أمان الأجهزة (HSM) باستخدام UniFlash، اتّبِع الخطوات التالية:
- افتح UniFlash واختَر لوحة LP-EM-CC2745R10-Q1 من الأجهزة التي تم رصدها (Detected Devices).
- انتقِل إلى لوحة برمجة وحدة أمان الأجهزة (HSM) وحمِّل صورة البرامج الثابتة لوحدة أمان الأجهزة (HSM) كما هو موضّح أدناه.

- اتّبِع التعليمات الظاهرة على الشاشة لإكمال عملية توفير وحدة أمان الأجهزة (HSM). يتم تسجيل العملية في وحدة تحكّم إخراج UniFlash.
راجِع دليل البدء السريع CC2745R10-Q1 في TI Resource Explorer للاطّلاع على إجراءات برمجة وحدة أمان الأجهزة بالكامل، بما في ذلك مسار صورة البرامج الثابتة المطلوبة ضمن حزمة تطوير البرامج SimpleLink Low Power F3.
7. ملخّص البرامج الثابتة
في هذه المرحلة، يجب أن تومض جميع اللوحات الثلاث:
- اللوحة 1:
ot-rcp.out: افصل اللوحة عن الكمبيوتر المضيف واربطها بجهاز Raspberry Pi عبر USB. - اللوحة 2:
ot-cli-ftd.out: البقاء على اتصال بجهاز الكمبيوتر المضيف - اللوحة 3:
ot-cli-ftd.out: البقاء على اتصال بجهاز الكمبيوتر المضيف
سيبدو إعداد الأجهزة على النحو الموضّح في الرسم البياني أدناه. يتم توصيل اللوحة 1 بجهاز Raspberry Pi كمعالج مساعد لاسلكي لـ OTBR، بينما تبقى اللوحتان 2 و3 متصلتَين بجهاز الكمبيوتر المضيف للوصول إلى وحدة التحكّم التسلسلية.

8. إعداد "وحدة التحكم التسلسلية" لأجهزة ot-cli-ftd
تعرض لوحة LP-EM-CC2745R10-Q1 واجهة UART للتطبيق عبر منفذ USB بسرعة 921600 باود.
افتح وحدة طرفية تسلسلية لمنفذ COM الخاص ببروتوكول UART للتطبيق (في نظام التشغيل Windows) أو جهاز /dev/ttyACM* (في نظام التشغيل Linux أو macOS) لكل لوحة FTD باستخدام الإعدادات التالية:
المَعلمة | القيمة |
السرعة (baud) |
|
بتات البيانات |
|
وحدات بت الإيقاف |
|
التكافؤ |
|
التحكّم في تدفّق البيانات |
|
ملاحظة (Linux/macOS): حدِّد عقدة الجهاز الصحيحة من خلال تنفيذ ls /dev/ttyACM* قبل توصيل اللوحة وبعد توصيلها، ولاحظ الإدخال الذي يظهر. ينشئ كل LP-EM-CC2745R10-Q1 إدخالَين: المنفذ ذو الرقم الأدنى هو XDS110 debug UART والمنفذ ذو الرقم الأعلى هو Application UART. على سبيل المثال، إذا كانت اللوحة تنشئ /dev/ttyACM0 و/dev/ttyACM1، استخدِم /dev/ttyACM1.
ملاحظة (في نظام التشغيل Windows): افتح "أداة إدارة الأجهزة" وابحث في المنافذ (COM & LPT) عن منفذَي COM جديدَين عند توصيل لوحة. يظهر منفذ بيانات تصحيح الأخطاء XDS110 عادةً أولاً، استخدِم منفذ COM الثاني (ذي الرقم الأعلى) لوحدة تحكّم التطبيق.
اضغط على Enter في المحطة الطرفية للحصول على طلب OpenThread CLI (>). للحصول على قائمة كاملة بالأوامر المتاحة، راجِع مرجع OpenThread CLI. تحقَّق من أنّ جهاز FTD يعمل:
> state disabled Done

لن يتم إعداد وحدة تحكّم تسلسلية للوحة RCP بعد. يتواصل جهاز OTBR على Raspberry Pi مع RCP مباشرةً. في الخطوة التالية، عليك ضبط Raspberry Pi كجهاز توجيه حدودي OpenThread.
9. إعداد Raspberry Pi كجهاز توجيه حدودي
تم إنشاء OTBR من ot-br-posix، وهو مشروع OpenThread Border Router مفتوح المصدر. يعمل جهاز توجيه الحدود على Raspberry Pi ويستخدم اللوحة 1 (RCP) كجهاز راديو 802.15.4 عبر USB.
إعداد Raspberry Pi
- يمكنك تثبيت ذاكرة ROM نظام التشغيل Raspberry Pi (الإصدار Lite أو Desktop 64 بت) إلى بطاقة SD باستخدام Raspberry Pi Imager.
- ابدأ تشغيل Raspberry Pi وافتح نافذة Terminal (عبر SSH أو مباشرةً).
- تعديل مدير الحِزم وترقية الحِزم المثبَّتة:
$ sudo apt-get update $ sudo apt-get upgrade -y
أعِد تشغيل Raspberry Pi بعد التحديثات قبل المتابعة: sudo reboot
توصيل اللوحة 1 (RCP) بجهاز Raspberry Pi
اربط اللوحة 1 (التي تم تثبيت ot-rcp عليها) بجهاز Raspberry Pi من خلال منفذ USB الصغير. بعد الاتصال، تأكَّد من ظهور عقدة الجهاز:
$ ls /dev/ttyACM* /dev/ttyACM0 /dev/ttyACM1
عادةً ما يكون منفذ Application UART في لوحة RCP هو /dev/ttyACM1 (منفذ XDS110 debug UART هو /dev/ttyACM0). تحقَّق من المنفذ الذي يمثّل Application UART من خلال التأكّد من أنّه يستجيب عند بدء تشغيل وكيل OTBR في خطوة لاحقة. إذا كانت أجهزة تسلسلية أخرى متصلة عبر USB، قد يختلف رقم عقدة الجهاز. عدِّل المسار في إعدادات OTBR وفقًا لذلك.
إنشاء وتثبيت ot-br-posix
على Raspberry Pi، استنسِخ ot-br-posix وأنشئها:
$ git clone https://github.com/openthread/ot-br-posix.git $ cd ot-br-posix $ ./script/bootstrap
شغِّل نص التهيئة البرمجي، وحدِّد واجهة إيثرنت كواجهة أساسية (بنية أساسية):
$ INFRA_IF_NAME=eth0 ./script/setup
eth0 هو الاسم العادي لواجهة Ethernet السلكية. إذا كنت ستربط جهاز Raspberry Pi عبر شبكة Wi-Fi بدلاً من إيثرنت، استبدِل eth0 بـ wlan0 (وتأكَّد من أنّ جهاز Raspberry Pi متصل بشبكة Wi-Fi). تحقَّق من اسم الواجهة النشطة باستخدام ip link show.
ينشئ نص التهيئة البرمجي ot-br-posix من المصدر، ويثبّت خدمات النظام otbr-agent وotbr-web، ويضبط حزمة الشبكات. تستغرق هذه العملية عادةً من 10 إلى 20 دقيقة على جهاز Raspberry Pi 4B.
ضبط إعدادات OTBR Agent
عدِّل ملف إعداد وكيل OTBR لتحديد مسار جهاز RCP ومعدّل نقل البيانات:
$ sudo nano /etc/default/otbr-agent
ابحث عن السطر OTBR_AGENT_OPTS وعدِّله للإشارة إلى RCP Application UART:
OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACM1?uart-baudrate=921600"
استبدِل eth0 بـ wlan0 إذا كان جهاز Raspberry Pi متصلاً عبر شبكة Wi-Fi.
OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyACM1?uart-baudrate=921600"
تعمل واجهة UART لتطبيق RCP في LP-EM-CC2745R10-Q1 بسرعة 921600 باود. تأكَّد من أنّ مسار الجهاز (/dev/ttyACM1 في هذا المثال) يتطابق مع Application UART في لوحة RCP.
أعِد تشغيل وكيل OTBR لتطبيق الإعدادات:
$ sudo systemctl restart otbr-agent $ sudo systemctl enable otbr-agent
تأكَّد من أنّ الوكيل يعمل:
$ sudo systemctl status otbr-agent
التفاعل مع عقدة RCP
تواصل مع عقدة RCP باستخدام الأداة ot-ctl:
$ sudo ot-ctl state disabled Done
يمكنك مراقبة سجلّ وكيل OTBR للاطّلاع على رسائل الاتصال والحالة:
$ sudo journalctl -u otbr-agent -f
يمكنك اختياريًا استخدام واجهة الويب الخاصة بأداة OTBR على http://، وهي توفّر عرضًا بيانيًا لشبكة Thread.
لإيقاف وكيل OTBR أو إعادة تشغيله، اتّبِع الخطوات التالية:
$ sudo systemctl stop otbr-agent $ sudo systemctl start otbr-agent
في هذه المرحلة، يجب أن يكون لديك ثلاث وحدات تحكّم نشطة:
- نافذة طرفية تسلسلية للوحة 2 (
ot-cli-ftd 1) على الكمبيوتر المضيف - نافذة طرفية تسلسلية للوحة 3 (
ot-cli-ftd 2) على الكمبيوتر المضيف - جلسة SSH أو جلسة طرفية على Raspberry Pi لـ
ot-ctl(OTBR/RCP)
أنت الآن جاهز لإنشاء شبكة Thread.
10. إنشاء شبكة Thread
إعداد RCP (OTBR)
أنشئ شبكة Thread جديدة من خلال غلاف ot-ctl على Raspberry Pi. أدخِل الأوامر التالية بالترتيب:
المؤشر | الأوامر | الوصف | الردّ المتوقّع | ||
1 |
| أنشئ إعدادات شبكة جديدة. | تم | ||
2 |
| إرسال مجموعة البيانات الجديدة إلى مجموعة البيانات التشغيلية النشطة | تم | ||
3 |
| فعِّل واجهة Thread. | تم | ||
4 |
| فعِّل عملية بروتوكول Thread وأرفِقها. | تم | ||
انتظِر لمدة 10 ثوانٍ إلى أن تظهر واجهة Thread. | |||||
5 |
| تحقَّق من حالة الجهاز. يجب أن تكون القيمة leader. الحالات الأخرى المحتملة: غير متصل بالإنترنت أو غير مفعّل أو منفصل أو جهاز فرعي أو جهاز توجيه أو جهاز رئيسي | leader | ||
6 |
| عرض إعدادات الشبكة ستختلف القيم التي تظهر لك. دوِّن القناة ومفتاح الشبكة واسم الشبكة ومعرّف PAN، إذ تحتاج إليها لربط أجهزة FTD بالشبكة. | Active Timestamp: 1 | ||
إضافة أجهزة FTD إلى شبكة Thread (الطريقة خارج النطاق)
باستخدام طريقة الإعداد خارج النطاق، يمكنك تقديم بيانات اعتماد الشبكة مباشرةً. في نافذة التسلسل الطرفي لكل لوحة FTD، أدخِل الأوامر التالية باستخدام مفتاح القناة والشبكة من ناتج مجموعة بيانات OTBR أعلاه:
المؤشر | الأوامر | الوصف | الردّ المتوقّع | ||
1 |
| اضبطوا القناة لتتطابق مع OTBR. استبدِل | تم | ||
2 |
| اضبط مفتاح الشبكة. استبدِلها بمفتاح شبكة OTBR. هذا المفتاح فقط مطلوب لإرفاق الملف. | تم | ||
3 |
| إرسال مجموعة البيانات الجديدة إلى مجموعة البيانات التشغيلية النشطة | تم | ||
4 |
| فعِّل واجهة Thread. | تم | ||
5 |
| فعِّل عملية بروتوكول Thread وأرفِقها. | تم | ||
انتظِر لمدة 20 ثانية بينما ينضم الجهاز إلى الشبكة ويضبط نفسه. | |||||
6 |
| تحقَّق من حالة الجهاز. | child | ||
بسبب طبيعة شبكات Thread التي يتم إعدادها ذاتيًا، ولأنّها أجهزة Thread كاملة، قد يصبح أحد جهازي FTD أو كلاهما موجّهَين في النهاية. يمكنك التحقّق من الدور الحالي في أي وقت باستخدام الأمر state.
التواصل بين أجهزة Thread
استخدِم الأمر ping للتأكّد من أنّ الأجهزة يمكنها التواصل. احصل على عناوين IPv6 لكل جهاز باستخدام ipaddr:
> ipaddr fd5c:c6b:3a17:40b9:0:ff:fe00:fc00 # Leader Anycast Locator (ALOC) fd5c:c6b:3a17:40b9:0:ff:fe00:1800 # Routing Locator (RLOC) fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03 # Mesh-Local EID (ML-EID) fe80:0:0:0:c449:ca4a:101f:5d16 # Link-Local Address (LLA) Done
من كلا جهازي FTD، أرسِل طلب اختبار الاتصال إلى جهاز OTBR باستخدام عنوان RLOC الخاص به:
> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800 Done > > 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms
تؤكّد الاستجابة الناجحة أنّ شبكة Thread تعمل وأنّ الأجهزة يمكنها التواصل. كرِّر العملية لإرسال إشارة إلى كل FTD من OTBR (sudo ot-ctl ping ).
11. تهانينا
لقد أنشأت شبكة Thread باستخدام لوحات TI CC2745R10-Q1.
أنت تعرف الآن:
- كيفية إعداد بيئة الإصدار ot-ti من Texas Instruments
- كيفية إنشاء وتثبيت ثنائيات OpenThread CLI على LP-EM-CC2745R10-Q1 LaunchPad
- كيفية إعداد Raspberry Pi كجهاز توجيه حدودي OpenThread (OTBR) باستخدام ot-br-posix
- كيفية إنشاء شبكة Thread على OTBR
- توفير الأجهزة على شبكة Thread خارج النطاق
- كيفية التحقّق من اتصال Thread بين العُقد باستخدام الأمر ping
محتوى إضافي للقراءة
يمكنك الاطّلاع على openthread.io وGitHub للحصول على مجموعة متنوعة من مراجع OpenThread، بما في ذلك:
- المنصات المتوافقة: يمكنك الاطّلاع على جميع المنصات المتوافقة مع OpenThread
- إنشاء OpenThread: مزيد من التفاصيل حول إنشاء OpenThread وإعداده
- مقدمة عن Thread: تتناول جميع مفاهيم Thread الواردة في هذا الدرس التطبيقي
- مستودع TI ot-ti: تنفيذ TI لبروتوكول OpenThread على أجهزة SimpleLink، مع تعليمات الإنشاء وملاحظات الإصدار
- صفحة المنتج CC2745R10-Q1: ورقة بيانات الجهاز، والتصاميم المرجعية، والمستندات الأخرى
- LP-EM-CC2745R10-Q1 LaunchPad: دليل المستخدم وملفات الأجهزة للوحة التقييم
- مرجع واجهة سطر الأوامر OpenThread: نظرة عامة على واجهة سطر الأوامر OpenThread واستخدامها
- أوامر واجهة سطر الأوامر في OpenThread: مرجع كامل لجميع أوامر واجهة سطر الأوامر في OpenThread
- TI E2E Community — Thread & Zigbee: منتدى الدعم الفني لمنتجات الاتصال اللاسلكي من Texas Instruments