uzl-testbed user guide - frontsfronts.cti.gr/testbed/pdf/ug_topology_recognition_1v1.pdf3.1.8....

16
UZL-Testbed User Guide FRONTS Foundations of Adaptive Networked Societies of Tiny Artefacts www.fronts.cgi.gr

Upload: lethien

Post on 25-May-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

UZL-Testbed User Guide

FRONTS Foundations of Adaptive Networked Societies of Tiny Artefacts

www.fronts.cgi.gr

2 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

Document history

Version Date Changes

1.0 28.06.2009 Initial version

3 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

Contents

1. About this User Guide .................................................................................................................... 4

2. Topology Recognition Application ................................................................................................ 5

2.1. Obtaining and flashing the Topology Recognition Application .............................................. 5

2.2. Topology Recognition Application functionality .................................................................... 5

3. Using the iShell Topology Recognition Plugin .............................................................................. 7

3.1. Commands ............................................................................................................................... 7

3.1.1. P:Clear ........................................................................................................................... 7

3.1.2. P:Save – Data Storage ................................................................................................... 7

3.1.3. N:Reboot........................................................................................................................ 7

3.1.4. N:Stop_hello.................................................................................................................. 7

3.1.5. N:Start_hello.................................................................................................................. 8

3.1.6. G:Create_tree................................................................................................................. 8

3.1.7. G:Time_sync.................................................................................................................. 8

3.1.8. P:Generate – Visualization in Spyglass ......................................................................... 8

3.2. The Neighborhood-Topology view........................................................................................ 12

3.3. The TreeRouting-Topology view........................................................................................... 14

4. References .................................................................................................................................... 16

4 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

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. For further information on theses steps, consult the

Development Environment Setup User Guide [1].

In addition, it is assumed that the user is familiar with the use of iShell. For further information on

iShell, consult the iShell User Guide [2].

For further information on iSense firmware programming concepts and on application development, it

is recommended to read the Writing iSense Applications User Guide [3].

5 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

2. Topology Recognition Application

This user guide describes

• a sample application called Topology Recognition Application which ran on the testbed in

order to find out link properties for building a realistic simulation model, and

• the corresponding iShell-plugin called Topology Recognition Plugin.

The Topology Recognition Application

• detects link qualities and receiving rates between each pair of nodes and

• can construct a tree with each gateway as sink.

2.1. Obtaining and flashing the Topology Recognition Application

First, get the iSense firmware via the webcompile tool with the following functions activated in

addition to the standard selection:

• Data Exchanger with Multihop support (c.f. Protocols)

• Data Collector with Multihop support (c.f. Functionality -> Provides easy communication to

iShell)

Note that for the Shawn Target the simulation of the memory is enabled in the standard configuration.

It helps you to find out if your application meets the memory (stack and heap) restrictions of real

devices.

Then, either copy the code from the fronts code repository or go to the fronts web site, click on

“Testbed”, and then on “Downloads”. Click on the icon and download

TopologyRecognitionApplication.zip.

Extract the content of TopologyRecognitionApplication.zip to the iApps directory. The source file

of the topology recognition application is located at TopologyRecognitionApplication/src/ TopologyRecognitionApplication.cpp.

How an application can be compiled is describes in all User Guides from coalesenses.

An application can be flashed onto the connected node using the FlashLoader-Plugin from iShell and

via the “Over-The-Air-Programming”-Plugin onto the other nodes of the network. For details

regarding the identification of the chip version, refer to Section 2.4 of the iSense Core Module User

Guide [4].

2.2. Topology Recognition Application functionality

The Topology Recognition application aims at collecting link quality data for each pair of nodes in a

network. Therefore, each node sends a hello message every HELLO_INTERVAL (= 20) seconds and

• the NeighborhoodMonitors of the receivers store the link metric based on the link

quality indicator and

• the ToplogyRecognitionApplications of the receivers increment a receive counter

for the sender.

For being able to analyze and evaluate these values (link metric and receive counter for each neighbor)

in iShell each node sends them every SEND_NHM_DATA_INTERVAL seconds using the iSense tree

6 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

routing protocol to the sink node (0x94a0) which forwards them to iShell. The TopologyRecognition-

Plugin of iShell visualizes this information and can export it into a file.

As nodes send messages regularly, it is possible to observe how link properties develop and vary over

time.

Apart from the neighborhood monitoring each node can construct a tree using the tree routing

protocol. The node which constructs the tree is regarded as sink whereas

ISENSE_TREE_ROUTING_MAX_SINKS defaults to 3 which means that each node can handle data

for three sinks in parallel. In this application a tree is created 4 seconds after boot and apart from that

the construction of a tree can only be triggered by sending packet via the uart.

In order to adapt the clocks of the nodes to the time of the connected computer the application

comprises functionality to ask for the iShell time and to distribute it within the network using the

iSense time synchronization protocol. Note, that for the usage of this feature the TimeProvider-Plugin

of iShell must be enabled as it answers the time request of the connected gateway node.

Furthermore, in order to see that a node is alive, the led is turn on and off every second.

7 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

3. Using the iShell Topology Recognition Plugin

The Topology Recognition Plugin is an iShell plugin which

• sends commands to the connected gateway node (Buttons labeled with G:),

• sends commands to the entire network via the connected node using the iSense flooding

protocol (Buttons labeled with N:)

• visualizes the UZL-testbed nodes in the spyglass-plugin (Buttons labeled with P:Generate),

• prints and temporarily stores data provided by the devices,

• forwards this data to the Spyglass-Plugin and

• stores this data into a .xls-file for further evaluation purposes (labeled with P:Save).

