12.5.3 Zigbee Over The Air Update Demo
This section discusses the Zigbee Over the Air Update(OTAU).
Hardware Requirements
Two or more WBZ451 Curiosity boards
USB Cables
PC
Software Requirements
MPLABX IDE/IPE
MicrochipUtilityTool.exe
Zigbee OTAU Server and Client Image(*.hex)
Zigbee OTA Image(*.zigbee)
Terminal Emulator like TeraTerm
Procedure
Program, Zigbee OTA Server Image into One WBZ451 Curiosity board
Program, Zigbee Client Image into One or more WBZ451 Curiosity Boards
Connect Server and Client/Clients board with USB to PC and start TeraTerm for each board
Type resetToFN on every board’s Tera Term
Wait for network to establish. The following type of messages will appear on Tera Term
Device joined: Address 0xABCD MACID 0x000000000000EFBA ExtendedPANID 0x0000000000003578
Device joined: Address 0x1234 MACID 0x000000000000QRST ExtendedPANID 0x000000000000789A
- Note: Numbers above are for illustration purposes only. These numbers will be different.
Close Server Terra Term
Start MicrochipUtilityTool.exe
Follow steps mentioned in the following picture. The demo shows two devices
Click on Zigbee OTAU Tab
Select Baud Rate as 115200 from the drop-down menu
Select Zigbee OTA Server Serial Port from the drop-down menu
Click on Connect/Disconnect
- Click Ok on popup windows
Wait for connected device to appear on the device list
Click on Select File from each device list and select *.zigbee file for each device(up to 5)
Click on Zigbee Update button
Image keeps transferring frame by frame to each client node. Progress bar keep advancing. % Progress keeps advancing for selected device in the device list till all reach 100% for every selected client node. OTA Status shows OTAU Done. Tera Term connected with client shows Image Transferred Successfully and reboots after 5 sec into new Image as last command sent from Tool is reboot client devices after 5 seconds.
Summary
Maximum 5 client can be updated at a time. This limitation comes from Zigbee Server.
Maximum 48 bytes payload can be sent in a frame at a time
Out of Full packet size of 89 bytes, 39 bytes are header.
It takes long time to transmit all the image data to client
setMinimunBlockPeriod xx can be used set interpacket timing. It is recommended xx should be > 100 ms
The Image used for this demo has 200 ms interpacket timing. Default is set to 1000 ms interpacket timing. It takes 32 min 17 sec to transmit entire image, Image Size = 307784 bytes.
Once the OTAU is started, File transfer can be initiated into new nodes appeared in the device list.
Time out (status = 0x95) in client node is not transmitted to OTA Server.
A 30 second timeout has been introduced in the Tool to exit OTA process for not getting any update from the OTA server during OTA process.