Digi Profile
Provides an overview of the ZigBee endpoint and cluster ID functionality
supported in the Digi drop-in-networking profile.
Digi XBee Profile Overview
The Digi Drop-In-Networking ZigBee Profile provides services and functions to simplify commissioning, Deployment, and management of drop-in-networking ZigBee devices. Digi International and its partners offer a variety of embedded devices ranging from cellular and Ethernet gateways to battery-powered sensors, range extenders, and routers. For more information on available drop-in-networking solutions, visit http://www.digi.com.
This document provides an overview of the Drop-In-Networking profile and design considerations that can be used to develop ZigBee end products that can operate with Digi's drop-in-networking products.
Digi XBee Profile
Endpoint Usage
Two endpoints must be supported in the Drop-In-Networking (DIN) profile. These include the Digi Device Objects endpoint and the Digi Data Management endpoint.
Digi Device Objects Endpoint
The Digi device objects (DDO) endpoint supports various device configuration parameters. All XBee AT commands are supported in the DDO endpoint. DDO commands can be set / queried either on a local or a remote device. The DDO endpoint is set to a fixed value in all XBee-based products (0xE6).
Digi Data Management Endpoint
The data management endpoint supports other data, including 10 samples, sensor readings, join notifications, and serial data. The data management endpoint is set to a fixed value in all XBee-based products (0xE8).
Profile ID
The DIN profile ID is OxC105. All messages sent to the DDO or data management endpoints should be addressed to the DIN profile ID.
Cluster Definitions
The DIN profile defines the following cluster IDs:
Cluster Name |
Value |
Description |
DDO Endpoint |
DM Endpoint |
Request Cluster IDs |
Serial Data |
0x0011 |
Default cluster ID for transmitting serial data. |
|
X |
Serial Loopback |
0x0012 |
Transmitting data to this cluster ID on a remote causes the remote to send the received data back to the sender. |
|
X |
Node Discovery |
0x0015 |
Broadcast transmission that can discover all devices in the network operating on the DIN profile. (ATND command) |
X |
|
Destination Node Identifier |
0x0016 |
Broadcast transmission used to resolve a node identifier string (ASCII) into the device's 64 bit and 16 bit addresses. (ATDN command) |
X |
|
Remote DDO Request |
0x0021 |
Used to set / query command registers on remote devices. |
X |
|
Network Reset |
0x0022 |
Broadcast transmission that causes all devices on the network, including the coordinator, to leave and join (or form) a new network. |
X |
|
Response Cluster IDs |
I/0 Data |
0x0092 |
Contains IO samples from analog and digital IO lines. |
|
X |
XBee Sensor Samples |
0x0093 |
Includes sample from a 1-wire sensor device. |
|
X |
Node Discovery Response |
0x0095 |
A unicast response sent to this cluster ID indicates addressing and other information about a device in the network. (ATND response) |
X |
X |
Destination Node Identifier Response |
0x0096 |
A unicast response that includes the 64-bit and 16-bit addresses of a device. (ATDN response) |
X |
|
Remote DDO Response |
OxOOA1 |
A unicast sent in response to a remote DDO request. |
X |
|
Additional cluster IDs may be added as needed.
OEM devices that wish to operate in the Drop-in-Networking profile ID are strongly encouraged to respond to the following request cluster IDs:
- Serial Loopback (send a response to the sender)
- Node Discovery (send a node discovery response to be detected on the network)
- Serial Data (receive data from other DIN devices)
- Network Reset (change channels with the rest of the network)
OEM devices may wish to implement ZigBee transmissions using some of the following request cluster IDs to manage or interact with devices in the DIN network:
- Serial Data (send data to other devices on the network)
- Serial Loopback (discovery link quality with other devices on the network
- Node Discovery (to identify other devices in the network)
- Remote DDO request (to read / configure operating parameters on devices in the network)
- Network Reset (change the network channel)
The next section includes a description of how to implement these functions.
Implementing DIN Request Cluster IDs
Serial Data (0x0011)
Data received on this endpoint should be written to the serial UART.
Serial Loopback (0x0012)
When data is received on this endpoint, the receiving device should send a data packet to the originator device. This packet should be sent to the 64-bit and 16-bit addresses of the source, and to the source endpoint. The response should be sent to cluster ID 0x0011.
Node Discovery (0x0015) and Destination Node Identifier (0x0016)
The node discovery cluster ID is used to identify all devices in the network, and the destination node identifier is used to map an ASCII node identifier string (ATND command) into the 64-bit and 16-bit addresses of the device. Both clusters use the same payload format. The command payload is formatted as:
[App ID] + [Delay Time] + [Long Source Address] + [Command] + [Short Source Address] + [Node
Identifier String Length] + [Node Identifier String]
App ID - 1-byte ID value used to track the transmission. If this value is set to 0, a node discovery response transmission will not be sent.
Delay Time - 1-byte value that determines a maximum delay time before sending a node discovery response transmission. This value is measured in tenth of a second units (OxFF = 25.5 seconds). If a node identifier string is present in the node discovery transmission (Node Identifier String Length > 0), the delay time is ignored. Otherwise, each device that receives the node discovery request delays for a random time, up to the Delay Time value, before sending a response. The Destination Node Identifier must always include a node identifier string value, so this field is unused in the destination node identifier case.
Long Source Address - The 64-bit address of the device that sent the node discovery command.
Command - 2-byte value that represents the command. This should be set to 0x4E44 for the node discovery command (ATND), and to 0x444E for the destination node identifier command (ATDN).
Short Source Address - The 16-bit address of the device that sent the node discovery command.
Node Identifier String Length - 1-byte value indicating the number of bytes in the node identifier string payload.
Node Identifier String - A byte array up to 20 bytes that includes the node identifier string, if a particular device is to be discovered. If the node discovery cluster will be used to identify all devices in a network, the node identifier string length should be set to 0, and this field should be omitted.
Example 1 - Send a node discovery to identify all devices in a network. Set the fields as follows:
Destination Endpoint = 0xE6
Cluster ID = 0x0015
Payload:
App ID = 0x01 (arbitrarily chosen)
Delay Time = 0x003C (6 seconds, arbitrarily chosen)
Long Source Address = 64-bit address of sender
Command = 0x4E44
Short Source Address = 16-bit address of sender
Node Identifier String Length = 0
Remote DDO Request (0x21)
A remote DDO request is used to set / query a command register on a remote device. It is formatted as:
[Delay Time] + [Command Options] + [App ID] + [Long Source Address] + [Short Source Address] +
[Command] + [Command Data]
Delay Time - 2-byte value that determines a maximum delay time before sending a response transmission. This value is measured in tenth of a second units (OxFF = 25.5 seconds). If the remote
DDO request is received as a unicast transmission, the delay time is ignored. Otherwise, for a broadcast
DDO request, each device that receives the request delays for a random time, up to the Delay Time value, before sending a response
Command Options - A 1-byte bitfield. All unused bits should be set to 0. The following value is currently defined: 0x02 - Apply changes on remote. If the apply changes option is set, changes to any configuration register are applied to the radio immediately. Otherwise, if the apply changes option is not set, the register value is queued up but not applied (the radio operating parameters are not changed) until changes are applied, either through a subsequent command with the option set, or if an apply changes command (ATAC) is received.
App ID - 1-byte ID value used to track the transmission. If this value is set to 0, a remote command response transmission will not be sent.
Long Source Address - The 64-bit address of the device that sent the remote command request.
Short Source Address - The 16-bit address of the device that sent the remote command request.
Command - 2-byte value of the AT command register that is being queried / set. For example, to query the baud rate on a remote device (ATBD), this should be set to 0x4244 (ASCII 'B', 'D').
Command Data - If an AT command register is being queried, this field should be omitted. Otherwise, to set a command register, this field should contain the command register data, where the data byte(s) are represented in hexadecimal format.
Example 1 - Set the ATDL (destination low address) register to 0xF13B. Set the fields as follows:
Destination Endpoint = 0xE6
Cluster ID = 0x0021
Payload:
Delay Time = 0x003C (6 seconds, arbitrarily chosen)
Command Options = 0x00 (don't apply changes), or 0x02 (apply changes)
App ID = 0x01 (arbitrarily chosen)
Long Source Address ¦ 64-bit address of sender
Short Source Address ¦ 16-bit address of sender
Command -0x444C
Command Data = 0xF13B
Using Digi API:
The following is an example of an explicit Zigbee transmit request frame using these values.
7E 00 26 11 01 00 13 A2 00 40 3C 8B 8E FF FE E6 E6 00 21 C1 05 00 00 00 3C 02 01 00 13 A2 00 40 0A 12 B5 00 00 44 4C F1 3B 32
This Explicit Transmit Request frame would have the same effect as using Digi’s remote AT command frame as follows:
7E 00 11 17 01 00 13 A2 00 40 3C 8B 8E FF FE 02 44 4C F1 3B E2
They both create the same over the air Zigbee protocol frame, and they both would set the DL=F13B on the remote module.
Network Reset (0x0022)
The network reset cluster ID is used to cause remote devices to leave the network layer and attempt to rejoin on another channel. This command currently has no defined payload. XBee modules send 4 bytes, all set to 0x00.
Example - Send the Network Reset command. Set the fields as follows:
Destination Endpoint = 0xE6
Cluster ID = 0x0021
Payload:
4 bytes, all set to 0x00.
Handling DIN Response Cluster IDs
Node Discovery Response (0x0095)
The node discovery response cluster ID is supported on both the data management endpoint, and the DDO endpoint. In both cases, it provides information about a device in the network. The payload for this command response is formatted as shown below:
Destination Node Identifier Response (0x0096)
The destination node identifier response packet is sent in response to a destination node identifier request (0x0016). It is formatted as:
[App ID] * [Command] + [Status] + [Source 16-bit Address] + [Source 64-bit Address] + [Nl String (22 characters)] + [parent's 16-bit address] + [Device Type] + [Status] + [Profile ID] + [Mfg ID] + [Digi Device
Type] + [2 bytes unused, set to 0]
Remote DDO Response (OxOOAl)
The remote DDO response is sent in response to a remote DDO request packet (0x0021). It includes the following fields:
[App ID] + [Command] + [Status] + [Command Data]
Last updated:
Nov 22, 2024