Introduction to SCADDS Senor Network Testbed
Our testbed is designed to be
complementary to WINS NG nodes from Sensoria Corporation. Instead of providing
full-featured sensor node with variety of sensing ability to work in rigid
environments, our testbed provide an experimentation environment to study
inter-node communication protocols in a large network with different
topologies. We expect that with the experimental feedback from the testbed, we
can iteratively improve SCADDS algorithms and validate simulation results. Most
important, we believe that playing with real systems can lead us to better
understanding of the design challenges. After our initial experiences with our
initial testbed consisting of 5 Toshiba Libretto 50CT laptops, we gradually
clarified our requirements for the testbed:
·
Small in Dimensions
·
Low-Power (long lifetime)
·
Moderate Computing Resources
·
Flexible I/O capability
·
Well-supported Operating System
·
Low cost
Currently our testbed consists
of 30 nodes built from off-shelf PC-104-based products. Before settling on the
PC-104, we also considered the following alternatives:
·
Laptops. Those real PCs are expensive, and have unnecessary
devices for our testbed such as LCD display, IDE Hard drive, etc., each of
which consume significant power.
·
Palm and other PDAs. Even though they have a compact form
factor, they have inadequate computing power for our applications. Another
drawback is that they usually use vendor-specific operating systems,
applications and devices, and are thus difficult to extend with new hardware
and software capabilities. They also have often-unnecessary and power-hungry
displays.
·
StronARM based devices for OEM. These small devices such as
“Cerfcube” and “Elf” are promising platforms, which are small and low power
with support for open source OS. However, they are still in their preliminary
stage and relatively expensive. Compared to PC104, the extensibility is still
limited.
PC-104 is a well supported
standard and compatible with desktop PCs. There is a full spectrum of PC-104
peripheral devices including digital I/O, sensors, actuators, most of which are
compatible. Another factor that led us to PC-104 products is their ability to
support almost all PC software. We chose Linux as our operating system because
it is one of the most widely supported open source operating systems. After
evaluating different distributions, we decided to use our home-brewed
distribution based on a 2.2.12 Kernel and glibc2.2. It is binary-compatible to recent
RedHat distribution(7.2), thus we can develop and debug our applications on
desktops/laptops, and later move to our PC-104 based testbed easily.
Most of PC104 devices require
quite strict 5V power supply. We designed a PCB power board including power
supply, speaker amplifier, and a prototype area. The size of board is exactly
the same as PC104 boards, so we can sandwich them easily. We continue using a
Radio Packet Controller at 418Mhz. Jeremy Elson wrote a kernel mode driver to
use the RPC via the parallel port, which was released June 2000.We have a small
adaptor designed to attach the RPC module to the PC104 system.
In order to debug those displayless
devices, we also designed and built 5 "debug-stations", which acts as
an ethernet-ppp gateway and each can support up to 8 pc104 nodes. Some nodes
are equipped with ethernet adapter thus can also connect to the Internet
directly. The user can start his/her applications either from a startup script
or manually using telnet or rsh from a full-size PC. Debugging and logging
tools such as syslogd can be started selectively to provide information to
study system behaviors in different levels of details.
We also designed a CVS-like
management system to support multiple users. Different experiments require
different software from lower device driver to higher directed diffusion
applications. In order to avoid interference to each other, individual user
maintains a separate copy of Linux distribution. When a testbed node boots up, it
loads the corresponding Linux distribution from its assigned owner. In this
ways, multiple experiments can be done in the same time, at least in the
time-sharing fashion considering radio interference.
Another tool we built for the testbed is
“linkScan”, which displays the connectivity between PC104 nodes with in the
network. With visualization of the communication links between each testbed
nodes, we can set up topologies with different features to study directed
diffusion and other algorithms. In general, it raises a very interesting
research challenge of how to monitor sensing activities and validate system
functionality after a sensor network is deployed in an unpredictable
environment, which is beyond the topic of SCADDS.
With the support of our
testbed, we have been able to experiment and thus improve our design of
different algorithms. We demonstrated an implementation of our algorithms
running over multiple pc104 nodes, showing robustness of diffusion routing over
a multi-hop network topology with "faulty" nodes. We also
demonstrated to show low overhead of triggering sensing by nesting the conditional trigger-data
propagation inside the network.