• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

WISEBED Tutorial @ ADHOCNETS 2011

on

  • 2,314 views

 

Statistics

Views

Total Views
2,314
Views on SlideShare
1,652
Embed Views
662

Actions

Likes
0
Downloads
41
Comments
0

5 Embeds 662

http://wisebed.eu 651
http://localhost:8000 7
http://www.wisebed.eu 2
http://translate.googleusercontent.com 1
http://wisebed.eu. 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    WISEBED Tutorial @ ADHOCNETS 2011 WISEBED Tutorial @ ADHOCNETS 2011 Presentation Transcript

    • WISEBED - Wireless Sensor Network Testbeds Experimentation on the WISEBED WSN Testbed Platform Daniel Bimschas Institute of Telematics, University of Lübeck bimschas@itm.uni-luebeck.de http://www.itm.uni-luebeck.de
    • Goals of Today’s Tutorial 2 n  After this tutorial you should: §  Be able to run and script experiments on the WISEBED testbed platform, §  Have basic knowledge about APIs and client applications, and §  Find all necessary documentation n  During the talk: §  Please install and boot the WISEBED Virtual Machine (from DVD!) or §  Install the Experimentation Scripts (Linux / Mac OS X) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED New Website
    • New Website 4 n  New website launched last Friday: http://wisebed.eu/ n  More user-centric §  Clients / Libraries / Documentation §  Development Tools §  Community (join the mailing lists!) §  … n  Sign up for a WISEBED testbed account online: http://wisebed.eu/site/index.php/register/ n  Send us your Feedback §  Did you like the site? Why? §  Did you find everything you were looking for? What was missing? §  Got ideas for improvement? Tell us! WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Outline 5 1.  Overview §  Available Sensor Nodes §  Testbed Architecture §  Terms 2.  Client Applications §  Web-based §  Desktop-based 3.  Web Service APIs 4.  Live Presentation 5.  Experimentation Hands-On 6.  Advanced Topics (Outlook) §  Cross-Platform Application Development with the Wiselib §  Run your own Testbed §  Virtual Testbeds WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Available Sensor Nodes 6 n  Snapshot from 20. September 2011 n  Distributed across 9 testbeds §  For an up-to-date snapshot see: http://wisebed.itm.uni-luebeck.de/wiseui-beta/ §  Next week: extension by 144 nodes planned (iSense, TelosB, Pacemate) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Testbed Architecture Overview
    • WISEBED Virtual Unifying Laboratory 8 Web Services on the Portal Servers at Portal Server each WISEBED Site Each Partner maintains its own testbed with TUD TUBS different hardware UBERN equipment and UPC setup UZL ULANC WISEBED Add simulated Federation nodes to the mix FUB UNIGE Users connect to CTI a single testbed directly using a Web service API Users connect to the federated testbed WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu using the same Web service API
    • Terms 9 n  Portal Server §  Exposes a testbed via Web services n  Gateway §  Sensor nodes are attached to the gateways §  Typically -  the same machine as the Portal Server, or -  some other machine with IP-connectivity to the Portal Server -  Clock-synchronized using the Network Time Protocol (NTP) n  Federator §  Connects two or more Portal Servers §  Exposes them as one testbed (using the same API) §  Used for testbed virtualization (more on that later!) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Terms 10 n  Sensor Node URN §  Addressing of nodes using a Uniform Resource Identifier (URN) §  Example: “urn:wisebed:uzl1:0x1234“ §  URN suffix corresponds with the MAC address of the node (0x1234) n  URN prefix §  Identifier for a testbed §  Example: “urn:wisebed:testbeduzl:” §  Each Portal Server is responsible for one or more URN prefixes §  All nodes inside this testbed have the same common prefix n  WiseML §  XML dialect to describe testbed configurations, topologies and experiment traces WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • A Typical Testbed Architecture 11 Experimenter 2 Experimenter 1 Federator Portal Server Portal Server LAN Gateways Gateways Serial (USB) connections WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The Lübeck Testbed 12 n  164 sensor nodes in total §  54 iSense §  54 Telos B §  54 Pacemates WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The Lübeck Testbed 13 n  Distributed over all rooms of the Institute Screenshot: SpyGlass - a modular and extensible visualization framework for WSNs WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Web-based Client Applications
    • Web Clients - TARWIS 15 n  http://wisebed.eu/site/index.php/conduct-experiments/web-clients/tarwis/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Web Clients - TARWIS 16 n  Great tool for basic usage scenarios (e.g. reserve, deploy, execute, analyze) n  Allows to preconfigure and schedule experiments for automatic execution n  Disadvantages: §  No scripting §  No interaction with running experiments §  Performance issues when experiments generate lots of output WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Web Clients - WiseUI 17 n  http://wisebed.eu/site/index.php/conduct-experiments/web-clients/wiseui/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Web Clients - WiseUI 18 n  Expected to become the standard user interface n  Currently under heavy development n  Beta version available §  Only limited (basic) functionality §  No scheduling, scripting §  http://wisebed.itm.uni-luebeck.de/wiseui-beta/ n  Useful for reservation and testbeds overview WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Desktop Client Applications
    • Desktop Clients - SpyGlass 20 n  A modular and extensible visualization framework for WSNs n  http://wisebed.eu/site/index.php/conduct-experiments/desktop-clients/spyglass/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Desktop Clients – Experimentation Scripts 21 n  A set of command line scripts to execute, control and interact with your experiment n  http://wisebed.eu/site/index.php/conduct-experiments/desktop-clients/experimentation-scripts/ n  Allows you to §  “Program” your experiments §  E.g. explore parameter space §  Automatically repeat experiments §  Programmatically analyze, convert and process output of nodes n  How does it work? §  Scripts written in the Java programming language (BeanShell interpreter) §  Executed from the command line §  Like all clients they use the WISEBED Web Service APIs WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Web Service APIs Basics
    • The WISEBED Testbed APIs 23 iWSN SNAA   RS   Session  Management   WSN   WSN   Controller   WSN   WSN   n  SNAA: Sensor Network Authentication and Authorization API n  Facade in front of the single sign-on system Shibboleth n  Supports other authentication/authorization frameworks, too n  http://wisebed.eu/api/java/current/reference/eu/wisebed/api/snaa/SNAA.html n  http://wisebed.eu/api/wsdl/snaa/current/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The WISEBED Testbed APIs 24 iWSN SNAA   RS   Session  Management   WSN   WSN   Controller   WSN   WSN   n  RS: Reservation System API n  Provides basic operations for reservations n  Different implementations in use (Google Calendar, JPA, ...) §  http://wisebed.eu/api/java/current/reference/eu/wisebed/api/rs/RS.html §  http://wisebed.eu/api/wsdl/rs/current/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The WISEBED Testbed APIs 25 iWSN SNAA   RS   Session  Management   WSN   WSN   Controller   WSN   WSN   n  Controller API n  Runs on client side n  „Controls“ the experiment n  Receives output and backend notifications §  http://wisebed.eu/api/java/current/reference/eu/wisebed/api/controller/Controller.html §  http://wisebed.eu/api/wsdl/iwsn/current/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The WISEBED Testbed APIs 26 iWSN SNAA   RS   Session  Management   WSN   WSN   Controller   WSN   WSN   n  Session Management API n  Provides method to static testbed (configuration) information n  Provides access to the reserved nodes (via getInstance()) §  http://wisebed.eu/api/java/current/reference/eu/wisebed/api/sm/SessionManagement.html §  http://wisebed.eu/api/wsdl/iwsn/current/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The WISEBED Testbed APIs 27 iWSN SNAA   RS   Session  Management   WSN   WSN   Controller   WSN   WSN   n  WSN: Wireless Sensor Network API (selection of methods!) n  Provides methods to §  Interact with sensor nodes (flash, reset, send messages, …) §  Configure the backend system (more on that later!) §  http://wisebed.eu/api/java/current/reference/eu/wisebed/api/wsn/WSN.html §  http://wisebed.eu/api/wsdl/iwsn/current/ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Interaction of the APIs - Client Perspective 28 +@AA* /0123345#"6"785-.89)5: ;9"6"<=87"2>>?B3#)&&* !"#"$%&()*+,#-".* #* %"*)(7" /0123345#"6"785-.89)5: K8*$"#"$ ;9"6"<=87"2>>>?3$#* J"&)+/";;*+<$51-* M8*$ )NO8 "-$5"%"*C * #/9- 7(4 +@*5)#-& L8*<$"&-"*")71(5)-* )*C+ ) @*5)# <"* 5C+@* -&)< "* +"##5()*D&)&E".")-* I()-$(;;"$* /0123345#"6"785-.89)5: ;9"6"<=87"2>>>>3#"##5()#* P""76 &<=*</ &)) ";* C+@* F$5%&-"*G!H* WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Interaction of the APIs – Backend Perspective 29 Session User SNAA RS Management authenticate() secretAuthenticationKeys makeReservation() isAuthorized() reply secretReservationKeys getInstance() getReservation() reservationData <<create>> Private WSN API endpoint URL WSN WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Live Presentation 30 n  Experimentation Scripts n  Pre-installed in the WISEBED Virtual Machine http://wisebed.eu/site/index.php/application-development/virtual-machine/ n  Download 0.7.3-SNAPSHOT http://www.itm.uni-luebeck.de/projects/testbed-runtime-htdocs/tr.experimentation-scripts-0.7.3- SNAPSHOT.tar.gz n  Documentation https://github.com/itm/testbed-runtime/wiki/Experimentation-Scripts-0.7.3 WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Live Presentation 31 1.  List node URNs of type „isense“ wb-list-node-urns testbeds/uzl.properties lines isense
 export NODES=…" 2.  Reserve nodes (20 minutes, starting from now) wb-reserve testbeds/uzl.properties 20 0 $NODES
 export RESERVATION=…" 3.  Check liveliness wb-are-nodes-alive testbeds/uzl.properties $RESERVATION" 4.  Listen to node output wb-listen testbeds/uzl.properties $RESERVATION
 " 5.  Reset nodes wb-reset testbeds/uzl.properties $RESERVATION
 " 6.  Flash nodes wb-flash testbeds/uzl.properties $RESERVATION binary-images/ example_app.bin WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Live Presentation 32 WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Web Service APIs Advanced Stuff
    • The Channel Pipeline 34 n  Problem: §  Every sensor node operating system uses a different message framing n  Examples: §  TinyOS: Raw or HdlcTranslateC (HDLC-based framing) §  iSense: Raw or DLE STX ... DLE ETX (HDLC-like framing) §  Your experimental OS: ? n  Testbed backend can only forward raw bytes to clients WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The Channel Pipeline 35 n  Configurable preprocessing of node output in the backend Client Upstream Downstream Upstream Handler N Downstream Handler 1 Upstream Handler N-1 … Channel Pipeline … Downstream Handler N-1 Upstream Handler 1 Downstream Handler N Sensor Node WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The Channel Pipeline 36 n  Example configurations: Raw Bytes = Empty Channel Pipeline Messages = Framing / Deframing Handlers hello world Client Client Upstream Downstream Upstream Downstream hello world DleStxEtxFramingDecoder DleStxEtxFramingEncoder DLE STX hell o world DLE ETX DLE STX hell o world DLE ETX Sensor Node Sensor Node WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • The Channel Pipeline 37 WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Live Presentation 38 WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Hands-On Session
    • Hands-On Session 40 1.  List node URNs of type „isense“ on UZL testbed (wb-list-node-urns) Only 1 node!!! 2.  Reserve nodes (60 minutes, starting from now) (wb-reserve) 3.  Check liveliness (wb-are-nodes-alive) 4.  Listen to node output (wb-listen)" 5.  Reset nodes (wb-reset)" 6.  Flash nodes (wb-flash) 7.  Set an empty channel pipeline (set-channel-pipeline) 8.  Set a DleStxEtx channel pipeline (wb-set-channel-pipeline) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • WISEBED - Wireless Sensor Network Testbeds WISEBED Advanced Topics (Outlook)
    • Wiselib: Platform-independent algorithms 42 n  Library of algorithms (like the C++ STL) §  Platform-independent (the Java of WSNs) §  Avoid vendor lock-in §  60+ well-known algorithms implemented §  Template-based, highly efficient (low footprint) n  Growing community of contributors §  Benefit from others, contribute for others n  Preinstalled in the Virtual Machine WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Current Set of Algorithms 43 Routing DSDV, DSR, Tree, Flood, TORA, AODV, … Clustering BFS, DFS, LEACH, … Timesync Flash Mob, LTS, TPSN, HRTS, … Triangulation, Ad-hoc Positioning, N-hop Multilateration, Robust Localization Positioning, GPS-free Positioning, … Energy Saving LMST, FLSS, Kneigh, XTC, CBTC, Ant-based, … Security SecureHDL, SecureDFS, AES, Elliptic Curve, SHA-1, HARPS, … Graph Algorithms DDFS, DBFS, TwoHop, Judged, MultiJudged, ParMultiJudged, … Virtual Links For wired and wireless testbeds WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Wiselib: Supported Platforms OS Radio Timer Logging Clock Serial Random Contiki þ þ þ þ þ þ TinyOS þ þ þ þ þ þ iSense þ þ þ þ þ þ þ ScatterWeb þ þ þ þ Feuerware þ þ þ þ TriSOS þ þ þ þ þ Shawn þ þ þ þ þ þ þ Linux þ þ þ þ þ þ Android þ þ þ þ iOS þ þ þ þ WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Run your own Testbed 45 n  All WISEBED implementations (back-/frontend) are Open Source! n  http://wisebed.eu/site/index.php/run-your-own-testbed n  Reference implementation: Testbed Runtime n  Run it at your desk n  Run it with your local (private) testbed n  Run it in a federation n  Separate implementations of APIs (for flexibility) n  Authentication & Authorization (SNAA) n  Htpasswd, Shibolleth, LDAP, … n  Reservation (RS) n  Google Calendar, Java Persistence API, … n  Experimentation (iWSN) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Virtual Links - Introduction 46 VL   TS   VL   VL   VL   VL   VL   VL   VL   TS   VL   VL   WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Virtual Links 47 n  Virtual radio is used by the application instead of the physical one §  For every packet that passes through it decides depending on the destination ID §  To drop it/alter it §  To forward it via one or all interfaces Application uses special „virtual radio“ interface (implemented, e.g., in the Wiselib ) WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Virtual Links 48 n  Virtual links between §  Same testbed §  Remote testbeds §  Real and simulated testbeds n  Virtual radio forwards packets to the testbeds server n  Testbed server routes messages to the destination WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Dancing Demo 49 n  http://www.youtube.com/watch?v=J0F7LFIpDe8 WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu
    • Summary 50 1.  Overview §  Available Sensor Nodes §  Testbed Architecture §  Terms 2.  Client Applications §  Web-based §  Desktop-based 3.  Web Service APIs 4.  Live Presentation 5.  Experimentation Hands-On 6.  Advanced Topics (Outlook) §  Cross-Platform Application Development with the Wiselib §  Run your own Testbed §  Virtual Testbeds WISEBED – Wireless Sensor Network Testbeds – http://wisebed.eu