Skip to content

Tutorial: SDWSN Orchestra

F. Fernando Jurado-Lasso edited this page Sep 19, 2022 · 5 revisions

There are several python scripts in the test folder of the root directory. In this tutorial, we show you how to run a simple SDWSN with Orchestra using Docker. This script automates everything for you. It compiles the firmware for the sensor network and it configures the controller to manage the network. This example also shows the creation of the container controller specially designed to run with docker.

Running the example using Docker (Cooja)

Here, we will run the example directly from the script; however, we will take you through the steps of the creation of the controller.

First, below is a screenshot of the usage of the script.

usage: test_orchestra_cooja.py [-h] [-d DOCKER_IMAGE] [-dc DOCKER_COMMAND] [-dmt DOCKER_MOUNT_TARGET] [-dms DOCKER_MOUNT_SOURCE] [-c COOJA] [-p COOJA_PORT] [-dbn DB_NAME] [-db DB_HOST] [-dbp DB_PORT]
                               [-ms SIMULATION_NAME] [-w PROCESSING_WINDOW] [-mtc MAXIMUM_TSCH_CHANNELS] [-mfs MAXIMUM_SLOTFRAME_SIZE] [-te MAXIMUM_TIMESTEPS_EPISODE] [-fp OUTPUT_PATH]

This script tests Orchestra in the SDWSN architecture.

options:
  -h, --help            show this help message and exit
  -d DOCKER_IMAGE, --docker-image DOCKER_IMAGE
                        Name of the docker image ('contiker/contiki-ng')
  -dc DOCKER_COMMAND, --docker-command DOCKER_COMMAND
                        Simulation script to run inside the container
  -dmt DOCKER_MOUNT_TARGET, --docker-mount-target DOCKER_MOUNT_TARGET
                        Docker mount target
  -dms DOCKER_MOUNT_SOURCE, --docker-mount-source DOCKER_MOUNT_SOURCE
                        Docker mount source
  -c COOJA, --cooja COOJA
                        Cooja host address
  -p COOJA_PORT, --cooja-port COOJA_PORT
                        Cooja socket port
  -dbn DB_NAME, --db-name DB_NAME
                        Give a name to your DB
  -db DB_HOST, --db-host DB_HOST
                        Database address
  -dbp DB_PORT, --db-port DB_PORT
                        Database port
  -ms SIMULATION_NAME, --simulation-name SIMULATION_NAME
                        Name of your simulation
  -w PROCESSING_WINDOW, --processing-window PROCESSING_WINDOW
                        Set the window for processing the reward
  -mtc MAXIMUM_TSCH_CHANNELS, --maximum-tsch-channels MAXIMUM_TSCH_CHANNELS
                        Maximum TSCH channel offsets
  -mfs MAXIMUM_SLOTFRAME_SIZE, --maximum-slotframe-size MAXIMUM_SLOTFRAME_SIZE
                        Maximum TSCH slotframe size
  -te MAXIMUM_TIMESTEPS_EPISODE, --maximum-timesteps-episode MAXIMUM_TIMESTEPS_EPISODE
                        Maximum timesteps per episode
  -fp OUTPUT_PATH, --output-path OUTPUT_PATH
                        Path to save results
Clone this wiki locally