Linksprite-Yuki Posted August 23, 2016 Report Posted August 23, 2016 ZigBee device list Motion detector Smoke sensor Door detector Water Detector Temperature and Humidity Sensor CO Sensor These ZigBee node devices support ZHA standard protocol. Linker ZigBee gateway module is one kind of Linker modules which can communicate with up to 32 ZigBee node devices. It is powered by Marvell 88MZ100 ZigBee microcontroller SoC chip. This ZigBee offers advantages for many application scenarios, including lighting control, smart metering, home/building automation, remote controls and health care applications. Tutorial we will show how to interface Deepcam ZigBee sensors using the Linker ZigBee gateway. Prerequisites ZigBee Gateway module x 1 ZigBee sensors Commands to communicate with ZigBee sensor 1. Set Permit Join Attribute Name Type Note CMD Length Uint8 0x02 CMD ID Uint8 0x75 Permit Join Uint8 0x00 – Always off; 0xFF – Always on; Other values – Turn on permit join for a period of time Example Send: [UART] 02 75 1E Success response: [UART] 02 8A 00 Note: How to reset ZigBee node device and let it join into the ZigBee gateway? Insert the pin to the reset hole and hold, until the green light is blinking very fast. If the light blinking is not fast, just release the pin and insert it again until it is blinking very fast. This will set the ZigBee sensor into reset mode. Send Set Permit Join commands to join After a while, gateway will get the response–** New Device Joined Indication** 2. New Device Joined Indication Sent after ZigBee gateway sends Transport Key to the joining device or received a ZDP Device Announcement. Attribute name Type Note CMD Length Uint8 0x0E CMD ID Uint8 0xFC Flag Uint8 0x02 Sub CMD ID Uint8 0xE1 -Gateway Special command Short Addr Uint16 IEEE MAC Addr Uint64 Capability Uint8 0xFF – If this indication is sent after Transport Key; Other values – If this indication is sent after receiving the joining device’s Dev Annce Example Transport Key has been sent to a node whose short address is 0x443B and IEEE address is 00:50:43:C9:9F:21:90:6C [UART] 0E FC 02 E1 3B 44 6C 90 21 9F C9 43 50 00 FF 3. Get Gateway MAC Address Get Gateway IEEE Address Request Attribute name Type Note CMD Length Uint8 0x02 CMD ID Uint8 0x14 Sub CMD ID Uint8 0x6F Get Gateway IEEE Address Response Attribute name Type Note CMD Length Uint8 0x0C CMD ID Uint8 0x15 Flag Uint8 0x02 Reserved Uint8 0x00 Sub CMD ID Uint8 0x6F IEEE MAC Address Length Uint8 0x08 IEEE MAC Addr Uint64 Example Send: [UART] 02 14 6F The Gateway’s IEEE Address is 00:50:43:C9:9F:26:9E:4D [UART] 0C 15 00 6F 08 4D 9E 26 9F C9 43 50 00 4. Set APS Header Parameters Note:Before sending any other commands in this section, the first step is to set the APS(Application Support Sublayer) Header parameters for the next ZCL(ZigBee Cluster Library) command. Attribute name Type Note CMD Length Uint8 0x0C CMD ID Uint8 0xFC-ZCL Request Flag Uint8 0x02-ZCL Special Command Sub CMD ID Uint8 0x01 – Set APS Params Profile ID Uint16 0x0104 -Home Automation Src Endpoint Uint8 Dest Endpoint Uint8 Fixed to 0x02 for group mode Dest Addr Mode Uint8 0x01-group address; 0x02 – node short address Dest Addr Uint16 Tx Options Uint8 0x02 Radius Uint8 0x0A Example Set source endpoint to 0x01, destination endpoint to 0x01, destination address to 0xAE3E. [UART] 0C FC 02 01 04 01 01 01 02 3E AE 02 0A Success response: 04 FD 02 01 00 5. ZDP bind ZDP(ZigBee Device Profile) Bind Request Attribute name Type Note CMD Length Uint8 0x16 CMD ID Uint8 0xD8 Source IEEE Address Uint64 Source Endpoint Uint8 Cluster ID Uint16 Destination Address Mode Uint8 0x01 – 16-bit group address for Destination Address and Destination Endpoint Not present;0x03 – 64-bit extended address for Destination Address and Destination Endpoint present Destination Address Uint64 Destination Endpoint Uint8 Example: Send: [UART] 16 D8 69 53 37 53 C9 43 50 00 01 05 00 03 1D 4F 28 0F C9 43 50 00 01 Response: [UART] 02 D9 00 6. Read ZCL Attribute Request and response Request Attribute name Type Note CMD Length Uint8 0x08 CMD ID Uint8 0xFC Flag Uint8 0x00-From ZCL Client to ZCL server Cluster ID Uint8 0x00 0x05 Command ID Uint16 0x00 Attribute Number Uint8 0x01 Start Attribute ID Uint16 0x01 0x00 Response Attribute name Type Note CMD Length Uint8 0x08 CMD ID Uint8 0xFC Flag Uint8 0x03 Cluster ID Uint8 0x00 0x05 Command ID Uint8 0x01 Attribute ID Uint16 0x01 0x00 State Uint8 0x01 Data type Uint8 0x31 Zone Type Uint16 Example Send: [UART] 08 FC 00 00 05 00 01 01 00 Success respone: [UART] 0B FE 03 00 05 01 01 00 00 31 28 00 Zone Type Sensor Name Zone Type Door Detector 0x15 0x00 Motion Detector 0x0d 0x00 Water sensor 0x2a 0x00 Smoke sensor 0x28 0x00 7. Report configuration Request Attribute name Type Note CMD Length Uint8 0x18 CMD ID Uint8 0xFC Flag Uint8 0x00 Cluster ID Uint8 0x01 0x00 Command ID Uint8 0x06 Attribute Number Uint8 0x01 Attribute ID Uint16 0x21 0x00 Data Type Uint8 0x20- Uint8 Minimal Reporting Time Uint16 0x0A 0x00 Maximum Reporting Time Uint 16 0x0A 0x00 Data Uint8 0x01 Timeout Uint16 0x00 0x00 Response Attribute name Type Note CMD Length Uint8 0x06 CMD ID Uint8 0xFD Flag Uint8 0x00 Cluster ID Uint8 0x01 0x00 Command ID Uint8 0x06 State Uint8 0x00 Example Send: [UART] 11 FC 00 01 00 06 01 00 21 00 20 0a 00 0e 00 01 00 00 Success response: [UART] 06 FD 00 01 00 06 00 8. Device Alarm Reporting Attribute name Type Note CMD Length Uint8 0x15 CMD ID Uint8 0xFE Flag Uint8 0x01 Cluster ID Uint8 0x00 0x05 Command ID Uint8 0x00 Source Endpoint Uint8 0x01 Source address type Uint8 0x02-Short address Source address Uint16 Reserved Uint32 0x00 0x01 0x00 0x00 Zone State Uint16 0x21 0x00 Reserved Uint24 0x00 0x00 0x00 Example [UART]15 FE 01 00 05 00 01 02 7B D0 00 D0 00 01 00 00 21 00 00 00 00 00 Sensor state Sensor Name Open/Activated Door Detector 0x20 0x00 Motion Detector 0x21 0x00 Water sensor 0x21 0x00 9. Battery level reporting Attribute name Type Note CMD Length Uint8 0x13 CMD ID Uint8 0xFE Flag Uint8 0x03 Cluster ID Uint8 0x01 0x00 Command ID Uint8 0x0A Source Endpoint Uint8 0x01 Source address type Uint8 0x02-Short address Source short address Uint16 Unkown Uint16 0x00 0x4B Reserved Uint32 0x00 0x01 0x00 0x00 Zone State Uint16 0x21 0x00 Data Type Uint8 0x20-Uint8 Battery Level Uint8 Example Receive: [UART] 13 FE 03 01 00 0A 01 02 6D 4B 00 4B 00 01 00 00 21 00 20 BC Battery level = (0xBC/2) %= 94% 10. Unbind Device Request Attribute name Type Note CMD Length Uint8 0x0C CMD ID Uint8 0xE4 IEEE Address Uint64 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Type Uint8 0x00 Target Short Address Uint16 Source Endpoint Uint8 0x01 Reponse Attribute name Type Note CMD Length Uint8 0x0A CMD ID Uint8 0x7B IEEE Address Uint64 Type Uint8 0x00 Example Send: [UART] 0C E4 00 00 00 00 00 00 00 00 00 AA BB Response: [UART] 0A 7B 69 53 37 53 C9 43 50 00 00 Note: When you use gateway send command to ZigBee node device and want it response, you have to make sure the ZigBee node device is not in sleep mode, or you will always fail to communication with ZigBee node device. You can click the reset hole to activate the ZigBee node device. For more details,please refer to original post https://github.com/YaoQ/zigbee/blob/master/zigbee-sensor-tutorial.md Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.