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.

[参考译文] CC2652RB:如何将 ZED 运动传感器添加到 TI ZNP Linux 网关中

Guru**** 2553260 points
Other Parts Discussed in Thread: CC2652RB, Z-STACK, SIMPLELINK-CC13X2-26X2-SDK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/998509/cc2652rb-how-to-add-zed-motion-sensor-into-ti-znp-linux-gateway

器件型号:CC2652RB
Thread 中讨论的其他器件: Z-stackSIMPLELINK-CC13X2-26X2-SDK

尊敬的:

我是否可以从零项目示例中将第三方 ZED 运动传感器添加到 Linux 网关网络中?

如果是,您能否给我发送一些说明?

谢谢、

Khai。

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

    对于 Zero Project 的 Linux 网关网络、您只需启用"允许加入"、您应该阅读第三方 ZED 运动传感器的用户手册、了解如何使该第三方 ZED 运动传感器恢复出厂设置以加入 Zigbee 网络。

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

    我假设您已参考 网关 SLA。  请参阅此 类似主题。  我建议您在为运动传感器添加功能之前使用默认示例确认操作。

    此致、
    Ryan

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

    尊敬的 Ryan、Chen:

    1.我已尝试 使用网关 SLA。 该项目与 TI ZNP 和 Zed_light 一起使用。

    2.我的第三个 zed 传感器已进入复位模式、但 TI 网关无法检测到器件。 我假设3分频有不同的信道、我正在尝试检查他们的信道。

    3.我将按照  您的参考主题进行操作。

    谢谢、

    Khai。

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

    我建议您设置监听器、以检查无线传输过程中发生的情况。

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

    尊敬的 Chen:

    我将按照以下说明设置监听器: 数据包监听器。 但我发现它仅支持 CC2652、我的 TI 芯片是 CC2652RB、 Sniffer_FW_15_4.hex 固件能否在 CC2652RB_LP 上运行?

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

    尊敬的 Ryan、Chen:

    我已经设置了 Wireshark 和智能 RFSniffer 2跟随 数据包监听器、但无法从 ZED 器件获取数据包。 我使用 CC2652RB_LP 作为监听器硬件工具。

    我更新了信息:我已经将第3 个温度 化的器件设置为重置模式。 已成功发现 TI Linux 网关并连接到温度。 因此、我确保 Wireshark 工具无法从 zed 器件获取封装数据。

    谢谢、

    Khai。

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

    您使用哪种 Wireshark 版本?

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

    它是3.4.5版  

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

    尝试使用3.0.x、如 https://dev.ti.com/tirex/explore/node?node=ANbR0LtTwkMnDCiEhygF7A__pTTHBmu__LATEST 中所述

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

    谢谢陈、

    监听器工具适用于 Wireshark 3.0.0。

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

    尊敬的 Ryan、

    遵循您的推荐主题, 我不清楚我需要做什么:

    1.将 processors.wiki.ti.com/.../Fire_Alarm_System 链接到 Resource Explorer 的 Z-Stack 项目、这样我就不需要参考了。 请向我发送其他链接。

    2.关于您3年前的评论: ZNP 和网关资源不会自动支持 IAS 区域设备。 这是您必须包含的内容,使用 ZCL v6规范和火警示例作为指南"=>我发现网关 Linux 不支持 IAS 区域设备,ZNP 如何? 3年前它是否仍然支持同样的功能?

    谢谢、

    Khai。

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

    请尝试参考 https://sunmaysky.blogspot.com/2020/05/how-zigbee-cie-and-ias-device-work.html ,其中显示了当 IAS 区域设备加入时 ZC 应处理或处理的内容。

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

    Wiki 已于2020年12月被弃用、但黄金提供了他的博文、 SIMPLELINK-CC13X2-26X2-SDK 中提供了 IAS 区域示例、您可以参考这些示例以了解必要的 Zigbee 集群和属性。  Linux 传感器到云网关解决方案尚未更新以支持 IAS 器件。

    此致、
    Ryan

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

    尊敬的 Chen、Ryan、

    我尚未检查源代码,但在下面找到了 ZNP 设备群集:

    APP/Main] PKTBODY:cmdId = NWK_GET_LOCAL_DEVICE_INFO_CNF
    [09:52:26.373,536][SMPLAPP/Main] PKTBODY:deviceInfoList:
    [09:52:26.373、578][SMPLAPP/Main] PKTBODY:NetworkAddress = 0x00000000 (0)
    [09:52:26.373,623][SMPLAPP/ Main] PKTBODY:eeeAddress = 00:12:4B:00:14:F5:45:26
    [09:52:26.373666][SMPLAPP/Main] PKTBODY:manufacturerId = 0x00000007 (7)
    [09:52:26.373,705][SMPLAPP/Main] PKTBODY:simpleDescList:
    [09:52:26.373,742][SMPLAPP/Main] PKTBODY:[000]:
    [09:52:26.373、780][SMPLAPP/Main] PKTBODY:endpointId = 0x00000004 (4)
    [09:52:26.373,821][SMPLAPP/Main] PKTBODY:ProfileID = 0x00000104 (260)
    [09:52:26.373,862][SMPLAPP/Main] PKTBODY:DeviceID = 0x00000007 (7)
    [09:52:26.373901][SMPLAPP/Main] PKTBODY:deviceVer = 0x00000000 (0)
    [09:52:26.373,940][SMPLAPP/Main] PKTBODY:InputClusters:
    [09:52:26.373,978][SMPLAPP/Main] PKTBODY:[000]= 0x00000000 (0)
    [09:52:26.374,017][SMPLAPP/Main] PKTBODY:[001]= 0x00000003 (3)
    [09:52:26.374,055][SMPLAPP/Main] PKTBODY:[002]= 0x00000501 (1281)
    [09:52:26.374,094][SMPLAPP/Main] PKTBODY:outputClusters:
    [09:52:26.374、131][SMPLAPP/Main] PKTBODY:[000]= 0x00000006 (6)
    [09:52:26.374、169][SMPLAPP/Main] PKTBODY:[001]= 0x00000004 (4)
    [09:52:26.374、206][SMPLAPP/Main] PKTBODY:[002]= 0x00000005 (5)
    [09:52:26.374、334][SMPLAPP/Main] PKTBODY:[003]= 0x00000500 (1280)
    [09:52:26.374、375][SMPLAPP/Main] PKTBODY:[004]= 0x00000009 (9)
    [09:52:26.374、415][SMPLAPP/Main] PKTBODY:[005]= 0x00000101 (257)
    [09:52:26.374、453][SMPLAPP/Main] PKTBODY:[006]= 0x00000020 (32)
    [09:52:26.374,492][SMPLAPP/Main] PKTBODY:[001]:
    [09:52:26.374、529][SMPLAPP/Main] PKTBODY:endpointId = 0x000000F2 (242)
    [09:52:26.374、570][SMPLAPP/Main] PKTBODY:ProfileID = 0x0000A1E0 (41440)
    [09:52:26.374、609][SMPLAPP/Main] PKTBODY:DeviceID = 0x00000061 (97)
    [09:52:26.374、650][SMPLAPP/Main] PKTBODY:deviceVer = 0x00000000 (0)
    [09:52:26.374,690][SMPLAPP/Main] PKTBODY:outputClusters:
    [09:52:26.374,728][SMPLAPP/Main] PKTBODY:[000]=0x00000021 (33)
    [09:52:26.374、770][SMPLAPP/Main] PKTBODY:deviceStatus = DEVICE_ON_LINE

    群集0x501和0x500是 IAS ACE 和 IAS 区域,因此它意味着新的 ZNP 源已经支持 IAS 区域,我是否理解正确?

    谢谢、

    Khai。

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

    ZNP 不支持 ZCL 器件。 ZCL 在 ZNP 主机上实现、而不是在 ZNP 本身上实现。

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

    尊敬的 Chen、Ryan、

    Linux 网关应用程序已连接到第三个温度传感器和门传感器,如下图所示:

    我有一些问题:

    1.连接到温度传感器后,温度将每5分钟报告一次温度值=>我检查并没有看到此功能的任何设置,所以它是 ZED 的默认功能?

    2.当门传感器打开/关闭时,门传感器 zed 向网关成功报告,但我看不到 Linux 网关应用程序收到任何报告包=>我是否错过了什么? 为什么网关可以自动接收来自温度传感器的报告,但无法接收来自门传感器的报告?

    谢谢、

    Khai。

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

    1.如果您没有从网关报告配置,则它可能是 ZED 的默认值。 您应该检查第三方设备的用户手册。

    2.您是否在 Linux GW 中添加了 CIE 支持? 否则,GW 可能无法接收 IAS 区域状态通知/报告。

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

    尊敬的 Chen:

    感谢您的回复。

    您是否在 Linux GW 中添加了 CIE 支持? 如果没有,则 GW 可能无法接收 IAS 区域状态通知/报告=>但 GW 可以接收来自温度 ZED 的报告, 两种报告类型之间有何不同?

    谢谢、

    Khai。

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

    我知道、TI Z-Stack Linux GW 在默认情况下实现了 ZCL 温度群集支持、因此您可以看到温度传感器在默认情况下工作。 但是、CIE 不是由 Z-Stack Linux GW 参考设计实现的、因此您必须自己添加它。

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

    "TI Z-Stack Linux GW 在默认情况下实现了 ZCL 温度群集支持"=>此功能是在 Linux GW 应用程序还是 ZNP CC2652RB 上实现的?

    当我检查监听器工具时、ZNP CC2652RB 可以接收来自门传感器的报告包(正如我发送的图片)、但 GW 应用程序不接收来自 ZNP CC2652RP 的任何包、我认为该包已被 ZNP CC2652RP 过滤。 我是否理解正确?

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

    我回答说、ZCL 是在主机而非 ZNP 上实现的、因此 ZCL 温度群集支持是在 Linux GW 应用程序上实现的。

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

    是的、我已经记得您的回复了。 谢谢你。

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

    尊敬的 Chen:

    ZCL 是在主机而不是 ZNP 上实现的、因此在 Linux GW 应用程序上实现了 ZCL 温度群集支持=>我已经打印了 ZNP 发送到 GW 应用程序的原始消息。 当 ZED 发送报告属性时、我没有看到任何原始包、因此我确保 ZNP 没有将报告包转发到 GW 应用程序。

    当第3个 ZED 门传感器将报告属性发送到 GW 时,我没有看到从 GW 返回的 APS 包(下图), 我猜为什么 GW 应用程序可以接收报告属性包=>我是否错过了什么?

    您是否可以向我展示 ZNP 函数,其中处理来自 ZED 的软件包(例如:从 ZED 到 ZED 的响应 APS 应答,或从 ZED 过滤软件包)。

    谢谢、

    Khai。

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

    我建议您使用监听器来检查温度传感器加入过程及其报告温度的方式、而不是检查 ZNP 原始消息。

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

    在 ZNP 固件中、端点在本地注册后、应用程序将通过 OsalPort 消息将收到的任何数据通知为 AF 传入数据指示。  您可以检查 MT_ProcessIncomingCommand -> Case AF_Incoming_MSG_CMD -> MT_AfIncomingMsg。  主机网关应用示例默认仅处理 ZB-GATEWAy.js 中传入的温度测量报告:

       // #################### Device Report - Incoming Report ####################################
      .on('hagateway:gw:report', function(data){
        // read incoming report based on what its ClusterID is
        switch(data.clusterId){
          // incoming temperature measurement
          case ZBL.HA_CLUSTER_ID.TEMPERATURE_MEASUREMENT:     
            if( (data.attributeRecordList[0].attributeId === ZBL.TEMPERATURE_MEASUREMENT_CLUSTER.MeasuredValue) && (data.attributeRecordList[0].attributeType === ZBL.DATA_TYPE.INT16)) {
              var raw_temp = data.attributeRecordList[0].attributeValue;
              raw_temp_string = reverse(raw_temp).toString('hex');
              raw_temp_int = parseInt(raw_temp_string, 16);
              var temp = raw_temp_int / 100;   
              console.log("Zb-Gateway: The temp is: ", temp);  
    
              var temp_data = {
                guid: data.guid,
                temp: temp
              };
    
              ZigbeeGatewayInstance.emit('zb-gateway:temp_device:temp', temp_data);
            }
          break;   
          
        }
      })

    此致、
    Ryan

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

    尊敬的 Ryan、Chen:

    我发现报告包端点目的地有问题。  在下图中、目标端点为2、但 GW EP 为4、因此导致报告被拒绝的来宾。 您知道这是如何发生的?  

    注意:我在 CC2652RB 上使用了 TI ZED 指示灯并配置了报告 onoff 属性=> TI ZED 指示灯已每30秒发送一次报告,但 ZNP 未将报告转发给 GW 应用程序。

    谢谢、

    Khai。

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

    您能否附加完整的监听器日志而不是屏幕截图?

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

    尊敬的 Chen:

    我附加了完整的监听器日志。

    ti_zed_light.rar

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

    在监听器日志中,绑定请求的目标端点设置为端点2。

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

    尊敬的 Chen:

    谢谢、GW 成功收到了报告。  

    只需通知我遇到问题的位置:"gateway_self_addr.ender= gateway_management_endpoint"、默认 源中 gateway_management_ender= 0x2。

    谢谢、

    Khai。

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

    gateway_management_endpoint 不应对您的应用程序产生任何影响、您是否说需要更改它才能从设备接收报告?

    此致、
    Ryan

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

    尊敬的 Ryan、

    我 在函数中使用了全局变量"gateway_self_add"。 当我在 gateway_management_endpoint = 0x2时进行注释、但网关 EP id 在 gateway_config.tlg 文件中进行配置、默认情况下、配置文件中的 gatway EP id 为0x4。

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

    感谢您澄清您的意图。

    此致、
    Ryan