Do you have a question about the Digi XBee 3 ZigBee and is the answer not in the manual?
Brand | Digi |
---|---|
Model | XBee 3 ZigBee |
Category | Control Unit |
Language | English |
Learn how to use XCTU, a multi-platform program for interacting with Digi RF devices, for setup and configuration.
Preserve configuration parameters after restoring defaults, useful for device identification or critical settings.
Create a custom configuration used as a new factory default for manufacturing or ensuring features are always enabled.
Update firmware on the XBee 3 Zigbee RF Module serially using XMODEM or XCTU.
Steps for uploading a firmware image through the UART interface using the bootloader.
Information on available software libraries, including XBee Java and Python libraries.
Application to inspect and manage RF networks created by Digi XBee devices.
Program multiple Digi Radio Frequency (RF) devices simultaneously using hardware and software.
Steps to add a local or remote XBee device to XCTU for firmware updates.
Procedure to update firmware using XCTU, selecting firmware, function set, and version.
Overview of MicroPython as an open-source programming language for small devices.
Information on accessing MicroPython prompt from the XBee 3 Zigbee RF Module via UART.
Steps to configure the XBee 3 Zigbee RF Module to enter MicroPython mode using XCTU.
Instructions for using the MicroPython Terminal in XCTU to communicate with the module.
Examples demonstrating basic MicroPython functionality on the XBee 3 Zigbee RF Module.
Examples for networking and communication using MicroPython with the XBee 3 Zigbee RF Module.
Procedure to exit MicroPython mode in XCTU and return to a standard operating mode.
Alternative terminal programs like Tera Term (Windows) and picocom (Linux) for MicroPython communication.
Using the help() command in MicroPython for online assistance and usage examples.
Password-protect communication between nodes, enabling encrypted and readable sessions.
Secure AT commands against unauthorized remote configuration using SA bits, SRP Salt, and Verifier.
Steps for a client to authenticate with a server and send data securely.
How a server can terminate an active session with a client.
Details on API frames used for controlling and observing secure sessions.
Describes error messages encountered when sending secure packets.
Information on storing files in internal flash memory for XBee 3 Zigbee RF Module firmware versions 1006 and later.
Internal flash file system structure appearing as /flash, including default lib directory for MicroPython modules.
Interpretation of file and directory paths, including absolute and relative paths, and case-insensitivity.
File system limitations including file renaming, open file count, and directory creation.
Using XCTU's File System Manager for uploading, downloading, renaming, and deleting files.
Steps to enable BLE on XBee 3 Zigbee RF Module and verify the connection.
Enabling BLE and setting a password for secure connection and configuration via BLE.
Instructions to download and install the Digi XBee Mobile application for device management.
Using the Digi XBee Mobile application to verify BLE status and configure the device settings.
Periodic BLE advertisements and listed BLE services when an XBee device connects.
Standard Device Information Service providing Manufacturer, Model, and Firmware Revision.
Configuring XBee 3 Zigbee RF Module through BLE using API frame requests and responses.
Characteristic for sending API frames via BLE, with UUID and Write permissions.
Characteristic for receiving API responses via BLE, with UUID and Readable/Indicate permissions.
How the XBee 3 Zigbee RF Module interfaces with a host via UART, level translator, or SPI.
System data flow in a UART-interfaced environment, illustrating signal connections and data flow.
Asynchronous serial signal transmission, including start/stop bits and data bits.
Internal buffers for collecting serial and RF data, including receive and transmit buffers.
Storing incoming serial data until processed; data is discarded if buffer is full.
Collecting RF data for UART transmission; packet drops occur if buffers are full.
Using RTS and CTS pins for flow control to manage serial data transmission.
CTS pin signals host to stop sending serial data when receive buffer is nearly full.
RTS pin controls device's serial transmit buffer; de-asserting RTS high stops data transmission.
Serial break signal (DIN low) for five seconds resets the device and boots into Command mode.
I2C master operation support using MicroPython.
SPI implementation details, signals, and full duplex operations.
SPI full duplex protocol operation, handling of valid and invalid data in both directions.
Sleep modes on SPI, controlled by SPI_SSEL pin instead of SLEEP_REQUEST.
Forcing SPI mode on through-hole devices and using SPI_SSEL on SMT modules.
Recovering a device to UART operation by holding DIN/CONFIG low at reset time.
Device acts as a serial line replacement, queuing UART data for RF transmission.
Buffering and packetizing serial data for RF transmission based on RO parameter and command sequence.
Frame-based API for interacting with networking capabilities, defining operations or events in frames.
Firmware interprets incoming characters as commands for configuration via AT commands.
Sequence (+++) to switch into Command mode, device responds with OK.
Troubleshooting steps for entering Command mode, often due to baud rate mismatch.
Syntax for sending AT commands, using AT prefix, two-character command, and optional parameter.
Changes take effect after applying changes using AC, WR, or exiting Command mode.
Saving changes to non-volatile flash memory using WR command.
Exiting Command mode using CN command or by timeout.
Device listens for valid data on RF and serial ports when not transmitting or receiving.
Ensures 16-bit network address and route to destination are established before transmitting.
Device sends received data over the air out the serial port.
Entering low power consumption states when not in use, supporting pin sleep and cyclic sleep.
Overview of Zigbee as an open standard for low-power wireless mesh networking based on IEEE 802.15.4.
Description of Zigbee layers: PHY, MAC, Network (NWK), and Application (APL) layers.
Explanation of Zigbee networking concepts, including device types (Coordinator, Router, End Device).
Responsibilities of the coordinator in forming a network, security policy, and channel selection.
Router functionalities including network discovery, joining, and authentication.
End device participation in Zigbee networks, including discovery, joining, and low power modes.
Description of Zigbee addresses: 64-bit device addresses and 16-bit network addresses.
Addressing using application profiles, cluster IDs, and endpoints for interoperability.
Methods for sending Zigbee data packets: unicast and broadcast transmissions.
Using indirect addressing to send messages via binding table entries.
Broadcasting messages to destination devices with active endpoints associated with a group ID.
Breaking large data packets into multiple RF transmissions for reassembly by the receiver.
Overview of Zigbee routing methods: Ad hoc On-demand Distance Vector, Many-to-One, and Source Routing.
Establishing reliable bi-directional links by periodically sending link status messages.
Mesh routing to establish routes between source and destination devices using Ad-hoc On-demand Distance Vector.
Optimization for networks where many devices send data to a central collector or gateway.
Collector stores and specifies routes for remotes, improving efficiency in large networks.
Routing and authentication of encrypted packets, adding latency but preventing replay attacks.
Determining maximum payload size based on message type, AP setting, encryption, and source routing.
Factors affecting throughput in a Zigbee network, including hops, encryption, and sleeping devices.
Zigbee device objects (ZDO) for device and service discovery and network management.
Sending ZDO commands as payloads in explicit transmit API frames.
Handling incoming ZDO commands and responses, configuring AO for pass-through.
Understanding unicast and extended timeouts for reliable data delivery to devices.
Zigbee security using 128-bit AES, supporting authentication and key management.
Encrypts/decrypts over-the-air messages; shared by all network devices.
Provides extra encryption at APS layer for end-to-end security during joining and transmissions.
Simple security method using a shared KY value across nodes for easy network deployment.
Allows unsecure devices to join a secured network using a default link key.
Secure method using device-specific install codes for generating link keys.
Limited time window for network permit joining, controlled by NJ parameter.
Zigbee security models: centralized and distributed security for key management.
One node acts as centralized key authority, managing distribution and join authorization.
All routers have network key copies; act as trust centers for joining devices.
Process for devices to obtain network key copy for secure network communication.
Example configuration for forming a secure Zigbee 3.0 network.
Deploying a secure network by preconfiguring devices with a known link key.
Registering a joining node to the trust center when the link key is unknown.
Registering a device using install codes for the highest level of security.
Removing registration information from a distributed trust center to manage key table entries.
Combining security features and registration for simplified deployment and authorized device joining.
Determining optimal placement of XBee devices for reliable network links.
Measuring network performance by sending unicast data to test link quality.
Measuring received signal strength using the DB command and RSSI/PWM pin.
Discovering devices on a network using ND command for network discovery and ZDO discovery.
Hardware features for device deployment and commissioning, including pushbutton and LED behaviors.
Supports three binding request messages: End Device Bind, Bind, and Unbind.
Managing Zigbee group table state with API commands for multicast addressing.
End device behavior in Zigbee networks, including finding a parent and sending poll requests.
Router/coordinator maintenance of child tables and buffering incoming data for end devices.
Poll timeout for mobile end devices; parent removes device if no poll request within timeout.
Child table timeout controlled by ET command; determines parent buffering time.
Factors affecting packet buffer usage, including discoveries, broadcasts, and unicast transmissions.
Handling unicast transmissions to end devices differently due to their sleep modes.
Configuration of four different sleep modes for XBee end devices.
Sleep and wake control using DTR/SLEEP_RQ pin (Micro pin 9/SMT pin 10/TH pin 9).
Diagrams illustrating sleep pins for Surface-mount and Through-hole modules.
Configuration requirements for parent/remote devices and adequate transmission timeouts.
Device sleeps for specified time, wakes to poll parent, and returns to sleep.
Sleep timer initiated upon receiving serial or RF data; restarts with new data.
Configuring sleep period using SP, SN, and SO commands.
Sleeps for multiple SP times, extending sleep up to several days.
Preconditions for maintaining low current draw during sleep.
Steps for accurately measuring sleep current to estimate battery life.
Disabling brownout detectors during sleep modes for minimal sleep current.
Adding a capacitor to compensate for current draw during momentary wake cycles.
Using PR and PD commands to enable/configure internal pull-up/down resistors for I/O lines.
End device transmits data to parent after waking and joining a network.
End device polls parent for buffered data and resumes polling after receiving data.
Configuring end devices to send I/O samples upon waking or change detection.
Using D0 (DIO0/AD0) to wake end devices for 30 seconds via pushbutton.
End devices verify parent connectivity by monitoring link and attempting to find new parent if disconnected.
End device obtains a new parent in the same network if permit-joining is disabled.
Configuration requirements for routers and coordinators for RF packet buffering and timeouts.
Buffering packets for end devices until they wake or timeout occurs.
Parent timestamps end device poll requests; discards packet if no poll within time.
End device polls faster when receiving RF data, gradually decreasing rate.
Timeout for remote routers and end devices, considering hops and sleep periods.
End devices sleeping < 30 seconds can receive data anytime; match SP on all devices.
End devices sleeping > 30 seconds require indication when awake to receive data.
Sample configurations for different sleep modes and scenarios.
Digital I/O lines configuration (DIO0-DIO12, P0-P4) for input, output, or sampling.
Analog input (ADC) and PWM output support for D0-D3 and P0-P1 pins.
Monitoring pins configured as digital input/output or analog input to generate I/O sample data.
Format of I/O data, including digital and analog channel masks and sample data.
I/O samples transmitted via API frames; requires API mode on receiver.
Querying current I/O states using IS command, improving battery life and network performance.
Transmitting I/O samples to a remote device at a periodic rate using IR command.
Transmitting data samples immediately when a monitored digital I/O pin changes state.
How I/O lines behave during sleep mode, optimizing for minimal sleep current.
AT commands used for forming and joining Zigbee networks.
Read-only AT commands providing information about the attached Zigbee network.
AT commands used to set initial security parameters for network formation/joining.
AT commands for communication with a Zigbee network after association.
AT commands affecting the RF interface of the device.
Commands affecting the UART serial interface, including baud rate and parity.
Commands affecting Command mode operation, such as exit, timeout, and guard times.
Commands related to using MicroPython on the XBee 3 Zigbee RF Module.
Commands to access the file system via Command mode.
AT commands related to Bluetooth Low Energy (BLE) functionality.
Commands to enable and configure low power sleep modes of the device.
Commands to configure various I/O lines available on the XBee 3 Zigbee RF Module.
AT commands to enable or adjust I/O sampling from the local device.
User-defined parameters to store the physical location of the deployed device.
Read-only commands providing device diagnostics like firmware and hardware versions.
Executable commands for memory access, including applying changes and writing to flash.
Commands to assign custom defaults, restore defaults, and clear custom defaults.
AT commands that enable Secure Session functionality.
Using Frame ID to correlate outgoing frames with associated responses.
API frame exchange for AT command requests and responses.
API frames exchange for sending RF data and receiving data packets.
API frame exchanges for sending remote AT commands.
API frame exchanges for sending a source routed transmission.
API frame exchanges for registering a joining device to a trust center.
Structure of an API frame: Start delimiter, Length, Frame data, and Checksum.
Recommended API mode structure with Start delimiter, Length, Frame data, and Checksum.
API mode allowing escaped control characters for improved reliability.
Data bytes requiring escaping (0x7E, 0x7D, 0x11, 0x13) and how to escape them.
Example demonstrating how to escape a character in an API frame.
Specifies the number of bytes in the frame data field.
Contains information a device receives or transmits; structure depends on API frame type.
Methods to calculate and verify API frame checksums for data integrity.
Using explicit transmit API frame (0x11) to send ZDO commands for network management.
Using API to send ZCL commands for attributes and clusters in public profiles.
Sending commands in public profiles like Smart Energy and Home Automation using Explicit Transmit API frame.
Frame to query or set command parameters on the local device.
Frame to set new parameter values that are applied later with AC command.
Frame to send payload data as an RF packet to a specific destination.
Frame similar to Transmit Request, but includes application layer addressing fields.
Frame to query or set device parameters on a remote device.
Frame to create a source route in the device for optimized packet traversal.
Frame to securely register a joining device to a trust center using link key or install code.
Frame to authenticate a Bluetooth connection and unlock AT command frame processing.
Frame used to send user relay data to MicroPython, BLE, or serial port.
Response frame indicating authentication success or failure for BLE connection.
Frame emitted when user relay data is received from serial port, BLE, or MicroPython.
Indicates success or failure of a Secure Session Control frame attempt.
Provides additional diagnostic information beyond traditional Modem Status frames.
Detailed trace messages for various Verbose Join status codes.
Contains routing information for remote devices, used for Create Source Route frame.
Response to Register Device frame, indicating registration success or failure.
Broadcast message from concentrator to create route table entries for sending data.
Indicates failure status for User Data Relay frame; other transmit requests use 0x8B.
Standard API Rx Indicator frame for sending received RF data out the serial interface.
Sends received RF packet with source/destination endpoints, cluster ID, and profile ID.
Sends received I/O sample frames from remote devices.
Indicates a device received a node identification message.
Response to a Remote Command Request frame, sending AT Command Response.
Details on .ota, .otb, and .fs.ota file formats for firmware and file system upgrades.
FOTA image blocks are received and stored in a separate internal flash slot for validation.
Messaging sequence between Server (updater) and Client (target) for OTA upgrades.
Server sends Image Notify message to client about update image presence.
Format of the Image Notify Request API frame.
Client sends request to server for firmware image details.
Server response indicating image suitability for client upgrade.
Client requests bytes of FOTA image from server, maintaining synchronization.
Server response confirming retrieval of image data with SUCCESS status.
Client sends request after verifying firmware image integrity.
Server response indicating time for device to upgrade to new image.
Status codes for ZCL OTA commands, indicating operation success or failure.
Steps to update file systems remotely over air, requiring key generation and image creation.
Steps to perform file system updates OTA using XCTU.
Using XCTU or OpenSSL to generate ECDSA signing keys.
Setting the public key on the target device in XCTU's File System category.
Generating a signed file system image using OpenSSL and the private key.
Steps to perform OTA file system updates via XCTU.
Performing file system updates OTA using OEM tools.
Generating ECDSA signing keys using secp256r1 curve parameters via OpenSSL.
Parsing public key files to use when setting FK on the XBee 3 device.
Creating an OTA file with header, sub-element tag, and padded signed image data.
Performing OTA file system updates similar to FOTA upgrades.