• sales

    +86-0755-88291180

XBee USB Adapter User Guide

Introduction

UART communication board, XBee interface, USB interface

Zigbee network experiment

Zigbee network needs minimum a coordinator and a router. Since the Core2530 (B) module has a built-in Bootloader in default setting, you can download the firmware to the module directly via the serial port.

Notes: In the Zigbee network experiment, you may need to apply two pieces of Core2530 (B) modules, and two pieces of XBee USB Adapter baseboards.

Roles in Zigbee network

1. Coordinator

  • Select a communication channel and a PAN ID to build a network;
  • Allow other routers and end devices to join this network;
  • Route the data in the network;
  • Must be kept power supplying, and must not enter the SLEEP mode;
  • Preserve data for the end devices entered SLEEP mode till them wake up and retrieve the data.

2. Router

  • Must join a Zigbee network before performing data transmission;
  • Allow other routers and end devices to join the network, after it joined one;
  • Route the data in the network upon joining the network;
  • Must be kept power supplying, and must not enter the SLEEP mode;
  • Preserve data for the end devices entered the SLEEP mode till them wake up and retrieve the data.

3. End Device

  • Must join a Zigbee network before performing data transmission;
  • Not allow other devices to join the network;
  • Transmit and receive data thought parent node, unable to route the data in the network;
  • Support battery power supply and SLEEP mode.

Bootloader

1. Introduction

The built-in Bootloader enable users to download the program to the module directly via a serial port without using the CC Debugger. However, the CC Debugger is required in the course of programming the Bootloader into the module. For more detailed information, please refer to the Section How to program Bootloader.

The Bootloaders available for this module: bootloader.hex.

For easier understanding, we call the module with the bootloader.hex as module A in this document.

The module A will execute the valid program immediately, if any, in the Flash memory, after powered up. Otherwise, its LED1 will keep blinking indicating that there is no program in the Flash memory and you can download a new one via the serial port in this case.

The module A with bootloader.hex is suitable for independent application, since it can run the program directly without any external key-press trigger.

2. CC debugger driver installation

  • Unzip the package CC-Debugger_Drivers.7z to the installation directory;
  • Double click the software Setup_SmartRF_Drivers-1.2.0.exe for installation;
  • Click the button Next, and select the installation path;


  • Click the button Install, and wait till the installation finished.


  • When finished, connect the CC Debugger to your PC, and open the option Device Manager in Windows. You may find the option CC Debugger if its driver is installed successfully.


3. How to program Bootloader

  • Install the module to the baseboard, and connect the baseboard and the CC Debugger to your PC with the USB cables;
  • Power up the baseboard, and press the RESET key on the CC Debugger. If the communication is built up successfully, the indicator on the CC Debugger will light up and turn to green, indicating that it is ready to download new programs;
  • Open the SmartRF Studio7, and select the button Flash Programmer on the upper right of the software interface to open another window.


  • Select the option Program CCxxxx Soc or MSP430 in the pulled-down menu What do you want to program?, and choose the image file you want to program within the Flash image box. Here, it is bootloader_wait.hex. And then, click the button Perform actions to start programming.

Core2530-XCore2530-User-Manual-5.jpg

  • When finished, there will be a message "Erase, program and verify OK" appears on the bottom of the window, and the LED1 of the baseboard will keep blinking indicating that program downloading is successful.


Firmware downloading

