FlockLab is designed in a 3-tier-architecture. The lowest tier is the system layer which consists of sensor nodes, the actual wireless sensor network which shall be tested. These nodes build a communication network as they would in a real deployment. To each sensor node, a second, more powerful node is attached, the observer node. The observer nodes are based on a small computer which runs Linux (see the [#Hardware hardware specifications] for more details) and communicate over LAN or WLAN. They build the second tier (observation layer) which provides all services and efficient means for out-of-band extraction of data avoiding interference with the system layer.
The third and final tier is a dedicated server to which all observer nodes connect. The server is responsible for the distribution of configurations to the nodes, starting and stopping test runs and collecting, analyzing and displaying test data to the tester. Furthermore, the server acts as a local time synchronization server to which all observer nodes synchronize their local time.
FlockLab's approach with a 3-tier-architecture allows for increased flexibility and independence of all tiers. Each tier is designed to be independent of the others and to introduce as low interference as possible to the wireless sensor network under test.
The connection between sensor nodes and observer nodes is accomplished over an attached interface board. Apart from standard functionalities for logging over a UART or programming, this interface provides access to GPIO pins and means for voltage control and power measurements.
FlockLab provides several services on the observer for using these interfaces for testing. These services include timed actuation and/or tracing of GPIO pins, controlling the serial port e.g., via the TinyOS or Contiki serial forwarder, and profiling power measurements. GPIO pin tracing and actuation provide distributed logic analyzer capabilities. In particular, these services are accurately synchronized within tens of microseconds across all nodes. Distributed voltage control and power profiling enable elaborate power consumption analysis under differing operating conditions.
An observer which is built of a Gumstix Linux computer and an interface board can host up to 4 different wireless sensor nodes over a generic hardware interface. The hardware can be seen in the picture on the right with attached sensor nodes on 2 out of 4 slots.
Here is a list of currently mounted sensor node types. Note that the quantity of available nodes and the layout in FlockLab might differ depending on the node platform.
TinyNode184 from Shockfish SA. The key features of these nodes are:
On-board chip antenna, footprint for SMA connector
On-board humidity, temperature and light sensors
More information about the Tmote Sky can be found here.
Opal nodes from CSIRO.
More information about the node can be found here
Based on the CC2538 SoC, integrating a 32-bit Cortex-M3 microcontroller and a CC2520-like radio transceiver
Runs up to 32 MHz and includes 32k RAM and 512k flash memory
2.4 GHz transceiver, compatible with IEEE 802.15.4-2006
More information about the OpenMote can be found here.
Based on the CC430 SoC, integrating a 16-bit MSP430 microcontroller and a CC1101-like radio transceiver
Runs up to 20 MHz and includes 4k RAM and 32k flash memory
More information about the MSP430-CCRF can be found here.
Other sensors can be attached to the testbed easily due to FlockLabs generic hardware interface. Contact us for more information.
The observer nodes are built of a Gumstix computer and an interface board. The latter was especially designed at our laboratory for FlockLab. The key features of the Gumstix computer are:
Gumstix verdex pro XL6P
600 MHz PXA270 processor
32 MB flash
128 MB RAM
Attached 8GB microSD card for data storage
The interface board features:
4 generic hardware interface slots to attach any kind of wireless sensor node with a simple adapter board
RTC with battery backup (keep date and time over power cycles)
Voltage and current measurements on-board
More information about the observer nodes can be found in the Wiki.
FlockLab users can program the nodes with a choice of:
TinyOS (FlockLab supports TOS node ids as well as TOS messages)
Contiki (FlockLab supports node ids as well as SLIP packages)
The current deployment consists of 30 observers and 1 server which are spread across one level of the ETZ-building at ETH Zurich and the surrounding rooftops. As a backbone network, LAN and WLAN are used.