This guide explains the necessary steps to setup a new FlockLab testbed.
A FlockLab testbed consists of a server part and an observer part. The observers interact with the devices under test (targets) and locally store the test data. The server provides a user interface and is responsible for starting and stopping tests as well as fetching the test data from the observers.
The FlockLab server must provide the following three components:
- test management
These components can either be on the same machine or distributed on separate servers.
- Copy the files to your test management server.
- Adjust the config file and copy it to the server.
- Adjust the path to the config file in flocklab.py.
- Install crontab to periodically call the scheduling and cleanup scripts.
- Install all required python packages.
- Make sure the user that runs the test management scripts has SSH access to all your FlockLab observers via public key authentication.
- Create a MySQL-compatible database
flocklabon your DB server.
- Use the provided template to create all necessary tables.
- Create the user
flocklab_testmngand grant it access to the database
- Start to populate the database tables:
- Make sure the database access credentials in
flocklab_config.inion the test management server are correct.
- Copy the webpage files to your webserver.
- Adjust the path to the
- Adjust the XML validation template
- Adjust the floor plan (
pics/flocklab_floormap.png) and node positions (
Note: you can use the update server script to copy the files to your test management and webserver (don't forget to adjust the
Hardware setup and calibration
A guide on how to prepare the observer hardware is available on request.
BeagleBone Green setup
- Download the latest Debian 9 flasher image (console version is sufficient) from eLinux (monthly builds) or beagleboard.org (releases). Use e.g. Balena Etcher to write the image to a microSD card.
- Insert the microSD card and press and hold the user button while powering up the BeagleBone until all 4 LEDs are on. The Debian image will then be flashed onto the eMMC (takes ~10 minutes). After completion, the BeagleBone will shut down (all LEDs off).
- Replace the flasher SD card with an empty one (formatted to ext4).
- Make sure the network connectivity to the BeagleBone works.
- Clone the repository to your computer and run the basic setup script:
cd observer/debian && ./setup_system.sh [beaglebone_address]
- Adjust the parameters in the following scripts:
- Run the main setup script to install all required packages, tools and scripts on the BeagleBone:
- Pair the BeagleBone with a FlockLab 2 cape and install the correct calibration files. Don't forget to also connect the cape to the BB with a microUSB cable (you can use the one that comes with the BB).
Alternative setup procedure with RocketLogger 2.0 software
- Clone the latest RocketLogger repository to your computer and switch to the branch
- Navigate to the directory
software/systemand follow the setup guide ("Remote Setup").
- After the remote setup you should be able to login to the device via SSH:
ssh -i setup/user/rocketlogger.default_rsa -p 2322 flocklab@[ip-addr]
- Continue by installing all FlockLab-specific files and dependencies by running
rl2.0branch in the FlockLab observer repository.