Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

OpenThread Border Router بناء وتكوين

يغطي هذا الدليل البنية الأساسية والتكوين لـ OpenThread Border Router (OTBR). عند الانتهاء من هذا الإجراء ، سيكون لديك OTBR يعمل كجهاز خيط كامل (FTD) في تصميم RCP.

تكوين النظام الأساسي

قم بتكوين منصة أجهزة مدعومة:

بناء وفلاش RCP

يعمل OTBR على تصميم RCP. حدد منصة OpenThread مدعومة لاستخدامها كبرنامج RCP واتبع تعليمات البناء والوميض لهذا النظام الأساسي.

للحصول على نظرة عامة حول بناء OpenThread ، راجع دليل البناء .

يمكن العثور على إرشادات محددة حول إنشاء منصات مدعومة باستخدام GNU Autotools في مجلد النظام الأساسي لكل مثال.

قم بإعداد موجه الحدود

يتواصل OTBR مع RCP عبر الإسبينيل. على منصة الأجهزة المكونة :

  1. استنساخ مستودع OTBR:
    git clone https://github.com/openthread/ot-br-posix
  2. تثبيت التبعيات:
    cd ot-br-posix
    ./script/bootstrap
  3. تجميع وتثبيت OTBR. لاحظ أن برنامج الإعداد هذا يستخدم Network Manager لإعداد نقطة وصول Wi-Fi (AP) تلقائيًا.
    1. لإعداد Wi-Fi AP تلقائيًا باستخدام Network Manager:
      ./script/setup
    2. لتخطي إعداد Wi-Fi AP التلقائي والقيام بذلك يدويًا لاحقًا دون استخدام Network Manager:
      NETWORK_MANAGER=0 ./script/setup
  4. قم بتوصيل جهاز RCP الوامض بمنصة Border Router عبر USB.
  5. تكوين المنفذ التسلسلي لجهاز RCP في otbr-agent :
    1. حدد اسم المنفذ التسلسلي لجهاز RCP بتحديد /dev :
      ls /dev/tty*
    2. إلحاق هذا بـ /etc/default/otbr-agent . على سبيل المثال، عن اسم المنفذ التسلسلي لل ttyUSB0 :
      OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
  6. دورة الطاقة في جهاز التوجيه الحدودي. إذا كنت تستخدم منصة BeagleBone Black ، تذكر أن تضغط باستمرار على زر BOOT أثناء القيام بذلك.
  7. يجب أن تبدأ خدمة OTBR عند الإقلاع.

تحقق من الخدمات

تحقق من تمكين جميع الخدمات المطلوبة:

sudo systemctl status

إذا نجح البرنامج النصي setup ، فستظهر الخدمات التالية في الإخراج:

  • avahi-daemon.service
  • otbr-agent.service
  • otbr-web.service

فمثلا:

● raspberrypi
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Thu 1970-01-01 00:00:01 UTC; 47 years 7 months ago
   CGroup: /
           ├─user.slice
           │ └─user-1000.slice
           │   ├─user@1000.service
           │   │ └─init.scope
           │   │   ├─576 /lib/systemd/systemd --user
           │   │   └─580 (sd-pam)
           │   └─session-c1.scope
           │     ├─480 /bin/login --
           │     └─585 -bash
           ├─init.scope
           │ └─1 /sbin/init
           └─system.slice
             ├─systemd-timesyncd.service
             │ └─334 /lib/systemd/systemd-timesyncd
             ├─dbus.service
             │ └─339 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
             ├─hciuart.service
             │ └─442 /usr/bin/hciattach /dev/serial1 bcm43xx 921600 noflow -
             ├─ssh.service
             │ └─621 /usr/sbin/sshd -D
             ├─avahi-daemon.service
             │ ├─341 avahi-daemon: running [raspberrypi.local]
             │ └─361 avahi-daemon: chroot helper
             ├─otbr-web.service
             │ └─472 /usr/sbin/otbr-web
             ├─triggerhappy.service
             │ └─354 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
             ├─systemd-logind.service
             │ └─353 /lib/systemd/systemd-logind
             ├─otbr-agent.service
             │ └─501 /usr/sbin/otbr-agent -I wpan0
             ├─cron.service
             │ └─350 /usr/sbin/cron -f
             ├─systemd-udevd.service
             │ └─154 /lib/systemd/systemd-udevd
             ├─rsyslog.service
             │ └─345 /usr/sbin/rsyslogd -n
             ├─bluetooth.service
             │ └─445 /usr/lib/bluetooth/bluetoothd
             ├─systemd-journald.service
             │ └─136 /lib/systemd/systemd-journald
             └─dhcpcd.service
               ├─409 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
               └─466 /sbin/dhcpcd -q -w

إذا كانت هذه الخدمات قيد التشغيل ، ولكن RPi3B في حالة تدهور ، فإن بعض الخدمات الأخرى قد فشلت في البدء. تحقق لمعرفة ما يلي:

sudo systemctl --failed

إذا تم تخطي الإعداد tayga Wi-Fi AP وكانت الخدمة الفاشلة هي tayga أو dnsmasq ، فهذا أمر طبيعي. في حالة إجراء إعداد يدوي لـ Wi-Fi AP ، يتم تكوين هذه الخدمات بالكامل كجزء من إعداد نقطة وصول Wi-Fi المغطى في القسم التالي.

تحقق من RCP

تحقق من أن RCP في الحالة الصحيحة:

sudo ot-ctl state

ot-ctl هي أداة مساعدة لسطر الأوامر مقدمة مع OTBR. يتم استخدامه للتواصل مع واجهة Thread PAN (الافتراضي هو wpan0 ) التي otbr-agent في تصميم RCP.

إذا تم تشغيل RCP بنجاح ولم تكن العقدة عضوًا في شبكة مؤشر الترابط ، فيجب أن يكون الإخراج مشابهًا لما يلي:

disabled

إذا كان الإخراج OpenThread daemon is not running ، OpenThread daemon is not running باستكشاف الأخطاء وإصلاحها بما يلي:

  1. تحقق من أن جهاز توجيه الحدود لديه طاقة كافية (استخدم محول التيار المتردد الخارجي المناسب).
  2. افصل لوحة RCP وأعد توصيلها بمنصة Border Router.
  3. تحقق من وجود الجهاز التسلسلي RCP. على سبيل المثال ، إذا كان يجب توصيل الجهاز بـ /dev/ttyUSB0 ttyUSB0:
    ls /dev/ttyUSB*
    /dev/ttyUSB0
  4. إعادة تعيين RCP مع sudo ot-ctl reset .

تحقق من حالة RCP مرة أخرى باستخدام حالة sudo ot-ctl state .