Implementing "Testbed Hyper Nodes" in Java
|Supervisor:||Horst Hellbrück , Torsten Teubler|
Wireless sensor networks (WSN) are networks of small computers equipped with sensors and thus perceive their environment. WSN and their applications are well studied for many years and are still a vibrant research topic. In the past WSN research used only simulators were results depend often on theoretical models. Today, so called testbeds are used. A testbed is an existing deployment of WSN nodes in a lab environment allowing researchers to test their algorithms and applications under real world conditions, harsh RF environment and limited resources. The latter point is sometimes problematic during prototyping and evaluation of algorithms and applications because more resources are needed e.g. for enhanced logging capabilities. In this work this issue should be overcome by developing "Testbed Hyper Nodes" in Java.
CoSA research group runs a testbed recently consisting of six infrastructure nodes and six mobile nodes. Each sensor node is equipped with a so called gateway (industrial PC) running the testbed management software Wisebed. Wisebed is implemented in Java and it allows easy development of extensions to attach custom kinds of sensor nodes. In this work a "Testbed Hyper Node" has to be developed in Java running at testbed gateways. This hyper node uses an existing interface for RF communication (Atmel Raven Stick) to interact with other sensor nodes. Therefore, a Wisebed driver has to be developed for deploying actual application code. Furthermore, a library is needed encapsulating primitives for the hyper node like sending and receiving messages and an interface for (virtual-)sensors. The hyper node opens a variety of applications in a WSN testbed. It allows rapid prototyping of algorithms, implementation of "non-invasive" evaluation methods for RF traffic and Internet gateways because we can use all networking capabilities from the PC.
- Wisebed driver for deploying actual hyper node application code.
- Library for the hyper node encapsulating primitives like sending and receiving messages and an interface for (virtual-)sensors. The developer of a hyper node has to be able to test an application locally.
- An example application for the hyper node
- All code must be well documented.
- Very good skills in problem-abstraction
- Good knowledge of Java programming
- Willingness to work with Maven (Build-Management-Tool)
- Good self-organized working skills
- Good knowledge of the English language