This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LP-CC2652RB:ZigBee Linux 网关3.0 -服务器 API

Guru**** 2568565 points
Other Parts Discussed in Thread: CC2652RB, Z-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/999167/lp-cc2652rb-zigbee-linux-gateway-3-0---server-apis

器件型号:LP-CC2652RB
主题中讨论的其他器件:CC2652RBZ-STACK

您好!

我将 使用 TI 为我的网关项目提供的 Zigbee Linux 网关3.0应用。 在中、网关主机为 IMX8、ZNP 为 CC2652RB。

我已经阅读 了 Z-Stack Linux 网关应用编程接口文档接口文档版本:1.1、找不到任何可实现以下功能的 API

1.形成具有指定通道和 TX 功率的网络

2.加入具有特定信道的现有网络

3.开始扫描网络

4.停止扫描网络

获取器件的 Tx 功率

6.获取绑定表大小

7.se特定绑定索引的 t 绑定表条目- int zigbe_set_binding_entry (int index、zigbe_binding_table_entry *值)

8.删除特定索引的绑定条目

9.清除绑定表的所有条目

10.ZDO 节点 ID 请求

11.ZDO IEEE 地址请求

12.ZDO 休假请求

13.ZDO 节点描述符请求

14.ZDO 电源描述符 requset

15.ZDO 活动端点请求

16.ZDO 匹配描述符请求

17.zdo 结束设备绑定请求

18.ZDO LQI 表请求

19.停止属性报告

20.检查是否报告属性

21.discover 属性

22.read report config

23.基本群集重置为出厂默认设置

24.Identify cluster get remaining time (确定群集获取剩余时间)

请告诉我如何实现上述功能。

谢谢、

Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Vikas、

    您可以参阅 《开发人员指南 》和 技术 API (source/projects/node/nodejs_ZB_gateway/api.html) 、了解默认 ZigBee-linux-sensor-to 云解决方案当前提供的功能、并根据需要将自己的功能添加到网关。  您可以参考 监视和测试 API 以了解与 ZNP 连接的允许命令。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    我不使用 nodejs 模块。

    我的要求是编写一个 C 语言应用程序、该应用程序具有我在本例中提到的所有功能。

    开发人员指南介绍了网关应用可以 使用套接字接口与 HA 网关服务器、网络管理器服务器和 OTA 服务器进行通信。 我已经为所有3台服务器参考了 API 文档、找不到任何符合我要求的 API。 已附加 reference.e2e.ti.com/.../8877.Z_2D00_Stack-Linux-Gateway-_2D00_-API-document-v1.1.pdf 的 API 文档

    我想知道如何通过网关应用实现我的要求?

    谢谢、

    Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    例如、您可以引用 nwkmgrsrv.c 来查看现有应用程序如何将 probuf 消息传递到 NwkManager 以在 nmHandleAppPbCb 中进行命令处理、并相应地对您的应用程序建模。  这适用于您的上述大多数请求。  从 Z-Stack 服务器接收到的异步消息可以从 handlexorsx上 接收。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ryan、

    nmHandleAppPbCb 解释网络管理器服务器如何处理 传入的 protobuf 请求。

    我的要求来自网关应用程序、我如何为上述功能构建请求。 例如、如何从网关应用发送 zdo IEEE 地址请求。

    谢谢、

    Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您查看 USER_INTERFACE、则可以看到某些操作如何导致 MT 命令。  例如、案例"x"(软复位)发送 system_send_reset_request -> NWK_ZigBee_system_reset_req_pack -> 案例 NWK_Mgr_CMD_ID_T_NWK_ZigBee_system_reset_REQ -> PROCNWK_ZigBee_SystemResetSysReq -> send_CMD_IDS->Zend_ResetSysReq -> sysend_Reset_SysReq       -> sysend_Reset_SysReq -> sysend_Reset_sys_Reset_Resetr-> sysend_sysrack_sys_Reset_Reset_Reset_Reset_Reset_Reset_SysReq -> sysr-> sysend_r-> sysend_sysend_sys_Reset_Reset_Res  因此、您可以针对所需的附加功能实施类似的调用栈。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ryan、

    感谢您共享调用堆栈。 我已经介绍了网关示例中的所有现有功能。

    根据您  的建议 、为了实现本例中提到的功能、我必须实现完整的调用堆栈、如示例中所示。 我所需的大多数功能都是标准 ZigBee。因此网关服务器不支持所有标准 Zigbee 功能?

    谢谢、

    Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您请求的大多数功能都包含在 nwkmgrsrv.c 中(其中    处理了示例中的 Nwk_Mgr_CMD_ID_T_NWK_ZigBee_system_resetReq -> processorNwkZigbeeSystemResetReq -> sendSysResetReq)、因此网关服务器支持 标准的 Zigbee 功能、无需完成 Zigbee 调用。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ryan、

    NWK_Mgr_CMD_ID_T_NWK_ZigBee_system_reset_Req 在  nwkmgr.pb-c.h 中的 typedef enum _NWkMgrCmmdIdT 中定义。

    在上面所需的命令中、我们以活动端点请求为例。 我是否应该手动为活动端点请求命令 id 添加定义,并在 nwkmgrsrv.c 中添加同样的大小写?  

    我们是否有定义命令 id 值的任何文档?

    谢谢、

    Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vikas、

    是的、您应该手动添加定义和案例。  您可以选择自己的命令 ID、只要它与 NWKMgrCmdIdT 结构中已存在的命令 ID 不冲突。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    借助所提供的现有 API、我可以实现一些功能。 仍有一些 正在等待处理。 给出以下列表。 请告诉我、您是否可以帮助我解决待处理的功能。

    在指定了通道和 TX 功率的情况下形成网络-找不到用于设置发射功率的选项
    使用特定通道加入现有网络-找不到选项以设置发射功率
    开始扫描网络-未找到 API
    停止扫描网络-无 API
    获取器件的 Tx 功率-无 API
    获取绑定表大小-无 API
    为特定绑定索引设置绑定表条目 - int zigbe_set_binding_entry (int index、zigbe_binding_table_entry *值)-未找到 API
    删除特定索引的绑定条目-未找到 API
    清除绑定表的所有条目-未找到 API
    ZDO IEEE 地址请求-未找到 API
    ZDO 休假请求-未找到 API
    ZDO 电源描述符 requset -未找到 API
    ZDO 结束设备绑定请求-未找到 API

    谢谢、

    Vikas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Vikas、

    Z-Stack 本身不支持您需要的某些功能,如“开始/停止网络扫描”,因为这是低层15.4 MAC 的责任。  其他内容(如绑定信息)不受 监视程序和测试 API 支持 、因此 您 必须开发自定义 MT 命令或在主机应用程序上创建本地记录。  否则、 nwkmgrsrv 中有几个 API 会对您的需求有用(sendAppCnfStartAndingReq、sendSysSetTxPowerReq、sendSysNwkInfoReadReqCommissionSetTxPower、 sendZdoBindReq、sendZdoIeeAddrReq、 sendNWKRemoveDeviceReq 等)。  如果网关应用程序中缺少任何内容、则 您可以根据需要修改和扩展。

    此致、
    Ryan