npm 包 @zigbee/zcl-packet 使用教程

阅读时长 4 分钟读完

前言

在 Zigbee 网络的开发中,常常需要处理 ZCL(Zigbee Cluster Library)协议格式的数据包,@zigbee/zcl-packet 是一个处理 ZCL 协议数据包的 npm 包。本文将详细介绍 @zigbee/zcl-packet 的使用方法,帮助开发者轻松处理 ZCL 数据包,加快 Zigbee 应用的开发速度。

安装

通过 npm 安装 @zigbee/zcl-packet:

安装完成后,即可在代码中引用 @zigbee/zcl-packet 的 API。

API

zclPacket.parse(data: Buffer)

解析 ZCL 数据包,返回解析后的数据,包含以下字段:

  • frameType: 数据帧类型
  • manuSpecific: 是否是厂商特定协议
  • direction: 数据帧方向
  • disableDefaultResponse: 是否关闭默认回复
  • transactionSequenceNumber: 事务序号
  • commandIdentifier: 命令标识符
  • payload: 数据负载

示例代码:

输出结果:

-- -------------------- ---- -------
-
  ---------- -----------
  ------------- -----
  ---------- ----- ------ -- --------
  ----------------------- ------
  -------------------------- ---
  ------------------ --
  -------- ------- ---
-

zclPacket.frame(data: Object)

生成 ZCL 数据包,参数包含以下字段:

  • frameType: 数据帧类型
  • manuSpecific: 是否是厂商特定协议
  • direction: 数据帧方向
  • disableDefaultResponse: 是否关闭默认回复
  • transactionSequenceNumber: 事务序号
  • commandIdentifier: 命令标识符
  • payload: 数据负载

示例代码:

-- -------------------- ---- -------
----- --------- - -----------------------------

----- ------ - -
  ---------- -----------
  ------------- -----
  ---------- ----- ------ -- --------
  ----------------------- ------
  -------------------------- ---
  ------------------ --
  -------- -----------------
-

----- ---- - -----------------------

---------------------------------

输出结果:

zclPacket.functional(payload: Object)

生成 ZCL 数据负载,参数为包含命令标识符和参数的对象。示例代码:

-- -------------------- ---- -------
----- --------- - -----------------------------

----- ------- - -
  ------------------ -- -- ---- ----------
  ------------- ------ -- ------- -------
-

----- ---- - -----------------------------

---------------------------------

输出结果:

结束语

@zigbee/zcl-packet 提供了便捷的处理 ZCL 数据包的方法,开发者可以通过简单的 API 调用实现解析和生成 ZCL 数据。本文介绍了 @zigbee/zcl-packet 的使用方法,并提供了示例代码,希望能够帮助读者加快 Zigbee 应用的开发速度。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/117718