Branch | Build Status |
---|---|
master | |
develop |
This repository contains the code of the 6TiSCH benchmarking platform that automates the experimentation on different testbeds.
IoTLAB - Saclay
OpenWSN
- Start up Vagrant VM:
vagrant up
- SSH into the server and run
bootstrap.sh
script:
vagrant ssh
./openbenchmark/bootstrap.sh
-
Upon the completion of the process, you will be given a public SSH key which is to be copied and pasted into your IoT-LAB account configuration
-
Run
bootstrap_webdev.sh
script:
./openbenchmark/bootstrap_webdev.sh -mysql
- Write your IoT-LAB username into the experiment configuration file:
~/openbenchmark/conf.txt
[iotlab-config]
user = YOUR_USER_NAME
broker = broker.mqttdashboard.com
- To start the GUI, open a web browser and go to
127.0.0.1:8081
. Alternatively, you can start an experiment from the console.
Workflow:
- Resource provisioning:
python openbenchmark.py --action=reserve --scenario=YOUR_SCENARIO --testbed=YOUR_TESTBED
- Firmware flashing:
python openbenchmark.py --action=flash --firmware=YOUR_FIRMWARE/REPO_URL --testbed=YOUR_TESTBED [--branch=REPO_BRANCH]
If --firmware
is not specified, Provisioner will assume the default OpenWSN firmware
If parameter --branch
is specified along with --firmware
, Provisioner will treat the value of --firmware
parameter as a URL of a Git repository, clone the repository, compile the source code and flash that firmware onto the nodes of the selected testbed
- SUT start:
python openbenchmark.py --action=sut-start --scenario=YOUR_SCENARIO --testbed=YOUR_TESTBED
Additional actions:
- Independent Orchestrator startup:
python openbenchmark.py --action=orchestrator
- Independent OpenVisualizer startup:
python openbenchmark.py --action=ov --scenario=YOUR_SCENARIO --testbed=YOUR_TESTBED
If --scenario
and --testbed
parameters are not provided they will assume the default value of demo-scenario
and iotlab
, respectively
- Run continuous rsync process on the host machine:
vagrant rsync-auto
- Run Laravel Mix on the guest machine:
vagrant ssh
cd ~/openbenchmark/web
npm run watch