How does one go about sending a ZDO Bind Request from a coordinator that is a Connectport X4? The new firmware release from last week allows for usage of S2C chips inside the X4. I have done so and am able to see devices join the network. But I dont know how to send out ZDO commands from the terminal. The literature for ZDO commands here,
http://ftp1.digi.com/support/images/APP_NOTE_XBee_ZigBee_Device_Profile.pdf
Does not provide documentation for ZDO Bind Request which is specific to the application i’m developing for.
Any help is appreciated.
The source document Digi pulled the various ZDO frame formats from can be downloaded at http://www.zigbee.org/zigbee-for-developers/network-specifications/zigbeepro/.
Expand “Click to Download ZigBee PRO Specification” and fill out your info (its free). Download the second/larger specification. Documentation on the ZDO Bind Request can be found under the following heading.
2.4.3.2.2 Bind_req
Ok so I just fill in the Cluster ID and all the fields required for that type of pairing? How come when I send it it sends in the APS header and not in the ZCL frame. Ubiqua shows that responses are also only sometimes.
Yes, you would just fill in the various source/destination fields in that frame. That frame format is just the main payload, you must also include a sequence number to start.
“The data payload must contain a sequence number as the first byte (transaction sequence number),
followed by all required payload bytes for the ZDO. Multi-byte fields must be sent in little endian byte
order.”
Source/destination are possibly counter-intuitive. SOURCE is the device are you creating the binding on as it will be sending from itself (SOURCE) to your device (DESTINATION).
You must also use the ZDO Endpoint 0x00 for both source/destination in the overall command (not the zdo payload) and use the bind req cluster id. If you are using your normal endpoint for sending that might explain why Ubiqua is trying to interpret your frame as a ZCL frame instead of a ZDO frame. Endpoint 0x00 is a special endpoint used only for sending/receiving ZDO commands.