Detailed Description of the FlockLab Architecture
Overview
Quick Overview
A vital factor for a successful deployment of sensor nodes is testing of all system aspects in a realistic setup. FlockLab introduces a testbed architecture which allows for detailed monitoring and stimulation of wireless sensor nodes. In particular, time-accurate state extraction and power measurements are provided in a distributed, yet synchronized context.
For general embedded systems, testing the software and the system’s power consumption relies on expensive lab instruments such as logic analyzers and oscilloscopes. FlockLab brings the functionalities of these tools into a distributed context for detailed testing of a sensor network. This is achieved by pairing a sensor node with dedicated hardware for monitoring and stimulation. Different services such as measuring power consumption and time accurate pin tracing and actuation are provided to the tester. While maintaining a sufficient accuracy of measurements (e.g., tens of microseconds temporal granularity across nodes), costs are significantly reduced to enable an affordable distributed lab instrument. Hence, in difference to previous testbeds, which only allowed for detailed measurements on individual nodes, numerous nodes can be observed in detail.
Unlike most testbeds which allow only for one type of wireless sensor node to be connected, FlockLabs flexible hardware interface offers 4 target adapter slots to which arbitrary sensor nodes can be attached. Currently, following sensor node platforms are supported: Tmote Sky, OpenMote, TinyNode, DPP and DPP2 LoRa.
FlockLab's key features include:
- FlockLab's observer based testbed architecture which provides services for detailed testing of sensor nodes:
- Time accurate pin tracing
- Time accurate pin actuation
- Power measurements
- Serial interface logging and writing
- Voltage control to simulate e.g. battery depletion
- Flexibility to attach up to 4 arbitrary wireless sensor nodes over a generic hardware interface.
- Network-wide programming and configuration of testbed and sensor nodes.
- The testbed architecture seamlessly merges data from all services into a consistent global view:
- All services have a common, high-precision time base
- Data taken from all sensor nodes is directly comparable due to common time base between nodes
- All test data is kept in a single database
- High-speed, flexible and reliable backbone for out-of-band extraction of data.
- Testbed consisting of 30 observers organized in a mixed indoor/outdoor topology.
- Excellent scalability and flexibility due to FlockLab's 3-tier-architecture.
FlockLab is available for the research and development community. We are happy to provide you with software and hardware designs if you are interested in replicating FlockLab. See About us/Contact for more information.
FlockLab Architecture
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.
Hardware
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.
Sensor nodes
See FlockLab Targets.
Observer nodes
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.
Software
Sensor nodes
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)
- Any programming of choice
Observer nodes
The observer nodes run openembedded Linux, currently with kernel version 2.6.33.
Deployment
The current deployment consists of 27 observers and 1 server which are spread across one level of the ETZ-building at ETH Zurich. As a backbone network, LAN is used.
Latest Topology FlockLab 1 (March 2020)
Statistics
You can find the statistics on this page.
Pictures
You can find pictures of the observers on this page.