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.

Z-stack中如何加入对manufacture code的支持?

Other Parts Discussed in Thread: CC2530, Z-STACK

1, NXP和silabs的zigbee设备,都有manufacture code的命令和attribute支持,基于CC2652/ CC2530的设备应该如何控制它们?

2, CC2652和CC2530的设备如果也希望支持manufacture code,有什么规则么? 一个芯片能否支持多个manufacture code? 与该设备互操作的zigbee设备,如何知道该设备的manufacture code?我看到通过向目标发送 ZDP_Node_Desc_req,收到的Response中有ZDO_Config_Node_Descriptor的manufacture code,这个ZDO_Config_Node_Descriptor就是该设备的manufacture code么?

  • 不大懂你說的NXP和silabs的zigbee设备,都有manufacture code的命令和attribute支持是指什麼,可以詳細說明一下嗎?
  • 我看到你已经在E2E上跟工程师讨论过这个问题:
    e2e.ti.com/.../781685
    e2e.ti.com/.../805733

    建议发布related post获取更多信息
  • 一个zigbee节点最多能拥有几个manufacture code? 我在测试绿米的zigbee灯(NXP平台),发现对方有report命令带有manufacture specific和manufacture code。cluster ID为0x0000( General Basic ),attribute ID为 0xA000。按照zigbee协议规范,cluster ID >= 0xFC00的为manufacture-specific cluster, 非 manufacture-specific cluster下的attribute也可以设置成manufacture specific attribute.
  • E2E并没有给出解决方案,我希望实现以下两个功能:
    1,基于TI zigbee的产品,可以与带manufacture specific的第三方zigbee产品实现完全互操作,包括控制和访问manufacture specific定义的功能。
    2,基于TI zigbee的产品,可以实现支持manufacture specific的功能
  • manufacturer code 和manufacture-specific cluster是不一樣的東西,你是要問那一個?
  • 我的了解,ZCL协议允许 manufacture-specific cluster, manufacture-specific attribute和manufacture-specific command三种厂商自定义的元素,不知道这个理解是否正确。

    manufacture-specific cluster的 cluster ID从0xFC00开始,访问manufacture-specific cluster下的所有attribute和command,在ZCL帧中需要使能manufacture-specific标志位并带上manufacture code。

    访问非manufacture-specific cluster下定义的某个attribute或者控制某个非manufacture-specific cluster下定义的specific command,ZCL帧中同样需要使能manufacture-specific标志位并带上manufacture code。

    但是有个不确定的问题,一个Node允许同时支持多少个manufacture code?
  • zcl_SendCommand的參數可以指定manufacturer code、調用API時你可以用自定的manufacturer code
  • 访问manufacture specific cluster,manufacture specific attribute和manufacture command时,都需要在 zcl_SendCommand 中指定 manufacture code么?

  • 再确认一个问题,zcl_SendCommand指定参数manufacturer code = 0xFFFF,能否访问该cluster下所有的manufacture specific attribute和普通attribute?
  • 再說一次manufacturer code和manufacture specific cluster/ attribute是不同的
  • 哪里有文档说明?访问manufacture specific cluster/ attribute的ZCL命令需要带上manufacture code吗?

  • 你可以讀一下ZCL spec、另外据我所知访问manufacture specific cluster/ attribute的ZCL命令不需要带上manufacture code

  • 文档《07-5123-07-ZigbeeClusterLibrary_Revision_7》

    2.3.3 Manufacturer Specific Extensions

    Manufacturers are free to extend the standard in the following ways
    • Add manufacturer specific clusters to a standard device endpoint.
    • Add manufacturer specific commands to a standard cluster.
    • Add manufacturer specific attributes to a standard cluster.

    All communications regarding manufacturer specific extensions SHALL be transmitted with the manufacturer specific sub-field of the frame control field set to 1 and the manufacturer code included in the frame. If the manufacturer code in a command frame is not recognized, the command is not carried out.
  • 我看zcl_SendCommand並無作出這樣的限制、如果要照ZCL spec就自己去實現即可
  • 确实z-stack不支持manufacturer-specific cluster/attribute/command. 我想 自己去添加该功能,但是有几个问题不太确定。
    我的设备端收到带有manufacturer code的ZCL帧,应该如何去识别manufacturer code?直接与ZDO_Config_Node_Descriptor.ManufacturerCode比较么?

    我看到silabs的SDK中,manufacturer-specific-cluster使用的manufacturer code和manufacturer-specific-attribute使用的manufacturer code可以相互独立,各自使用不同的manufacturer code。而且manufacturer-specific-cluster和manufacturer-specific-attribute可以使用超过1个的manufacturer code.
  • 同设备中不同的manufacturer-specific cluste/attribute使用相同的manufacturer code还是可以各自使用不同的manufacturer code?
  • 照理manufacturer-specific-cluster使用的manufacturer code和其所屬的manufacturer-specific-attribute使用的manufacturer code不會相互独立吧、同设备中不同的manufacturer-specific cluste/attribute使用相同的manufacturer code还是可以各自使用不同的manufacturer code是照你應用程序的需求、另外、照我的理解,這邊的manufacturer code跟ZDO_Config_Node_Descriptor.ManufacturerCode不必是相同的