Introduction

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;

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.

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 A

ADDR=0x50F5

Module B

ADDR=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.

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 A

ADDR=0x50F5

Module B

ADDR=0x3CB8

Module C

ADDR=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

Command

AT+RESTART

Inputted parameters

None

Return value

RESTART OK

Remarks

When the message "RESTART OK" is returned, the module will restart

Table 2: Restore the factory settings

Command

AT+RESET

Return value

SETUART OK SETCHN OK SETPANID OK

Remarks

The 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

Command

AT+SETUART Serial port number Baud rate Flow control (The command parameters are separated by spaces)

Function

Set the serial port number, Baud rate and flow control

Inputted parameters

Serial 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 value

Success: SETUART OK

Failure: SETUART ERR

Remarks

Factory 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

Command

AT+SETCHN Channel

Function

Set the communication channel of the Zigbee network

Inputted parameters

Channel: range from 11 to 26

Return value

Success: SETCHN OK

Failure: SETCHN ERR

Remarks

In 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

Command

AT+SETPANID PAN ID

Function

Zigbee protocol use a 16-bit PANID to identify the network

Inputted parameters

PANID: range from 0x0000 to 0x3FFE

Return value

Success: SETPANID OK

Failure: SETPANID ERR

Remarks

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