이 가이드는 OTBR (OpenThread Border Router)의 기본 빌드 및 구성을 다룹니다. 이 절차를 완료하면 RCP 설계에서 FTD (Full Thread Device)로 작동하는 OTBR을 갖게됩니다.
플랫폼 구성
지원되는 하드웨어 플랫폼 구성 :
RCP 빌드 및 플래시
OTBR은 RCP 설계에서 실행됩니다. RCP로 사용할 지원되는 OpenThread 플랫폼 을 선택하고 해당 플랫폼에 대한 빌드 및 플래싱 지침을 따르십시오.
OpenThread 빌드에 대한 개요는 빌드 가이드를 참조하십시오.
GNU Autotools로 지원되는 플랫폼을 빌드하는 방법에 대한 구체적인 지침은 각 예제의 플랫폼 폴더 에서 찾을 수 있습니다.
경계 라우터 설정
OTBR은 스피넬을 통해 RCP와 통신합니다. 구성된 하드웨어 플랫폼에서 :
- OTBR 저장소 복제 :
git clone https://github.com/openthread/ot-br-posix
- 설치 종속성 :
cd ot-br-posix
./script/bootstrap
- OTBR을 컴파일하고 설치합니다. 이 설정 스크립트는 Network Manager를 사용하여 Wi-Fi 액세스 포인트 (AP)를 자동으로 설정합니다.
- Network Manager를 사용하여 Wi-Fi AP를 자동으로 설정하려면 :
./script/setup
- 자동 Wi-Fi AP 설정을 건너 뛰고 나중에 Network Manager를 사용하지 않고 수동으로 설정하려면 :
NETWORK_MANAGER=0 ./script/setup
- Network Manager를 사용하여 Wi-Fi AP를 자동으로 설정하려면 :
- 플래시 된 RCP 장치 를 USB를 통해 Border Router 플랫폼에 연결합니다.
-
otbr-agent
에서 RCP 장치의 직렬 포트를 구성합니다.-
/dev
:
을 확인하여 RCP 장치의 직렬 포트 이름을 확인합니다.ls /dev/tty*
- 이것을
/etc/default/otbr-agent
. 예를 들어 직렬 포트 이름이ttyUSB0
:OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
-
- Border Router의 전원을 껐다 켜십시오. 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 액세스 포인트 설정의 일부로 완전히 구성됩니다.
RCP 확인
RCP가 올바른 상태인지 확인하십시오.
sudo ot-ctl state
ot-ctl
은 OTBR과 함께 제공되는 명령 줄 유틸리티입니다. RCP 디자인에서 otbr-agent
가 바인딩 된 스레드 PAN 인터페이스 (기본값은 wpan0
)와 통신하는 데 사용됩니다.
RCP가 성공적으로 실행 중이고 노드가 스레드 네트워크의 구성원이 아닌 경우 출력은 다음과 유사해야합니다.
disabled
출력이 OpenThread daemon is not running
이면 다음 문제를 해결하십시오.
- Border Router에 충분한 전력이 있는지 확인합니다 (적절한 외부 AC 어댑터 사용).
- RCP 보드를 분리하고 Border Router 플랫폼에 다시 연결합니다.
- RCP 직렬 장치가 있는지 확인합니다. 예를 들어 장치를
/dev/ttyUSB0
연결/dev/ttyUSB0
:ls /dev/ttyUSB*
/dev/ttyUSB0
-
sudo ot-ctl reset
사용하여 RCP를sudo ot-ctl reset
.
sudo ot-ctl state
RCP 상태를 다시 확인하십시오.