Using the TWIST testbed¶
Accessing the testbed¶
The TWIST testbed has two different networks to play with: a sensor network and a wireless network. To access the sensor network it is possible to use a web interface to schedule and control jobs (https://www.twist.tu-berlin.de:8000/). To access, you need to request an account by filling the form at https://www.twist.tu-berlin.de:8000/request_account.
For the wireless testbed you need to create an iMinds account at https://authority.ilabt.iminds.be/signup.php?pid=POPROW. Michele created the project POPROW, so you have to join the project. After creating your account, sign in to obtain a certificate used to access the test bed (Actions -> Start experiment or get certificate). Then download the jFed application (more details at https://www.twist.tu-berlin.de/tutorials/twist-am-usage.html) that can be used to graphically setup your experiment.
By using the jFed application you can add nodes to the experiment by dragging them into the GUI. By right-clicking on a node you can configure it. In the Disk image option it is possible to choose a distribution to run. They already provide a wishful-enabled ubuntu 16.04, it is possible to create custom images (https://www.twist.tu-berlin.de/tutorials/custom-disk-images.html), which might be very useful, as OLSRd and other required software would be already setup. Alternatively, it is possible to use Ansible (https://www.ansible.com/) to automate tasks, which would include downloading and installing software. Suggestions from the test bed people might help.
Once the nodes are placed, by clicking Play they will startup, and it will be possible to ssh into them for commands. It is yet not clear how we use UPIs to setup stuff like topology, as this is apparently not done in the jFed GUI.
Using the nodes¶
- Either via
ssh -F ssh.cfg -i <iminds.pem or id_rsa> <nodeid>using https://raw.githubusercontent.com/WirelessTestbedsAcademy/ExperimentationTools/master/Ansible/TWIST/ssh.cfg
- Using Ansible to automate tasks (https://github.com/WirelessTestbedsAcademy/ExperimentationTools/tree/master/Ansible/TWIST)
- What is the topology?
- What are the available devices? 3 NUC nodes and 16 TPLink routers using OpenWRT (in jFed), but 17 in the ansible configuration files
- How do we install OLSRv2 (and other software)? Can we create an OpenWRT image with pre-installed software? See https://kbu.freifunk.net/2015/04/Building-OpenWRT/
- How do we use these infamous UPIs to control the radio and the MAC? Do we simply need to invoke the UPIs within our python apps using https://github.com/wishful-project/wishful_upis ?