本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
特定于协议的中间件
重要
此处提供的文档和代码描述了中间件的参考实现。它不是作为 SDK 的一部分提供给您的。
特定于协议的中间件在与底层协议栈交互方面起着至关重要的作用。托管集成 Hub SDK 的设备入门和设备控制组件都使用它来与终端设备进行交互。
中间件执行以下功能。
-
通过提供一 APIs 组通用的协议,从不同供应商的设备协议堆栈中抽出来。 APIs
-
提供软件执行管理,例如线程调度器、事件队列管理和数据缓存。
中间件架构
下面的方框图代表了 Zigbee 中间件的架构。其他协议(如 Z-Wave)的中间件的架构也类似。

特定于协议的中间件有三个主要组件。
-
ACS Zigbee DPK:Zigbee 设备移植套件 (DPK) 用于提供对底层硬件和操作系统的抽象,从而实现可移植性。基本上,这可以被视为硬件抽象层 (HAL),它提供了一组通用集 APIs 来控制来自不同供应商的 Zigbee 无线电并与之通信。Zigbee 中间件包含 Silicon Labs Zigbee 应用程序框架的 DPK API 实现。
-
ACS Zigbee 服务:Zigbee 服务作为专用守护程序运行。它包括一个 API 处理程序,通过 IPC 通道为来自客户端应用程序的 API 调用提供服务。AIPC 用作 Zigbee 适配器和 Zigbee 服务之间的 IPC 通道。它还提供其他功能,例如处理这两个 async/sync 命令、处理来自 HAL 的事件以及使用 ACS 事件管理器进行事件注册/发布。
-
ACS Zigbee 适配器:Zigbee 适配器是在应用程序进程中运行的库(在本例中,应用程序是 CDMB 插件)。Zigbee 适配器提供了一组供客户端应用程序(例如 CDMB/Provisioner 协议插件)使用,用于控制终端设备并与之通信。 APIs
End-to-end 中间件命令流示例
以下是通过 ZigBee 中间件的命令流示例。

以下是通过 Z-Wave 中间件执行命令流的示例。
