این راهنما ساخت و پیکربندی اولیه OpenThread Border Router (OTBR) را پوشش می دهد. پس از اتمام این روش ، شما یک OTBR خواهید داشت که به عنوان یک دستگاه کامل نخ (FTD) در طراحی RCP عمل می کند.
پیکربندی سیستم عامل
پیکربندی یک پلت فرم سخت افزار های پشتیبانی شده:
ساخت و فلش RCP
OTBR با طراحی RCP اجرا می شود. یک پلت فرم پشتیبانی شده OpenThread برای استفاده به عنوان RCP انتخاب کرده و دستورالعمل های مربوط به ساختمان و چشمک زن را برای آن سیستم عامل دنبال کنید.
برای مروری بر ساختمان OpenThread ، به راهنمای ساختمان مراجعه کنید.
دستورالعمل های خاص در مورد ساخت سیستم عامل های پشتیبانی شده با ابزار خودکار GNU را می توان در پوشه پلت فرم هر مثال یافت.
مسیریاب را تنظیم کنید
OTBR از طریق spinel با RCP ارتباط برقرار می کند. در سیستم عامل پیکربندی شده سخت افزار :
- مخزن OTBR را شبیه سازی کنید:
git clone https://github.com/openthread/ot-br-posix
- نصب وابستگی ها:
cd ot-br-posix
./script/bootstrap
- OTBR را کامپایل و نصب کنید. توجه داشته باشید که این اسکریپت راه اندازی از Network Manager برای تنظیم خودکار نقطه دسترسی Wi-Fi (AP) استفاده می کند.
- برای راه اندازی خودکار Wi-Fi AP با استفاده از مدیر شبکه:
./script/setup
- برای رد کردن تنظیمات خودکار Wi-Fi AP و انجام دستی آن بعداً بدون استفاده از مدیر شبکه:
NETWORK_MANAGER=0 ./script/setup
- برای راه اندازی خودکار Wi-Fi AP با استفاده از مدیر شبکه:
- دستگاه RCP فلش شده را از طریق USB به پلت فرم Border Router وصل کنید.
- پورت سریال دستگاه RCP را در
otbr-agent
پیکربندی کنید:- نام پورت سریال دستگاه RCP را با بررسی
/dev
:
تعیین کنیدls /dev/tty*
- این را به
/etc/default/otbr-agent
. به عنوان مثال ، برای نام درگاه سریالttyUSB0
:OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
- نام پورت سریال دستگاه RCP را با بررسی
- روتر Border را با چرخه برق بچرخانید. اگر از سیستم عامل BeagleBone Black استفاده می کنید ، به یاد داشته باشید که هنگام انجام این کار دکمه BOOT را پایین نگه دارید .
- سرویس 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
اگر از راه اندازی خودکار Wi-Fi AP رد شد و سرویس ناموفق tayga
یا dnsmasq
، این طبیعی است. در صورت انجام تنظیم دستی Wi-Fi AP ، این سرویس ها به طور کامل به عنوان بخشی از Wi-Fi Access Point Setup تنظیم شده در بخش بعدی پیکربندی می شوند.
RCP را تأیید کنید
تأیید کنید که RCP در وضعیت صحیحی قرار دارد:
sudo ot-ctl state
ot-ctl
یک ابزار خط فرمان است که با OTBR ارائه می شود. برای برقراری ارتباط با رابط Thread PAN (پیش فرض wpan0
) استفاده می شود که otbr-agent
در طراحی RCP به آن ملزم است.
اگر RCP با موفقیت در حال اجرا است و گره عضوی از یک شبکه Thread نیست ، خروجی باید مانند زیر باشد:
disabled
اگر خروجی OpenThread daemon is not running
، با موارد زیر عیب یابی کنید:
- تأیید کنید که روتر Border از قدرت کافی برخوردار است (از آداپتور AC مناسب خارجی استفاده کنید).
- برد RCP را به سیستم عامل Border Router قطع و دوباره وصل کنید.
- تأیید کنید که دستگاه سریال RCP وجود دارد. به عنوان مثال ، اگر دستگاه باید به
/dev/ttyUSB0
متصل شود:ls /dev/ttyUSB*
/dev/ttyUSB0
- RCP را با تنظیم مجدد
sudo ot-ctl reset
.
دوباره وضعیت RCP را با حالت sudo ot-ctl state
.