平台

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

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

支持

不同平台获得的支持会随时间而变化。某些平台会标记 OpenThread 团队确定的当前支持级别。未添加标记的平台最近未经过测试,可能会被视为仅获得了“有限支持”。

支持级别说明
支持 全面和基本支持,以及任何使用 OpenThread 的 Thread 认证组件。其中许多平台都已经过 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)和处理器,其中 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 平台目前待解决的问题: