平台

Google 发布的 OpenThread 已被 OpenThread 团队、芯片供应商和社区移植到多种设备和平台。OpenThread 代码库中包含所有已移植平台的构建示例。

如需查看所有供应商支持的平台和社区端口的可搜索列表,请参阅搜索供应商

支持

对各个平台的支持会不时变化。某些平台会标记当前由 OpenThread 团队确定的支持级别。未标记的平台最近未经过测试,可能会被视为“受限支持”。

支持级别说明
支持 提供全面和基本的支持,以及任何使用 OpenThread 的 Thread Certified Component。其中许多平台已经过 OpenThread 团队的测试和使用,建议用于我们的演示和 Codelab。
支持受限 这些平台未经过全面测试,可能缺少一些关键功能。
不支持 目前不支持,在运行 OpenThread 时可能会遇到问题。使用时需自行承担风险。

系统架构

OT 系统架构

OpenThread 在设计上充分考虑了可移植性和灵活性。该代码是可移植的 C/C++(C99 和 C++11),因为它与窄的抽象层无关。此抽象层意味着 OpenThread 可以在裸金属或操作系统上运行。到目前为止,已经证实 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 数据报接口利用共享的第三方 IPv6 堆栈。

共同处理器设计

OpenThread 支持无线协处理器 (RCP) 和网络共同处理器 (NCP) 设计。如需了解详情,请参阅处理器设计

开放平台问题

以下问题目前面向 OpenThread 平台开放: