ETH Zurich :
Computer Science :
Pervasive Computing :
Distributed Systems :
Student Projects :
Remote Programming of Wireless Sensor Networks (S)
The availability of small and cheap wireless sensing devices increased significantly in the past few years and large-scale sensor network deployments begin to appear. Such a large number of sensors deployed in the real-world allow to accurately monitor a variety of physical phenomena, like weather conditions (temperature, humidity, Â…), traffic or noise levels or room occupancy in public buildings.
Among the several existing wireless sensor networks hardware and software platforms, we use the well-known Tmote Sky platform by moteiv and the tinyOS open source operating system, a de-facto standard OS for wireless sensor network platforms. Applications in tinyOS are written in nesC, a simple C dialect, while ad-hoc java tools enable a user pc to easily receive and send data to and from the networked sensors.
Since in a single deployment hundreds of nodes may be available and these may even be located in hard to reach spots, it is of crucial importance to have a mean to remotely reprogram the network through the air. While a few tools for remote programming are available, they offer limited functionalities and poor user interfaces.
In the context of this work, the existing tools for remote programming of sensor networks will be surveyed and analyzed. Among these, the Deluge tool, which is available in the tinyOS standard distribution, will be extended to offer more flexibility and ease of use. For instance, the Deluge nesC application will be upgraded to make it possible to ping, update and reboot single nodes in a specific deployment (Deluge currently only allows addressing a whole group of nodes at a time). The Deluge java toolchain will be accordingly extended to deal with the newly implemented features and a graphical interface will be added to increase its ease of use. Finally, a small-scale sensor network will be deployed to demonstrate the performance of the developed remote programming tool.
Required skills: Interest in programming of embedded systems, some C knowledge, good Java knowledge.
Student/Bearbeitet von: Sebastian GrÃ¶ssl
Contact/Ansprechpartner: Silvia Santini