Example 1: Send a ZDO LQI request to read the neighbor table contents of a remote
Looking at the Zigbee specification, the cluster ID for an LQI Request is 0x0031, and the payload only requires a single byte (start index). This example sends an LQI request to a remote device with a 64-bit address of 0x0013A200 40401234. The start index is set to 0, and the transaction sequence number is set to 0x76.
API Frame
7E 0016 11 01 0013A200 40401234 FFFE 00 00 0031 0000 00 00 76 00 CE
Field composition
0x0016 | length |
0x11 | Explicit transmit request |
0x01 | Frame ID (set to a non-zero value to enable the transmit status message, or set to 0 to disable) |
0x0013A200 40401234 | 64-bit address of the remote |
0xFFFE | 16-bit address of the remote (0xFFFE = unknown). Optionally, set to the 16-bit address of the destination if known. |
0x00 | Source endpoint |
0x00 | Destination endpoint |
0x0031 | Cluster ID (LQI Request, or Neighbor table request) |
0x0000 | Profile ID (Zigbee device profile) |
0x00 | Broadcast radius |
0x00 | Tx Options |
0x76 | Transaction sequence number |
0x00 | Required payload for LQI request command |
0xCE | Checksum (0xFF - SUM (all bytes after length)) |
Description
This API frame sends a ZDO LQI request (neighbor table request) to a remote device to obtain data from its neighbor table. You must set the AO command correctly on an API device to enable the explicit API receive frames to receive the ZDO response.