In this section, we will illustrate how to build a Zigbee network by applying two groups of Core2530 (B) + XBee USB Adapter, one works as a coordinator and the other one works as a router. For easier understanding, we call the coordinator as Group A and the router as Group B.

  • Connect the Group A and the Group B to your PC with the USB cables, respectively. And get their corresponding serial port numbers after powered up.
  • If the firmware has been installed to the Group A or/and the Group B, and valid program in the Flash memory(Router firmware is preloaded by default),the Group A will execute the Router program immediately.Now,if you keep pressing the button Boot,and press the button reset at the same time,the Group A can enter the Bootloader mode, you will see the LED1 keep blinking, and you can download a new one via the serial port in this case.
  • Since August 20, 2016,we released another bootloader file("Core2530-B-Bootloader-v2.hex"),which you can enter the Bootloader mode by connect the vcc and p2_1,you will see the LED1 keep blinking, then you can unconnected the p2_1,and download a new one via the serial port in this case.
  • Start the software SBDemo.exe for firmware downloading.


  • Enter the corresponding serial port of the Group A in the COM Port box, and click the button … to select the firmware file Coordinator.bin in the Image File box. Then, click the button Load Image to start downloading.



  • For the Group B, select the firmware file Router.bin. The file download method is the same as that of the Group A.
  • Start two serial debug assistants, and enter the serial port number of the Group A to one of the assistants and the port number of the Group B to the other one. Then, set the Baud rate: 38400, Data bit: 8 and Stop bit: 1;
  • Reset the Group A,you will see the message "Coordinator ok" displayed in the window.
  • Reset the Group B, you will see the message ""Router ok" displayed in the window, if the Group B, severing as a router, has joined the network successfully. Now, the Zigbee network is running. (If no external antenna is applied to the Group B, it is recommended to place the antenna interface of the Group B close to the antenna interface of the Group A, in order to ensure the wireless network signal is strong enough.)

Networking communicaiton

The operations presented below can be done directly by UART serial communication.

Broadcast communication mode

Description: Under this mode, a device can broadcast messages to all the other devices in the Zigbee network.

Format: Data to be sent

EXAMPLE:

To broadcast the message "Hello Waveshare" throughout the network from a device, the relative operations are as follow:

Enter the message to be broadcasted into the character string input box, and click the button Send:

Hello Waveshare

All the other devices, including routers and coordinators, will receive this message in their character string receiving boxes.

Hello Waveshare

Point to Point communication

Description: It is the communication between any two nodes in the same network.

Format: P2P Target address Data to be sent

EXAMPLE:

To send the message "Hello World " from the module A to the module B, the relative operations are as follow:

Read the short addresses of the module A and the module B by the command

AT+GETADDR

Enter the command AT+GETADDR into the character string input box:

AT+GETADDR

Then, you may get the addresses of the module A and the module B:

Module AADDR=0x50F5
Module BADDR=0x3CB8

On the module A, apply P2P command to send the message to the module B:

P2P 3CB8 Hello World

Except the module B, other nodes and routers in the network will not receive the message:

Hello World

Point to Multipoint communication

Description: A node sends data to the specified nodes in the same network.

Format: O2M Quantity of target address Target address 1 Target address 2 … Data to be sent

EXAMPLE:

To send the message "Hello World" from the module A to the module B and the module C, the relative operations are as follow:

Read the short addresses of the module A, the module B and the module C by the command AT+READ_ADDR

Enter the command AT+GETADDR into the character string input box:

AT+GETADDR

Then, you may get the addresses of the module A, the module B and the module C:

Module AADDR=0x50F5
Module BADDR=0x3CB8
Module CADDR=0x143E

On the module A, apply O2M command to send the message to the module B and the module C:

O2M 2 0001 143E Hello World

Except the module B and the module C, other nodes and routers in the network will not receive the message:

Hello World

Working with PC

Introduction

ZBSCOMM is the PC software for Core2530/XCore2530/Core2530 (B) developed by Waveshare. With ZBSCOMM, you can easily configure the module settings and read the current configurations of the module via your PC. Of course, you can control the module by AT command as well, if you do not want to use the PC for configuration.


AT commands

Table 1: Restart the module

CommandAT+RESTART
Inputted parametersNone
Return valueRESTART OK
RemarksWhen the message "RESTART OK" is returned, the module will restart

Table 2: Restore the factory settings

CommandAT+RESET
Return valueSETUART OK SETCHN OK SETPANID OK
RemarksThe settings listed below will be effective after the module restarts.

Factory settings:

PANID : 0xFFFF (random)

