Bu kılavuz, OpenThread Sınır Yönlendirici'nin temel derleme ve yapılandırmasını ele alır (OTBR). Bu prosedürü tamamladıktan sonra, çalışan bir OTBR'niz olur ve tam Thread cihazı (FTD) olarak gösterir.
Platformu Yapılandırma
Desteklenen bir donanım platformu yapılandırın:
RCP oluşturma ve güncelleme
OTBR, RCP tasarımı üzerinde çalışır. Desteklenen bir OpenThread seçin amacıyla kullanılan bir üçüncü taraf platformu .
OpenThread oluşturmaya genel bir bakış için bkz. Oluşturma Kılavuzu.
GNU Autotools ile desteklenen platformlar oluşturmaya yönelik özel talimatlar bulunan her bir platform klasörü olarak değiştirin.
OTBR'yi yükle
OTBR, Spinel aracılığıyla RCP ile iletişim kurar. OTBR'yi yapılandırılan sunucuya yüklemek için aşağıdaki adımları tamamlayın.
OTBR deposunu klonlayın:
git clone https://github.com/openthread/ot-br-posix
Bağımlıları yükleme
Varsayılan yapılandırma, BORDER_ROUTING
platformunu çoğu platformda etkinleştirir. Örneğin,
OTBR varsayılan işaretlerinin tam listesini görmek için
GitHub'daki platform örnekleri hakkında daha fazla bilgi edinin.
Platformunuzu seçin, ardından varsa default
simgesini tıklayın.
Varsayılan kullanım:
cd ot-br-posix
./script/bootstrap
Ağ Yöneticisi ile BeagleBone Black (isteğe bağlı):
cd ot-br-posix
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/bootstrap
OTBR'yi derleyin ve yükleyin
Varsayılan kullanım. Kurulum komut dosyası varsayılan olarak Sınır Yönlendirme'yi etkinleştirir. Etkinleştirmek için Sınır Yönlendirme, platformunuzun Ethernet veya kablosuz arayüzünü belirtin:
Ethernet kullan:
INFRA_IF_NAME=eth0 ./script/setup
Kablosuz ağı kullan:
INFRA_IF_NAME=wlan0 ./script/setup
BeagleBone Siyahı. Ağ Yöneticisi'ni kullanın (isteğe bağlı):
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/setup
RCP cihazı ekleyin ve yapılandırın
Yanıp sönen RCP cihazını USB aracılığıyla Sınır Yönlendirici platformuna takın.
otbr-agent
ürününde RCP cihazının seri bağlantı noktasını yapılandırmak için öncelikle
/dev
kontrol edilerek RCP cihazının seri bağlantı noktası adı:
ls /dev/tty*
Sonra, otbr-agent
ayarlarınızı kontrol edin.
cd /etc/default
cat otbr-agent
otbr-agent
yapılandırma dosyası, Thread arayüz adınızı (Ethernet) içerir
veya kablosuz arayüz adı ve RCP seri bağlantı noktası adı.
OTBR_AGENT_OPTS="-I wpan0 -B OTBR_INFRA_IF_NAME spinel+hdlc+uart:///dev/ttyACM0 trel://OTBR_INFRA_IF_NAME"
Tüm cihazlar aynı seri bağlantı noktası adına sahip değildir. En
ortak bağlantı noktası adları ttyACM*
ve ttyUSB*
şeklindedir. Daha fazla bilgi için
seri bağlantı noktası adını belirlemek için cihazınıza kaydedin.
Gerekirse otbr-agent
yapılandırma dosyasını güncelleyin. Örneğin, bir
arayüz ve ttyUSB0
seri bağlantı noktası adı:
OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0"
Bir Ethernet arayüzünü güncellemek için:
OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyUSB0 trel://eth0"
Sınır Yönlendirici'yi kapatıp açın. BeagleBone Black platformunu kullanıyorsanız çalışırken BOOT düğmesini basılı tutmayı önemlidir.
OTBR hizmeti başlatma sırasında başlamalıdır.
Hizmetleri doğrulama
Gerekli tüm hizmetlerin etkinleştirildiğini doğrulayın:
sudo systemctl status
setup
komut dosyası başarılı olursa aşağıdaki hizmetler
çıkış:
mdns.service
otbr-agent.service
otbr-web.service
Örneğin:
● 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 # enabled ├─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 # enabled ├─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 # enabled ├─mdns.service │ └─725 /usr/sbin/mdnsd ├─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
Bu hizmetler çalışıyorsa ancak Kısıtlanmış Taraf Bozuk bir durumdaysa, diğer hizmet başlatılamadı. Aşağıdakileri kontrol edin:
sudo systemctl --failed
Her bir hizmeti tek tek de kontrol edebilirsiniz:
sudo service mdns status
sudo service otbr-agent status
sudo service otbr-web status
otbr-web
çoğu platform için varsayılan olarak etkindir.
otbr-web
yüklü değilse WEB_GUI
işaretini iletmeyi deneyin:
WEB_GUI=1 ./script/bootstrap
INFRA_IF_NAME=wlan0 WEB_GUI=1 ./script/setup
RCP'yi doğrula
RCP'nin doğru durumda olduğunu doğrulayın:
sudo ot-ctl state
ot-ctl
, OTBR ile sağlanan bir komut satırı yardımcı programıdır. Bu özellik
otbr-agent
olan İş Parçacığı PAN arayüzüyle (varsayılan değer: wpan0
) iletişim kurar.
bağlı olduğunu düşünebiliriz.
RCP başarıyla çalışıyorsa ve düğüm bir iş parçacığının üyesi değilse aşağıdakine benzer bir çıkış alırsınız:
disabled
Çıkış OpenThread daemon is not running
ise aşağıdaki adımları uygulayarak sorunu giderin:
- Sınır Yönlendiricinin yeterli güce sahip olduğunu doğrulayın (Uygun harici AC kullanın bağdaştırıcısı).
- RCP kartını Sınır Yönlendirici platformuna çıkarıp yeniden bağlayın.
RCP seri cihazının olduğunu doğrulayın. Örneğin, cihaz
/dev/ttyUSB0
öğesine eklenmelidir:ls /dev/ttyUSB*
/dev/ttyUSB0sudo ot-ctl reset
ile RCP'yi sıfırlayın.
sudo ot-ctl state
ile RCP durumunu tekrar kontrol edin.