-105-
v5.8
Over the air programming – OTA
OTA with 802.15.4/ZigBee modules
The idea is simple. When the programmer (normally the Gateway) sends a new program it is stored in the SD card. A second
command “start_new_program” is needed in order to make them start. Then, the nodes copy the program from the SD card to
the Flash memory and start the new program.
Steps:
•
Locate the node to upgrade
•
Check current software version
•
Send the new program
•
Reboot and start with the new program
•
Restore the previous program if the process fails
OTA modes:
•
Unicast: Reprogram a specific node
•
Multicast: Reprogram several nodes at the same time sending the program just once
•
Broadcast: Reprogram the entire network sending the program just once
Topologies:
•
Direct access: when the nodes are accessed in just one hop (no forwarding of the packets is needed).
•
Multihop: when the nodes are accessed in two or more hops. In this mode some nodes have to forward the packets sent by
the Gateway in order to reach the destination
Protocols supported:
•
802.15.4 - 2.4GHz (Worldwide)
•
ZigBee - 2.4GHz (Worldwide)
•
DigiMesh - 2.4GHz (Worldwide)
•
RF - 868MHz (Europe)
•
RF - 900MHz (US, Canada, Australia)
Storage System:
Once we have sent the program to Waspmote it will store it in the internal memory, a 2GB SD card.
If we have into account that the maximum size for a program is 128KB, this means we can store thousands different firmware
versions inside each node.
Encryption and Authentication:
All the data which is sent in the OTA process can be secured by activating the encryption algorithm AES 128b which works in
the link layer. As well as this, a second pass key is needed to be known by the OTA programmer (the Gateway) in order to be
authenticated and validated by each node before starting with the OTA action requested.
OTA-Shell:
The OTA-Shell application can be used in Windows, Linux and MacOS. It allows to control in a quick and powerful way all the
options available in OTA. If you are using Meshlium as the Gateway of the network, the OTA-Shell environment comes already
preinstalled and ready to use. This is the recommended way when deploying a real scenario.