OpenThread 邊界路由器設定

在 GitHub 上查看來源

OpenThread 邊界路由器 (OTBR) 目前支援無線電共同處理器 (RCP)網路共同處理器 (NCP) 設計。你可以為 OTBR 選擇任一設計。

完成這項程序後,您將擁有 OTBR,可在所選設計中做為完整 Thread 裝置 (FTD) 運作。

軟硬體需求

  • Raspberry Pi,做為 Thread 邊界路由器。
  • 2 個 Nordic Semiconductor nRF52840 USB 轉接器 (一個用於協同處理器,一個用於 Thread 終端裝置)。

為 nRF52840 USB Dongle 建構韌體時,必須使用 -DOT_BOOTLOADER=USB 標記。無論是 RCP 或 NCP 設計,都需要這個標記來為預先安裝的開機載入程式設定正確的記憶體對應,並啟用 USB DFU 觸發程序。如果沒有這個標記,編譯的韌體就無法載入至 Dongle。

建構及刷寫協同處理器韌體

按照所選設計的指示操作。

RCP 設計

在 RCP 設計中,OTBR 依賴 IEEE 802.15.4 無線電傳送/接收 Thread 訊息。

請按照「使用 nRF52840 開發板和 OpenThread 建構 Thread 網路」程式碼研究室的步驟 4,建構並刷寫 nRF52840 RCP 裝置。

NCP 設計

在 NCP 設計中,完整的 Thread 堆疊會在 802.15.4 無線電晶片上執行。

按照下列操作說明,從上一個步驟中複製的 ot-nrf528xx 存放區建構 NCP 韌體:

script/build nrf52840 USB_trans \
    -DOT_THREAD_VERSION=1.3 \
    -DOT_APP_CLI=OFF \
    -DOT_APP_RCP=OFF \
    -DOT_RCP=OFF \
    -DOT_MTD=OFF \
    -DOT_BORDER_ROUTER=ON \
    -DOT_BORDER_ROUTING=ON \
    -DOT_NCP_INFRA_IF=ON \
    -DOT_SRP_SERVER=ON \
    -DOT_SRP_ADV_PROXY=ON \
    -DOT_PLATFORM_DNSSD=ON \
    -DOT_NCP_DNSSD=ON \
    -DOT_ECDSA=ON \
    -DOT_SERVICE=ON \
    -DOT_BACKBONE_ROUTER=ON \
    -DOT_BACKBONE_ROUTER_MULTICAST_ROUTING=ON \
    -DOT_NCP_CLI_STREAM=ON

然後按照 RCP 設計的相同步驟,將韌體轉換為十六進位格式並刷寫。

準備 Raspberry Pi

  1. 在 RPi 上安裝 Raspberry Pi OS。電腦版和 Lite 版都適用。

  2. 安裝完成後,啟動 RPi 並開啟終端機視窗,然後更新系統:

    sudo apt-get update
    sudo apt-get upgrade
    

裝上協同處理器

  1. 將協同處理器裝置連接至 Raspberry Pi。

  2. 檢查 /dev,判斷協同處理器裝置的序列埠名稱:

    ls /dev/tty*
    /dev/ttyACMO
    

在 Raspberry Pi 上安裝 OTBR

如要使用 Docker 安裝 OTBR,請按照 OTBR Docker 安裝指南操作。

如要在 Linux 主機上以原生方式安裝 OTBR,請按照 OTBR 原生安裝指南操作。