Over the air programming -- OTA


The concept of Wireless Programming or commonly know as Programming Over the Air (OTA) has been used in the past years overall for the reprogramming of mobile devices such as cell phones. However, with the new concepts of Wireless Sensor Networks and the Internet of Things where the networks consist of hundreds or thousands of nodes OTA is taken to a new direction.
Libelium provides an OTA method based on FTP transmissions to be used with 4G and WiFi modules.

OTA with 4G/WiFi modules via FTP

It is possible to update the Waspmote's program using Over The Air Programming and the following modules: 4G or WiFi module.
The Waspmote reprogramming is done using an FTP server and an FTP client which is Waspmote itself. The FTP server can be configured by Meshlium. Otherwise, the user will have to setup an FTP server.
OTA via FTP protocol
There are two basic steps involved in OTA procedure:
Step 1: Waspmote requests a special text file which gives information about the program to update: program name, version, size, etc.
Step 2: If the information given is correct, Waspmote queries the FTP server for a new program binary file and it updates its flash memory in order to run the new program.
OTA steps via FTP protocol

Setting the FTP server configuration

The FTP server that Waspmote connects to needs a specific configuration so as to OTA work properly. There are two ways to set up the FTP server:
Extern user's FTP server: The user sets up an FTP server following the specific settings which are described within OTA Guide.
Meshlium FTP server: There is a specific plugin which allows the user to setup the FTP server automatically indicating the new binary to be downloaded.