CHANNEL: 11/2405MHz

UART: 0 (select COM port 0)

Baud rate: 38400

Flow control: 0 (None)

Table 3: Serial port information configuration

CommandAT+SETUART Serial port number Baud rate Flow control (The command parameters are separated by spaces)
FunctionSet the serial port number, Baud rate and flow control
Inputted parametersSerial port number: it should be set to "0" to select COM Port 0 for configuration

Baud rate: 9600-115200

Flow control: it should be set to "0" to turn off flow control

Return valueSuccess: SETUART OK

Failure: SETUART ERR

RemarksFactory settings: UART: 0 (select COM Port 0)

Baud rate: 38400

Flow control: 0 (None)

EXAMPLE:

To set the serial Baud rate, you only need to enter "AT+SETUART 0 38400 0" into the character string input box, and click the button Send. The new settings will be effective after the module restarts. The relative operations are as follow:

Enter "AT+SETUART 0 38400 0" into the character string input box:

AT+SETUART 0 38400 0

Then, you may receive "SETUART OK" in the character string receiving box:

SETUART OK

Table 4: Channel setting

CommandAT+SETCHN Channel
FunctionSet the communication channel of the Zigbee network
Inputted parametersChannel: range from 11 to 26
Return valueSuccess: SETCHN OK

Failure: SETCHN ERR

RemarksIn a network, all the modules should be set to a same channel for networking. By default, the communication channel is allocated by the system automatically.

Factory setting: 11/2405MHz

Table 5: Set the PAN ID

CommandAT+SETPANID PAN ID
FunctionZigbee protocol use a 16-bit PANID to identify the network
Inputted parametersPANID: range from 0x0000 to 0x3FFE
Return valueSuccess: SETPANID OK

Failure: SETPANID ERR

RemarksIf PANID=0xFFFF: the device will build up or join an optimum network.

If PANID≠0xFFFF: the device will build up or join a network with a given PANID.

Normally, PANID comes up after determining the communication channel

Table 6: Read all the configuration information

CommandAT+GETCFG
FunctionRead all the configuration information
Inputted parametersNone
Return valueUART: serial parameters (Baud rate, Flow control)

PANID: Local area network identifier

ADDR: the short address of the device

FADDR: the short address of the parent device

CHANNEL: the communication channel of the module

Table 7: Read the serial configuration information

CommandAT+GETUART
FunctionRead the serial configuration information
Inputted parametersNone
Return valueSerial port number: 0/1 (serial port 0/serial port 1)

Serial Baud rate: 9600-115200

Flow control: 0/1(None/flow control)

Table 8: Read the current communication channel information

CommandAT+GETCHN
FunctionRead the current communication channel information of the module
Inputted parametersNone
Return valueCHANNEL: channel value

Table 9: Read the current PAN ID of the module

CommandAT+GETPANID
FunctionRead the current PAN ID of the module
Inputted parametersNone
Return valueSuccess: PANID=0xxxx;

Failure: PANID=0xFFFE


Table 10: Read the short address of the device

CommandAT+GETADDR
FunctionRead the short address of the device
Inputted parametersNone
ReturnADDR=0xXXXX;
RemarksShort address length: 16 bits

This command is used in P2P or O2M communication

Table 11: Read the short address of the parent node

CommandAT+GETFADDR
FunctionRead the short address of the parent node
Inputted parametersNone
Return valueFADDR=0xXXXX;
RemarksShort address length: 16 bits


Table 12: Read the IEEE address of the device

CommandAT+GETIEEE
FunctionRead the IEEE address of the device
Inputted parametersNone
ReturnIEEE=xx xx xx xx xx xx xx xx
RemarksThe IEEE of the device is a 64-bit address

Table 13: Read the IEEE address of the parent node

CommandAT+GETFIEEE
FunctionRead the IEEE address of the parent node
Inputted parametersNone
Return valueMY_FIEEE=xx xx xx xx xx xx xx xx
RemarksThe IEEE of the parent node is a 64-bit address