21
Checking Zigbee network What to do if the system is not working…

Checking Zigbee network What to do if the system is not working…

Embed Size (px)

Citation preview

Checking Zigbee network

What to do if the system is not working…

Basic system structure•UART•Zigbee

• 當 zigbee的系統出現問題時 , 必須步一步把東西拆開來驗證

• 在 arduino上驗證 sensor是否正確 , arduino是否有把資料正確的從 uart輸出…

• 這裡我們要說明如何確認 zigbee 網路有正確的工作

Item needed

• We need to connect zigbee to PC, and use terminal to check the network.– USB to 5V UART• here we use a FTDI one

– Terminal: here we use docklight 1.9• Free version can be down load here:

http://www.docklight.de/

Connection between 5V FTDI and kittyBee

Connect :GND to brown 5V to read orange to FTDI TXD yellow to FTDI RXD

Connecting brown to GND on kittybee

Here we use to GND pin on cc debugger header.You can use also the other GND pins on headers.

Connecting Red to 5V powerWe use 5V from FTDI and connect to power source as pic.

Please notice the pin position, only low 2 pins are usable for power input on kittybee

Connecting UARTConnect FTDI TXD(orange) to Z_RX_5VFTDI RXD(yellow) to Z_TX_5V

Do not connect any 5V signal to 3.3V signal of zigbee, it could damage zigbee chip.

Plug in FTDI

Plug in your FTDI into USB, it should appear in hardware manager as a USB Serial Port(In this case COM115)

We first plug in the Coordinator

Docklight operation

• Basic docklight operation and set up can be found here:

• https://code.google.com/p/kittybee/wiki/SetUpSimpleZigBeeNetwork

Start up docklight, and press start, we should first send the FE 00 01 , ping node command to see the status of module.Detail of command set can be found in another document.

2013/6/17 11:38:38.764 [TX] - FE 00 01 00 01 2013/6/17 11:38:38.783 [RX] - FE 10 01 0F 6C 69 CB 01 00 4B 12 00 FF FF 02 00 00 00 00 8A Here we can check the PAN ID (FF)and channel (02 00 00 00)of coordinator. And check the byte before checksum(8A in this case). 00 = coordinator01 = router in connection02= end device in connection05= router or end device not connected to network.

FF FF is a special PANID TI zigbee pro stack, it’s better to avoid it.We can use FE 00 F2 to change PAN ID

Example of changing PANIDHere are few example command to change PANID:1. Chage to 00 01

FE 00 F2 02 00 01 F12. Chagne to 00 02

FE 00 F2 02 00 02 F23. Change to 00 03

FE 00 F2 02 00 03 F3

For example change to 00 01

2013/6/17 11:51:52.322 [TX] - FE 00 F2 02 00 01 F1 2013/6/17 11:51:52.362 [RX] - FE 10 F2 02 4F 4B E4

if module return 4F 4B, which are OK in ASCII, the panID has been changed. We can verify with 00 01 command:2013/6/17 11:53:24.076 [TX] - FE 00 01 00 01 2013/6/17 11:53:24.104 [RX] - FE 10 01 0F 6C 69 CB 01 00 4B 12 00 01 00 02 00 00 00 00 8B

Please note that the PAN ID high low byte is reversed in 00 01 command

Who has been connected?Since coordinator remember connected

children,We can use FE 00 13 command to see who has been connected:

2013/6/17 11:55:38.245 [TX] - FE 00 13 00 13 2013/6/17 11:55:38.267 [RX] - FE 10 13 07 03 AB 34 DC 48 BF 20 93 The byte after 10 13 indicate how many devices has been connected to this coordinator

and followed by their short address.In this case, there has been 03 device connected, their short address are : AB34, DC48

and BF20.

Note: short address is the base of a zigbee network, every one in the network has unique short address. Coordinator has always 00 00 as short address.

If the return of coordinator is correct on 00 01 and 00 13, we assume the coordinator is working correctly.

Plug in the child

• Connection as same as we did for coordinator.• Open another docklight terminal to connect

device.

Com port are different, we can use FE 00 01 command to see which one is coordinator and which one is end device.

Make sure they are on the same channel and have the same PAN ID.

And if it shows 05 in the return of end device, it means the device is not connected.

To check if device is connectedFE 00 05 is used to get the short address of the device, compare to the short address

in the child list of coordinator, we can tell if the device has been connected to coordinator.

From coordinator• 2013/6/17 12:08:18.873 [TX] - FE 00 13 00 13 • 2013/6/17 12:08:18.890 [RX] - FE 10 13 07 03 AB 34 DC 48 BF 20 93 From device:• 2013/6/17 12:10:35.890 [TX] - FE 00 05 00 05 • 2013/6/17 12:10:35.907 [RX] - FE 10 05 02 BF 20 88

Passing dataBy default, we can broadcast data from coordinator, and also feedback data from device to coordinator. We should test if data is passing correctly by simply input data through terminal.

For example we sent:2013/6/17 12:18:02.560 [TX] - 11 11 11 11 11 11 11 11

we should see out put from device: 11 11 11 11 11 11 11 11

Trouble shoot

There several possibilities that device lost connection, we can know it from the last byte of FE 00 01 return, or the short address in the child list.

The easiest way is to issue FE 00 02,network reset command to device, and try to get it connect to network.

When sending 00 02 command, module will not return anything, it will erase previous network data, and reset, and start to find correct network to join. So we should check the module with FE 00 01 few seconds after FE 00 02

example

• 2013/6/17 12:28:00.014 [TX] - FE 00 02 00 02 • 2013/6/17 12:29:52.975 [TX] - FE 00 01 00 01 • 2013/6/17 12:29:53.007 [RX] - FE 10 01 0F 72 67 CB 01 00 4B

12 00 01 00 02 00 00 00 02 99 Re join network would require few seconds, sometimes, the

cause of connection problem is not at device side, so we can slso issue a FE 00 02 on coordinator side to reset the whole network.

Still not working…

• If FE 00 02 can’t save the networking, and the PAN ID, channel are all correct, power on/off the module is also worth a try.

• If none are working, re load zigbee firmware is often the next step.