A wireless sensor network (WSN) is a kind of network that contains nodes communicating wireless. It has sensors that allow to obtain information directly from the environment in order to learn or act on it.
Since the use of this wireless networks is growing, it appears the need of creating cognitive networks which are able to learn from the environment and adapt themselves efficiently.
The B105 Electronic Systems Lab research group developed a test-bench containing some nodes called ‘cognitive New Generation Device (cNGD)’. Currently, each of them is programmed by connecting it physically to a computer. However, this situation produces a lot of problems, like the required time to perform the node programming or the necessity of reprogramming a node that is out of reach. This is the main reason why a wireless programming method becomes very handy.
The aim of this project is to improve the already available Bootloader getting a better reception and to manage the available random access memory. For this purpose, a Wake On Radio (WOR) board was used to wake up a specific cNGD node and then work on this node independently. However, some modifications were required due to hardware and software limitations. Even though the node has three transceivers on ISM (Industrial, scientist and medical) free bands, it was used the 434 MHz band for the WOR and the 2.45GHz band for the Bootloader due to its speed.
In addition, an graphical interface was implemented for the test-bench in order to see the status of the cNGD nodes, the code transmission and the connection processes. It also has another tab for the choice of the cNGD nodes to wake up and reprogram. This interface is a web application with the server side implemented with the Python programming language, so we can reach it only with an internet connection.
Finally, some tests were run to verify the expected behavior of the test-bench. These test are documented at the end of the memoir.