The nodes send the data automatically, but it is also possible to poll the data using the Data Collector

Plugin. Refer to [2] for further information.

Prerequisites:

First of all the devices of the network must run the Topology Recognition application located in

/src/topologyRecognitionApplication.zip.

Furthermore the iShell DataCollector-Plugin must be enabled to collect data from the

DataProviders, because it parses the incoming data strings and forwards them as array of strings

to a DataDispatcher which calls all registered DataHandlers. The Topology Recognition

Plugin is such a DataHandler.

3.1. Commands

The buttons in the tool bar have the following functions.

3.1.1. P:Clear

Clear deletes all temporal values and clears all internal lists either of the network connectivity or the

tree topology view.

3.1.2. P:Save – Data Storage

With a click on “P:Save” (10) all data of both views is written into an excel-file (.xls). For each

view a spreadsheet is constructed where all sources and destinations corresponding values are written.

The number of received packets is not only written as mean value, but each single value is stored in

the file.

3.1.3. N:Reboot

With a click on “N:Reboot” the connected node reboots in 10 seconds and floods a message informing

the other nodes to do the same.

3.1.4. N:Stop_hello

With a click on “N:Stop_hello” the connected node stops sending hello packets and floods a message

informing the other nodes to do the same.

8 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

3.1.5. N:Start_hello

With a click on “N:Start_hello” the connected node starts sending hello packets and floods a message

informing the other nodes to do the same.

3.1.6. G:Create_tree

Click on “G:Create_tree” to let the connected node call the method create_tree of the iSense tree

routing protocol containing a request for route log packets, so that all nodes send back a route log

packet to the connected node 5 seconds after the reception of the request packet.

Remark: Tree construction packets of the iSense tree routing protocol can hold payload data which is

passed to the dispatcher as incoming packet. The dispatcher will forward it to all registered receivers.

Like this, it is possible to flood data while creating a tree.

3.1.7. G:Time_sync

Click on “G:Time_sync” to let the connected node synchronize the entire network using the iSense

time synchronization protocol.

3.1.8. P:Generate – Visualization in Spyglass

Click on “P:Generate” to let the plugin send a position packet to spyglass for each testbed node to

make spyglass draw all nodes (c.f. Figure 1: Spyglass view of the UZL-testbed). Note that the

positions sent to spyglass are the triple of the real positions, because positions in spyglass are

integer values and the resolution of integer is insufficient to represent the real world placements. This

implicates that you have to divide the values of the spyglass ruler by 3 to get the real position.

Remember this also when you compute distances between nodes. Accordingly, the image of the

institute is also scaled to the threefold size.

For more information concerning the visualization tool Spyglass have a look at [5].

9 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

Figure 1: Spyglass view of the UZL-testbed

The used config-file for the visualization of nodes and relations in the Spyglass plugin is located in

/spyglass-config/SpyglassConfig.xml. The following figures show the parameter settings of the

Spyglass plugin manager to obtain this xml-file.

10 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

The NodePositioner was a PositionPacketNodePositioner:

The NodePainter was a SimpleNodePainter:

11 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

The network connectivity is painted by a LinePainter (which is a RelationPainter). We chose semantic

type 4 for this plugin instance:

The tree topology is also painted by a LinePainter. We chose semantic type 3 for this instance:

12 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

3.2. The Neighborhood-Topology view

The Neighborhood view visualizes information concerning links. Two values are shown for each

connection.

The first value is provided by the TopologyRecognitionApplication. It is the mean receiving rate in

packets per second derived by the incoming (hello) packets from each neighbor. As the

HELLO_INTERVAL is set to 20 seconds the value is 0.05 if all packets arrived.

The second value is provided data by the NeighborhoodMonitor. It is the mean of the chosen metric

for each neighbor. We chose the SIGNAL_STRENGTH_LINK_METRIC in the

TopologyRecognition Application.

An empty field indicates that there is no data available for this connection, either because the

collection process failed or because these nodes cannot communicate.

Click on “P:Save” to store all single values forming the means in an excel-file.

Figure 2: Network connectivity view of the Topology Recognition Plugin

13 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

Figure 3: Network connectivity view in Spyglass

Figure 3 shows the (incoming) metric values illustrated by a Spyglass LinePainter.

14 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

3.3. The TreeRouting-Topology view

The TreeRouting view visualizes information concerning routing paths (see Figure 4). When you click

on “Create tree” on the one hand a tree is created, and on the other hand each node sends a

ROUTE_LOG packet to the sink node. Every node which forwards the route log packet adds its ID to

the packet so that the sink node can see the route which was created. The routes can be seen in this

view.

If several trees have been created and the routes differ from each other, they are shown in subsequent

colomns for each source node.

Click on one row to view the lqis of each forwarding step for all routes of one source in the second

table. If one route has been created several times the lqi values are illustrated in one column one below

the other.

Figure 4: Tree topology view of the Topology Recognition Plugin

15 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

Figure 5: Tree topology view in Spyglass

Figure 5 shows the paths and link quality indicators of each forwarding step illustrated by a Spyglass

LinePainter.

16 / 16

UZL-Testbed User Guide

Foundations of Adaptive Networked Societies of Tiny Artefacts

4. 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 at

http://www.coalesenses.com/download/UG_writing_isense_applications_1v1.pdf

[4] coalesenses iSense Core Module User Guide, online available at

http://www.coalesenses.com/download/UG_CM10X_1v0.pdf

[5] Spyglass at http://sourceforge.net/projects/itm-spyglass

[6] UZL Testbed Documentation at http://fronts.cti.gr/index.php/testbed