平台

Google 發布的 OpenThread 已移植至多種裝置和平台,由 OpenThread 團隊、晶片供應商和社群進行遷移。OpenThread 存放區內含所有移植平台的範例。

如需所有廠商支援的平台和社群通訊埠的可搜尋清單,請參閱「搜尋引擎」。

支援

每種平台的支援情況會隨著時間變動。有些平台會標記 OpenThread 團隊所識別目前的支援等級。未標記的平台最近尚未經過測試,且可能會視為具有「有限支援」。

支援等級說明
有權限 完整和基本支援,以及所有使用 OpenThread 的 Thread 認證元件。這些平台中,有許多已通過 OpenThread 團隊測試與採用,建議用於我們的示範和程式碼研究室。
有限支援 這些平台尚未經過全面測試,可能缺少部分重要功能。
不支援 目前不支援,而且在執行 OpenThread 時可能會發生問題。使用時需自行承擔風險。

系統架構

OT 系統架構

OpenThread 具備可攜性和彈性,這個程式碼是不受系統架構影響的可攜式 C/C++ (C99 和 C++11),因為狹窄的抽象層不受系統架構影響。這個抽象層代表 OpenThread 可在裸機或 OS 上執行。截至目前為止,OpenThread 已證實可在 FreeRTOS、RIOT-OS、Zephyr OS、Linux 和 macOS 上執行。

OpenThread 具有可攜性,不會對平台功能做出假設。OpenThread 提供掛鉤,可運用進階無線電和加密編譯功能,減少記憶體、程式碼和運算週期等系統需求。各平台可完成這項操作,同時仍能保留預設為標準設定的功能。

OpenThread 提供可設定的建構系統,開發人員可以視需要啟用或停用功能。除了預設的 GNU 工具鍊之外,這個原始碼也經過設計,可與 IAR 和 Visual Studio 等其他熱門工具鍊搭配使用。

平台設計

OpenThread 支援晶片系統 (SoC) 和網路輔助處理器 (NCP) 設計。

SoC 是單一晶片解決方案,具備合併 RFIC (在 Thread 的情況下為 802.15.4) 和處理器,OpenThread 和應用程式層會在本機處理器上執行。

NCP 設計是指應用程式層在主機處理器上執行,並使用標準化主機控制器通訊協定 (稱為 Spinel) 透過序列連線與 OpenThread 通訊。在此設計中,OpenThread 可以在無線電或主機處理器上執行。

單晶片、僅執行緒 (SoC)

OT SoC 架構

在此設計中,應用程式層和 OpenThread 會在相同的處理器上執行。應用程式會直接使用 OpenThread API 和 IPv6 堆疊。

這是最常見的裝置使用的 SoC 設計。由於這種晶片高度整合於單一晶片中,因此成本最低且耗電量最低。

單晶片、多介面 (SoC)

OT 多重 SoC 架構

如果 SoC 有多個無線電 (例如 802.15.4、Wi-Fi 或 802.15.4 和藍牙低功耗 (BLE)),應用程式層和 OpenThread 仍會在同一個處理器上執行。在多介面設計中,OpenThread 會透過原始 IPv6 Datagram 介面,運用共用的第三方 IPv6 堆疊。

共同處理器設計

OpenThread 支援無線電 Co-Processor (RCP) 和網路共同處理器 (NCP) 設計。詳情請參閱共同處理者設計

開放式平台問題

OpenThread 平台目前有下列問題: