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.

关于bdb_FindingAndBinding.c中的bdb_ZclType1Clusters[] 和 bdb_ZclType2Clusters[]分类疑惑

Genius 3030 points
Other Parts Discussed in Thread: Z-STACK

bdb_ZclType1Clusters[] 和 bdb_ZclType2Clusters[]存放了不同的Cluster,请问是按照什么规则区分的?

  • 还是要以ZCL V6为准。
    请参照 ZCL v6 specification, the Base Device Behavior v1.0 specification,he Zigbee Application Architecture v1.0 specification。
    如果有什么不对的,希望各位给予指出,互相学习。

  • 有些Cluster不是成对的 啊,如ZCL_CLUSTER_ID_MS_TEMPERATURE_MEASUREMENT、ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY等,
    请问有Zigbee Application Architecture v1.0 specification文档的下载链接吗?
  • Type 1 Cluster: A type 1 cluster’s primary function is to initiate transactions from the client to the server.
    Type 2 Cluster: A type 2 cluster’s primary function is to initiate transactions from the server to the client.
    这两段话是在ZCL v6 specification看到的
  • Dear Alvin Chen
    请教一个问题,如果一个EndDevices上报ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY这个Cluster的属性,那这个Cluster是放在pAppOutClusterList还是pAppInClusterList?
  • The finding and binding procedure can be performed as initiator, target, or both, depending on the clusters that the
    endpoint performing the Finding and Binding procedure has. This means that if an endpoint has a cluster that is
    meant to be initiator, the finding and binding process for this endpoint will be executed as initiator. The definitions
    for initiator or target on clusters can be found in ZigBee ZCL specification [5].
    The application must specify with which endpoint it wants to perform the finding and binding procedure by calling
    bdb_SetIdentifyActiveEndpoint().

    可以见Z-Stack 3.0 Developer's Guide.pdf中的15.7 Finding and Binding.

    一边作为一个server和client 可以详细见下面的解释,如果只想做绑定可以不去关注他,直接用 ZDP_BindReq()也是可以的。

    至于那些文档都是可以在zigbee alliance下载的。

  • Zigbee Node
    A Zigbee node represents a single testable implementation. This could be, for instance, a standalone Zigbee device that runs on a single processor, or an application processor + network processor that work together to form a single Zigbee device (e.g. ZAP+ZNP). Each node is a single Zigbee application on a single Zigbee stack, with one NWK address and one PAN ID. A Zigbee node can host multiple Zigbee device instances, where each device instance is hosted on its own endpoint. It is possible that a single physical product may support more than one Zigbee node, such as a device that bridges two separate Zigbee networks together.

    Zigbee Cluster
    Zigbee Clusters are defined by the Zigbee Cluster Library (ZCL) specification. Each cluster specifies a set of cluster attributes, a set of commands generated and received, and other associated behavior. Attributes, commands, and behaviors for each cluster can be either mandatory or optional, depending on the ZCL spec.

    Each Zigbee cluster has a Server and a Client implementation. Generally, the device which supports the Server side of the cluster is the one who implements the actual hardware functionality which the cluster intends to interact with. For instance, with the Light and Switch example, the Light implements the On/Off Server since it is what the On/Off command intends to control. For the Temperature Measurement cluster, the Temperature Sensor implements the Temp Meas. Server since it is the one that takes the actual temperature measurements using hardware.

    Each Zigbee cluster is defined as either a Utility cluster OR an Application cluster, AND either a Type 1 cluster OR a Type 2 cluster.

    Utility Cluster
    A utility cluster is not part of the functional operation of the product. An example of a utility cluster would be one used for device commissioning, configuration, discovery, or diagnostics.

    Application Cluster
    An application cluster generates persistent functional application transactions between client and server sides of a cluster, and the targets of these transactions are determined when binds are created between matching clusters (client and server).

    Examples of application cluster transactions include: On/Off cluster - Switch (On/Off cluster client) sends commands to Light (On/Off cluster server) Temperature Measurement cluster - Temperature Sensor (Temp Meas. cluster server) sends reports to Thermostat (Temp Meas. cluster client)

    Type 1 Cluster
    A Type 1 cluster is a cluster whose primary function is to initiate transactions from the Client side of the cluster to the Server side. With BDB Finding & Binding, binds are created on the Client side device for Type 1 clusters. This makes the Client device the BDB Finding & Binding Initiator. For example, the On/Off cluster is a Type 1 cluster since the On/Off client sends commands to the On/Off server.

    Type 2 Cluster
    A Type 2 cluster is a cluster whose primary function is to initiate transactions from the Server side of the cluster to the Client side. With BDB Finding & Binding, binds are created on the Server side device for Type 2 clusters. This makes the Server device the BDB Finding & Binding Initiator. For example, the Temperature Measurement cluster is a Type 2 cluster since the Temp Meas. server sends attribute reports to the Temp Meas. client.

    Zigbee Device
    Each endpoint on a Zigbee node supports a Zigbee Device type. There are three device classes for Zigbee Device types, Node, Simple, and Dynamic class.

    Node Class Device
    Not to be confused with the definition of a Zigbee node from above, a node device specification in the context of a Zigbee Device defines an endpoint which represents the entire Zigbee node for some actions. An example of a node device endpoint would be the ZDO (Zigbee Device Object) endpoint, which is defined on endpoint 0 by the spec and is responsible for actions related to the logical Zigbee device type (ZC, ZR, ZED) like network commissioning, binding and discovery requests, etc, e.g. all the Zigbee networking-related actions. Another example of a node device endpoint would be the Green Power endpoint, which (if implemented) is defined on endpoint 242, this is another endpoint which is responsible for networking-related actions.

    A Zigbee node can implement one or more node device endpoints, and node devices may or may not specify mandatory clusters.

    Simple Class Device
    Simple Devices are the most common endpoints in typical Zigbee networks. Zigbee devices like sensors, actuators, lights, switches, etc. are all simple devices. A simple device specifies a set of mandatory application clusters by the ZCL spec. Simple device endpoints are only operational within a Zigbee network if a bind exists for that cluster on the corresponding endpoints, otherwise that endpoint will be inactive.

    Dynamic Class Device
    A Dynamic Device endpoint is typically found in gateway devices where there exists a higher level supervisory application above the simple device layer that can manage activities such as remote bindings, monitoring network statistics, etc.