Recent Changes - Search:

A Step by Step Guide to Using Experimentation Scripts

This section shows the necessary steps to run your own applications on a SmartSantander testbed.
This includes making reservations of nodes, compiling your application for certain node types, as well as flashing your application onto the reserved nodes and receiving their outputs.
The SmartSantander testbeds can be federated which means that you can run applications simultaneously on multiple SmartSantander testbeds. These applications can share information with one another which means that, from an application's point of view, a federated testbed behaves like a local testbed. However, this step by step guide describes experimentation on a local testbed.

To flash your application onto the nodes of a testbed and to receive the results, you have to connect to a testbed via a testbed client.

In this step-by-step guide, we use the Experimentation Scripts.

  1. Preparation
    If you are completely new to SmartSantander or WISEBED, or if you are using a certain testbed for the first time, you will need set up your experimentation environment.
    1. Choose from the available SmartSantander testbed the type(s) of sensor nodes you want to use.

    2. Get an account from WISEBED registration site.
      Of course, this step is not necessary if you already have a WISEBED account.

    3. Get the experimentation scripts.
      After extracting the downloaded archive file you will find the scripts in tr.experimentation-scripts-<version number>/bin/
    4. Get the the configuration file for your selected testbed.
      You may use lubeck.properties for the testbed at the University of L├╝beck.
      Please make sure that you adapt name and password to your account.
  2. Evaluating the testbed's resources and conducting the experiment.
    After getting an account, choosing the testbed and sensor nodes, respectively and setting up your testbed client, you are ready to compile and run your application.
    1. Compile your application for the desired sensor nodes.
      The compilation process depends on the type of sensor nodes which were chosen in step 1.1. You may find a detailed description of the available node types and the compilation process in section Write Your Own Apps.
      In the following, we assume that you run the scripts from the directory where the scripts are located (see step 1.3) and that the configuration file, you downloaded and adapted in step 1.4, is in the same directory.

    2. If you are not sure which node you want to use for your application, you may list all nodes which are available in the testbed.
      To list all nodes of type isense execute the following command:
      ./wb-list-node-urns lubeck.properties csv isense
    3. The WiseGui Client provides an overview of the current reservation status.
    4. Now reserve one of the nodes listed in the previous step for a certain time and receive the secret reservation key to access it as long as the reservation is valid.
      1. To reserve the node with urn "urn:wisebed:uzl1:0x2104" for five minutes starting now run:
        ./wb-reserve lubeck.properties 5 0 urn:wisebed:uzl1:0x2104
      2. If the reservation was accomplished successfully, you will receive your secret reservation key as output which should look like this:
        urn:wisebed:uzl1:,B4E46DCC903A3E93F05A213696ED7F7C

    5. Flash the image you created in step 2.1 (e.g., CoreModuleDemoApplication.bin created as described here) on node urn:wisebed:uzl1:0x2104:
      ./wb-flash lubeck.properties urn:wisebed:uzl1:,B4E46DCC903A3E93F05A213696ED7F7C CoreModuleDemoApplication.bin urn:wisebed:uzl1:0x2104
    6. After the node was successfully flashed, you may view its outputs running:
      ./wb-listen lubeck.properties urn:wisebed:uzl1:,B4E46DCC903A3E93F05A213696ED7F7C
    7. To reset the testbed to the state it was before running your application, run:
      ./wb-free lubeck.properties urn:wisebed:uzl1:,B4E46DCC903A3E93F05A213696ED7F7C
Edit - History - Print - Recent Changes - Search
Page last modified on December 06, 2012, at 01:00 AM