Google is committed to advancing racial equity for Black communities. See how.

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

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

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

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

بناء وفلاش RCP

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

لمحة عامة عن بناء 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. لاحظ أن البرنامج النصي للإعداد يمكّن توجيه الحدود افتراضيًا. لتمكين توجيه الحدود ، حدد واجهة Ethernet أو Wi-Fi لمنصتك:

    إيثرنت

    INFRA_IF_NAME=eth0 ./script/setup

    واي فاي

    INFRA_IF_NAME=wlan0 ./script/setup
  4. نعلق جهاز RCP تومض إلى منصة راوتر الحدود عن طريق USB.
  5. تكوين المنفذ التسلسلي للجهاز الحزب الشيوعي الثوري في otbr-agent :
    1. تحديد اسم المنفذ التسلسلي للجهاز الحزب الشيوعي الثوري عن طريق التحقق /dev :
      ls /dev/tty*
    2. إلحاق هذا إلى /etc/default/otbr-agent . على سبيل المثال، عن اسم المنفذ التسلسلي لل ttyUSB0 :
      OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
  6. دورة الطاقة في جهاز التوجيه الحدودي. إذا كنت تستخدم منصة BeagleBone الأسود، تذكر أن الضغط على زر 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

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

sudo systemctl --failed

تحقق من RCP

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

sudo ot-ctl state

ot-ctl هو أداة سطر الأوامر المتوفرة مع OTBR. يتم استخدامه للتواصل مع واجهة PAN الموضوع (الافتراضي هو wpan0 ) أن otbr-agent لا بد أن في تصميم الحزب الشيوعي الثوري.

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

disabled

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

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

التحقق من حالة الحزب الشيوعي الثوري مرة أخرى مع sudo ot-ctl state .