UZL-Testbed User Guide FRONTS Foundations of Adaptive Networked Societies of Tiny Artefacts www.fronts.cgi.
UZL-Testbed User Guide Document history Version Date Changes 1.0 01.08.2009 Initial version 1.1 05.10.2009 iShell documentation added 1.2 31.05.
UZL-Testbed User Guide Contents 1. About this User Guide .................................................................................................................... 4 2. General Description of the UZL-Testbed ....................................................................................... 5 3. Simulating the UZL-Testbed .......................................................................................................... 6 4. Using the testbed ....................................
UZL-Testbed User Guide 1. About this User Guide In this user guide, • files and folders are represented in the Arial typeface, • code fragments, function names etc. are represented in the Courier New typeface, • GUI elements such as button descriptions etc. are represented in “quotation marks”, • titles of other documents are presented in Italic type. This manual assumes that the reader has successfully installed the iSense development environment, and obtained the iSense standard firmware.
UZL-Testbed User Guide 2. General Description of the UZL-Testbed This user guide describes • how the UZL-testbed looks like, and • how an application can be simulated in Shawn using the same environment parameters. So far, the testbed comprises the 22 iSense sensor nodes (of type R1) shown in Table 1: MAC addresses of UZL-testbed nodes.. Two of them are so-called gateway nodes equipped with a Core Module (cf. [4]) with SMA antenna and a Gateway Module (cf. [5]) connected to a computer.
UZL-Testbed User Guide Figure 1: Deployment of the sensor nodes within the Institute of Telematics Figure 1 shows the spatial arrangement of the sensor nodes within the Institute of Telematics in Lübeck. The sensing ranges of the PIR sensors are indicated by light green cones. The range of such a sensor goes up to 10m in a free area, but walls and furniture limit them literally in indoor scenarios. The two gateway nodes are not equipped with a PIR sensor. 3.
UZL-Testbed User Guide offers scripting functionality and the use of local variables we use JShawn to configure the simulation. Refer to [7] for detailed information. The testbed topology is described by /scenario_fronts.xml. The xml-file defines the real positions of the nodes as well as the link properties between nodes. As the simulator uses increasing numbers from 0 to n as ids for n+1 nodes for an efficient algorithmic processing we added functionality in iSense enabling the usage of arbitrary ids.
UZL-Testbed User Guide Table 2: Real and Shawn MAC addresses shows the Shawn ID for each node which is returned by os().proc().owner().id(). Normally, the application should neither know nor use them. iSense hides them completely. MAC (Hex) 06 0D 06 0e 06 14 06 17 06 35 06 40 08 78 08 7f 78 54 78 56 78 57 78 5c 78 68 78 6a 94 73 94 7d 94 7e 94 7f 94 83 94 9e 94 a0 94 a4 Shawn ID 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Table 2: Real and Shawn MAC addresses The JShawn-file /configuration.
UZL-Testbed User Guide //-----------------------------------------------// Shawn models and scenario parameters //-----------------------------------------------// Shawn edge model String em = "simple"; // Shawn communication model String cm = "link_probability"; // Shawn transmission model String tm = "csma"; // File containing the UZL testbed positions and ids String scenario = "scenario_fronts.xml"; //Set the seed if( seed > 0 ) shawn.
UZL-Testbed User Guide arbitrary values. If you run the application their debug output will be shown in the Serial Monitor plugin. Note, that it depends on the value of use_tag_ids if the numbers from 0 to n or the decimal values of the MAC addresses must be used for a successful communication between Shawn and iShell. Shawn offers the possibility of tracing radio messages and fill levels of queues in files while the simulation is running.
UZL-Testbed User Guide 4. Using the testbed Before you flash your application on the nodes ensure • that your application does not sleep at all or that the device wake up from time to time so that they can be reprogrammed (e.g., by calling the command os().allow_sleep(false); in the boot-method), • that your application runs on radio channel 21 (by calling the os().hardware_radio().
UZL-Testbed User Guide 4.1. Connecting a local iShell2 to the gateway node 0x94a0 First tell somebody in Lübeck who is in touch with the testbed (e.g. via email), that you want to use the testbed and for how long you will probably need it. If nobody else is using the testbed, this person will start the server to which you can connect your client. If a test is currently running on the testbed, the person will tell you when it will be free again. To start an iShell on your computer: • Download ishell2.
UZL-Testbed User Guide 4.2. Flashing the gateway node Note, that you have to flash the gateway node (using the iShell Flash Loader Plugin) separately from all other nodes which are programmed over the air. Either program the gateway node with a so-called Data-Collector-and-iSeraerial application (you can find the corresponding bin-file at [8]) or enable the iSeraerial including multihop support functionality of iSense in your application by 1. selecting iSeraerial support (first line in the red box 3) 2.
UZL-Testbed User Guide • To flash the gateway node open a flash loader (2) connected to the Remote iShell Device (3). • Switch to the generated Flash loader Plugin instance (1). • Then, select the bin-file you want to flash on the node (2). • Click on the Start button (3) and wait until the flash process has been finished.
UZL-Testbed User Guide 4.3. Flashing the network over the air • First, open the PluginManagerView. • Then, click on Over the air Programming (1). • Select the remote iShell Device (2) and • click on Add new Plugin instance (3) to generate an instance of this plugin. • Select the new plugin instance. • Select the bin-file containing your program which you want to run on the testbed (1). • Click on Multihop programming (2).
UZL-Testbed User Guide The Status column (1) shows the application identification and software revision number of the currently running application. They can be used to verify that the correct program is running after the flashing. (To do this verification, run the presence detection after the flashing for a short time and stop it after the devices appeared in the list.) • When 21 devices are detected, click on Select all (2) and Start programming (3). • Wait until the Status is Done.
UZL-Testbed User Guide 4.4. Closing the connection Open again the ConnectionManagerView and select the Remote iShell connection to the gateway node (1) and close the connection via button 2.
UZL-Testbed User Guide References [1] coalesenses Development Environment Setup User Guide, online available at http://www.coalesenses.com/download/UG_development_environment_setup_v1.9_web.pdf [2] coalesenses iShell User Guide, online available at http://www.coalesenses.com/download/UG_ishell_v1.3.pdf [3] coalesenses Writing iSense Applications User Guide, online available http://www.coalesenses.com/download/UG_writing_isense_applications_1v1.