Jump to content
Electronics-Lab.com Community

Recommended Posts

Posted

ZigBee device list

Motion detector Smoke sensor
687474703a2f2f6f70656e686170702e636f6d2f 687474703a2f2f6f70656e686170702e636f6d2f
Door detector Water Detector
687474703a2f2f6f70656e686170702e636f6d2f 687474703a2f2f6f70656e686170702e636f6d2f
Temperature and Humidity Sensor CO Sensor
687474703a2f2f6f70656e686170702e636f6d2f 687474703a2f2f6f70656e686170702e636f6d2f

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

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

  1. Send: [UART] 02 75 1E
  2. Success response: [UART] 02 8A 00

Note: How to reset ZigBee node device and let it join into the ZigBee gateway?

  1. Insert the pin to the reset hole and hold, until the green light is blinking very fast.
  2. If the light blinking is not fast, just release the pin and insert it again until it is blinking very fast.
  3. This will set the ZigBee sensor into reset mode.
  4. Send Set Permit Join commands to join
  5. 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

  1. Send: [UART] 02 14 6F
  2. 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

  1. 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
  2. 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:

  1. 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
  2. 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

  1. Send: [UART] 08 FC 00 00 05 00 01 01 00
  2. 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

  1. Send: [UART] 11 FC 00 01 00 06 01 00 21 00 20 0a 00 0e 00 01 00 00

  2. 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

  1. Send: [UART] 0C E4 00 00 00 00 00 00 00 00 00 AA BB
  2. 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.

8.png

 

For more details,please refer to original post

https://github.com/YaoQ/zigbee/blob/master/zigbee-sensor-tutorial.md


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
  • Create New...