OpenThread 支持协处理器设计。构建 OpenThread 示例时,系统会自动为每个协处理器设计创建固件映像。如需了解详情,请参阅二进制文件。
无线电协处理器 (RCP)

在 RCP 设计中,OpenThread 的核心位于主机处理器上,而具有 Thread 无线的设备上只有最小的 MAC 层“控制器”。在此设计中,主机处理器通常不会休眠,部分原因是为了确保 Thread 网络的可靠性。
RCP 与主机处理器之间的通信由 OpenThread Daemon 通过 Spinel 协议上的 SPI 接口进行管理。
这样做的好处是,OpenThread 可以利用功能更强大的处理器上的资源。
此设计适用于对电源限制不太敏感的设备。例如,摄像机上的宿主处理器始终处于开启状态,以处理视频。
OpenThread 边界路由器支持 RCP 设计。如需了解详情,请参阅 OpenThread 边界路由器。
如需构建 RCP,请参阅以下 Codelab:
使用 nRF52840 构建 Thread 网络 Thread 边界路由器
网络协处理器 (NCP)

标准 NCP 设计在 SoC 上具有 Thread 功能,并在主机处理器上运行应用层,主机处理器通常比 OpenThread 设备更强大(但功耗更高)。
此设计的优势在于,高功率主机可以进入休眠状态,而低功率 OpenThread 设备可以保持活跃状态,以维持其在 Thread 网络中的位置。由于 SoC 不与应用层相关联,因此应用的开发和测试独立于 OpenThread build。
此设计适用于网关设备或有其他处理需求的设备,例如 IP 摄像头和音箱。
SPINEL 协议
Spinel 是一种通用管理协议,用于使主机设备能够与协处理器通信并管理协处理器。Spinel 最初旨在支持基于 Thread 的 NCP,但采用分层方法设计,因此未来可以轻松适应其他网络技术。它可用于 RCP 和 NCP 设计。
此协议包含在 /src/lib/spinel
的 OpenThread 中。我们提供了一个名为 Pyspinel 的 Python CLI 工具,供您进行测试。
如需了解详情,请参阅 Spinel 主机-控制器协议的 Internet 草案。