Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Konfigurasi dan Build OpenThread Border Router

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Lihat sumber di GitHub

Panduan ini membahas build dasar dan konfigurasi OpenThread Border Router (OTBR). Setelah menyelesaikan prosedur ini, Anda akan memiliki OTBR yang berfungsi sebagai Perangkat Thread Penuh (FTD) dalam desain RCP.

Konfigurasikan Platform

Konfigurasikan platform hardware yang didukung:

Mem-build dan mem-flash RCP

OTBR berjalan pada desain RCP. Pilih platform OpenThread yang didukung untuk digunakan sebagai RCP, lalu ikuti petunjuk pembuatan dan flash untuk platform tersebut.

Untuk ringkasan mem-build OpenThread, lihat Panduan Membuat.

Petunjuk khusus tentang cara membuat platform yang didukung dengan GNU Autotools dapat ditemukan di setiap folder platform contoh.

Instal OTBR

OTBR berkomunikasi dengan RCP via spinel. Untuk menginstal OTBR di platform hardware yang dikonfigurasi, selesaikan langkah-langkah berikut.

Clone repositori OTBR:

git clone https://github.com/openthread/ot-br-posix

Menginstal dependensi

Konfigurasi default mengaktifkan BORDER_ROUTING untuk sebagian besar platform. Untuk daftar lengkap flag default OTBR, lihat contoh platform di GitHub. Pilih platform Anda, lalu klik default jika tersedia.

  • Penggunaan default:

    cd ot-br-posix
    ./script/bootstrap
    
  • BeagleBone Black dengan Pengelola Jaringan (opsional):

    cd ot-br-posix
    NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/bootstrap
    

Kompilasi dan instal OTBR

  • Penggunaan default. Skrip penyiapan memungkinkan Pemilihan Rute Batas secara default. Untuk mengaktifkan Border Routing, tentukan antarmuka Ethernet atau Wi-Fi platform Anda:

    Gunakan Ethernet:

    INFRA_IF_NAME=eth0 ./script/setup
    

    Gunakan Wi-Fi:

    INFRA_IF_NAME=wlan0 ./script/setup
    
  • BeagleBone Black. Gunakan Pengelola Jaringan (opsional):

    NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/setup
    

Memasang dan mengonfigurasi perangkat RCP

Pasang perangkat RCP yang di-flash ke platform Border Router melalui USB.

Untuk mengonfigurasi port serial perangkat RCP di otbr-agent, pertama-tama, tentukan nama port serial untuk perangkat RCP dengan memeriksa /dev:

ls /dev/tty*

Selanjutnya, periksa setelan otbr-agent Anda.

cd /etc/default
cat otbr-agent

File konfigurasi otbr-agent berisi nama antarmuka Thread, nama antarmuka Ethernet atau Wi-Fi, dan nama port serial RCP.

OTBR_AGENT_OPTS="-I wpan0 -B OTBR_INFRA_IF_NAME spinel+hdlc+uart:///dev/ttyACM0 trel://OTBR_INFRA_IF_NAME"

Tidak semua perangkat terhubung dengan nama port serial yang sama. Nama port yang paling umum adalah ttyACM* dan ttyUSB*. Lihat dokumentasi untuk perangkat Anda guna menentukan nama port serial yang diharapkan.

Jika perlu, perbarui file konfigurasi otbr-agent. Misalnya, untuk antarmuka Wi-Fi dan nama port serial ttyUSB0:

OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0"

Untuk memperbarui antarmuka Ethernet:

OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyUSB0 trel://eth0"

Nyalakan ulang Router Border. Jika menggunakan platform BeagleBone Black, jangan lupa untuk menahan tombol BOOT saat melakukannya.

Layanan OTBR akan dimulai saat booting.

Verifikasi layanan

Pastikan bahwa semua layanan yang diperlukan telah diaktifkan:

sudo systemctl status

Jika skrip setup berhasil, layanan berikut akan muncul dalam output:

  • mdns.service
  • otbr-agent.service
  • otbr-web.service

Misalnya:

● 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

Jika layanan tersebut berjalan, tetapi RPi dalam status terdegradasi, beberapa layanan lainnya gagal dimulai. Periksa untuk melihat mana:

sudo systemctl --failed

Anda juga dapat memeriksa setiap layanan satu per satu:

sudo service mdns status
sudo service otbr-agent status
sudo service otbr-web status

otbr-web diaktifkan secara default untuk sebagian besar platform. Jika otbr-web tidak terinstal, coba teruskan tanda WEB_GUI:

WEB_GUI=1 ./script/bootstrap
INFRA_IF_NAME=wlan0 WEB_GUI=1 ./script/setup

Verifikasi RCP

Verifikasi bahwa RCP dalam status yang benar:

sudo ot-ctl state

ot-ctl adalah utilitas command line yang disediakan dengan OTBR. Ini digunakan untuk berkomunikasi dengan antarmuka Thread PAN (default-nya adalah wpan0) yang terikat otbr-agent dalam desain RCP.

Jika RCP berhasil dijalankan dan node bukan anggota jaringan Thread, output-nya akan mirip dengan berikut ini:

disabled

Jika output-nya adalah OpenThread daemon is not running, pecahkan masalah berikut:

  1. Pastikan Border Router memiliki daya yang memadai (gunakan adaptor AC eksternal yang sesuai).
  2. Putuskan dan sambungkan kembali papan RCP ke platform Border Router.
  3. Pastikan bahwa perangkat serial RCP ada. Misalnya, jika perangkat harus dipasang ke /dev/ttyUSB0:

    ls /dev/ttyUSB*
    /dev/ttyUSB0
    
  4. Reset RCP dengan sudo ot-ctl reset.

Periksa status RCP lagi dengan sudo ot-ctl state.