Some examples of XBee API Frames.
Modem status frame
7E 00 02 8A 06 6F 7E : API Frame 00 02 : Length 8A : Modem status 06 : Coordinator started 6F : checksum FF – ((8A +06) & FF) = 6F
AT Command API Frame: MY
7e 00 04 08 52 4D 59 FF 7E : API Frame 00 02 : Length 08 : AT Command Frame id 52 : Frame id 4d 59 : MY (4d 59) (4d ⇒ M, 59 ⇒ Y) Get the 16-bit network address of the module. FF : checksum ff = ff – ((08+52+4d+59) & ff)
AT Command Response: MY

7e 00 07 88 52 4d 59 00 00 00 7f 7E : API Frame 00 07 : Length 88 : AT Command Response API Identifier 52 : Frame id 4d 59 : MY (4d 59) (4d ⇒ M, 59 ⇒ Y) Get the 16-bit network address of the module. 00 : Status 0=OK 00 00 : MY value, 00 000 not set 7f : checksum ff = ff – ((08+52+4d+59) & ff)
Explicit Addressing Zigbee Command Frame:
7E 00 1D 11 01 00 13 A2 00 40 3E 25 75 00 00 01 01 04 02 01 04 00 00 18 01 01 00 00 00 29 63 CE 9F 7E : Start frame 00 1D : Length (29 bytes) 11 : explicit addressing transmit 01 : Frame id 00 13 A2 00 40 3E 25 75 : 64 bit address 00 00 : 16 bit address 01 : source endpoint 01 : destination endpoint 04 02 : cluster id (temperature measurement cluster id/ Measurement and sensing functional domain) 01 04 : profile id (home automation profile) 00 : broadcast radius 00 : options 18 01 01 00 00 00 29 63 CE : payload 9F : checksum
Let’s analyze the payload
18 01 01 00 00 00 29 63 CE 18 : // 00011000 0×18 / general command = 00/ manufacturer specific = 0/ direction =1/ disable default / reserved = 000 01: transaction sequence 01: read response 00 00: attribute identifier (temperature) 00: status success 29: attribute data type = 29 signed 16 bit integer 63 CE: temp value (25550 / 100)
References: