ALG-Seminar Sensornetze Benutzung der Testbedsoftware in den Fluren Tobias Baumgartner TU Braunschweig 27. April 2011 Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 1 / 27
Testbedsoftware Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 2 / 27
Testbedsoftware Testbeds Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 3 / 27
Testbedsoftware Testbeds Flure Großer Flur Zugriff über wbportal.ibr.cs.tu-bs.de (im fensterlosen Raum) 30 isense-knoten, 3 Alix-Boards unterm Boden Alix-Boards: wbhallway{1,2,3}.ibr.cs.tu-bs.de 401..410 an wbhallway1 411..420 an wbhallway2 421..430 an wbhallway3 Miniflur Zugriff über algminiflur.ibr.cs.tu-bs.de 4 isense-knoten, Alix-Board eingebaut Knoten-IDs 101..104 Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 4 / 27
Testbedsoftware Testbeds Sensorplatzierung 0 Node 411 3 0 Node 413 3 1 2 1 2 Flur 1 2 1 2 Flur 0 Node 412 3 0 Node 414 3 = DMS Sensor Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 5 / 27
Testbedsoftware testbed-runtime Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 6 / 27
Testbedsoftware testbed-runtime testbed-runtime aka Daniel-Backend Java Framework aus Lübeck iwsn-api: Kommunikation mit Sensorknoten Reservierungssystem (RS): Reservieren von Sensorknoten für einen bestimmten Zeitraum Authentifizierung/Autorisierung (SNAA): Verwalten von Benutzern/Passwörtern/ggf. Rechten Experimentation scripts: Skriptbasierte Steuerung von Experimenten (Flashen, Debugausgaben sammeln,...) Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 7 / 27
Testbedsoftware testbed-runtime Ablauf Testbed-Zugriff Anfrage eines Benutzers mit user/pass sowie gewünschte Zeit bei RS RS fragt bei SNAA nach, ob user/pass auf das gewünschte Testbed zugreifen darf Wenn erfolgreich, gibt RS einen Reservierungsschlüssel (KEY) zurueck Mit dem KEY kann der Benutzer beim SM eine Instanz einer WSN-API beantragen Ist der KEY korrekt (SM fragt RS), gibt SM die URL einer WSN-API zurueck Mit dieser URL kann der Benutzer auf das Testbed zugreifen Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 8 / 27
Testbedsoftware testbed-runtime iwsn API Besteht aus WSN-API (Testbedzugriff) und Session-Management Konfiguration per XML-Datei (/opt/testbed-runtime/tr.iwsn-testbed.xml) Auf Alix-Boards im Flur Weiterleiten von Sensoroutput an Portal Server Weiterleiten von Kommandos vom Portal Server an Knoten Portal Server und Miniflur Webservices (SM, WSN-API) Protobuf-Interface (Webservices per Sockets) CoCoS Socket Connector Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 9 / 27
Testbedsoftware testbed-runtime Reservierungssystem Reservieren von Sensorknoten aus Testbed Konfiguration: /opt/testbed-runtime/tr.rs-testbed.properties Eintrag in Google Kalender TUBS-Testbed-Account tubs.testbed@googlemail.com Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 10 / 27
Testbedsoftware testbed-runtime SNAA Authentifizierung und Autorisierung Konfiguration: /opt/testbed-runtime/tr.snaa-testbed-shibb.properties Shibboleth Wisebed SNAA System Account in BS erlaubt z.b. auch Zugriff in Lübeck (nach expliziter Freischaltung dort) htpasswd User/pass in Datei Schnell gemacht, aber nicht übertragbar Derzeit in Benutzung: Shibboleth Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 11 / 27
Testbedsoftware Startskripte Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 12 / 27
Testbedsoftware Startskripte Starten/Stoppen der testbed-runtime (1 von 2) Drei Startskripte verfügbar /etc/init.d/tr.{iwsn rs snaa} {start stop restart force-reload stats isrunning} Logs in /var/log/testbed-runtime/ Prozess-ID in /var/run/testbed-runtime/ Portal Server (wbportal) und Miniflur (algminiflur) iwsn, RS, SNAA Alix-Boards im Flur (wbhallwayx) iwsn Starten der Scripte Jeweils als Benutzer testbed oder root Auf Miniflur derzeit auch Benutzer hhh1 und hhh2 Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 13 / 27
Testbedsoftware Startskripte Starten/Stoppen der testbed-runtime (1 von 2) DEMO Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 14 / 27
Experimentsteuerung Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 15 / 27
Experimentsteuerung Experimentation Scripts (1 von 2) Teil der testbed-runtime Skripte basierend auf Webservices und Sockets reserve check-alive[-proto] reset[-proto] flash[-proto] listen[-proto] show-wiseml Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 16 / 27
Experimentsteuerung Experimentation Scripts (2 von 2) DEMO Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 17 / 27
Experimentsteuerung CoCoS DEMO Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 18 / 27
Experimentsteuerung Tarwis https://wbportal.ibr.cs.tu-bs.de/portal/tarwis/welcome/ welcomeindex.php DEMO Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 19 / 27
Experimentsteuerung Wisebed SNAA https://wbident.ibr.cs.tu-bs.de/idpadmin/ https://wbident.ibr.cs.tu-bs.de/idpadmin/password DEMO Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 20 / 27
Software Outline 1 Testbedsoftware Testbeds testbed-runtime Startskripte 2 Experimentsteuerung 3 Software Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 21 / 27
Software isense-knoten (thx Winnie!) Kommunikation mit CoCoS und DMS-Board DMS-Werte lesen LED-Kommandos senden... Grundlegende Lib vorhanden Communicator: CoCoS < > isense < > DMS-Board SensorDataTask: Bearbeiten von DMS-Paketen, Weitergeben an CoCoS Einbinden in eigene Anwendung CoCoS funktioniert wie gewohnt Verteilte Algorithmenentwicklung möglich Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 22 / 27
Software Pakettypen Jede Nachricht CoCoS < > isense < > DMS-Board wird durch Type im ersten Byte identifiziert Basistypen 1 PCK DMS VALUES ID = D, 2 PCK DMS VALUES PAYLOAD = DMS COUNT s i z e o f ( u i n t 1 6 ), 3 PCK TEMPERATURE ID = H, 4 PCK TEMPERATURE PAYLOAD = 2, 5 PCK SENSOR EVENT ID = I, 6 PCK SENSOR EVENT PAYLOAD = 2, 7 PCK FLOOR TILE EVENT ID = J, 8 PCK FLOOR TILE EVENT PAYLOAD = 2, 9 PCK LEDS ID = L, 10 PCK LEDS PAYLOAD = 3, 11 PCK PIR STATE ID = P, 12 PCK PIR STATE PAYLOAD = 0, Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 23 / 27
Software Eigene Anwendung Ableiten von HallwaySensorHandler Methoden, die überschrieben werden können 1 /// Rohdaten d e r DMS ( d e r z e i t g e s e n d e t mit 250Hz ) 2 v o i d dms stream ( u i n t 8 id, u i n t 1 6 v a l u e ) ; 3 /// M i t t e l w e r t e d e r DMS: ( d e r z e i t g e s e n d e t mit 5Hz ) 4 v o i d dms event ( u i n t 8 id, u i n t 1 6 s h o r t t e r m, u i n t 1 6 l o n g t e r m ) ; 5 /// Wird a u f g e r u f e n, s o b a l d e i n PIR a u s s c h l a e g t 6 v o i d p i r e v e n t ( ) ; Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 24 / 27
Software Beispiel (1 von 2) Ableiten von isense::application und HallwaySensorHandler 1 c l a s s F l o o r t i l e S e n s o r 2 : p u b l i c i s e n s e : : A p p l i c a t i o n, 3 p u b l i c H a l l w a y S e n s o r H a n d l e r Berabeiten von Sensorwerten 1 #i f d e f USE DMS STREAM 2 v i r t u a l v o i d dms stream ( u i n t 8 id, u i n t 1 6 v a l u e ) ; 3 #e l s e 4 v i r t u a l v o i d dms event ( u i n t 8 id, u i n t 1 6 s h o r t t e r m, 5 u i n t 1 6 l o n g t e r m ) ; 6 #e n d i f Private Member 1 SensorDataTask s e n s o r d a t a t a s k ; 2 Communicator comm ; Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 25 / 27
Software Beispiel (2 von 2) Implementierung 1 F l o o r t i l e S e n s o r : : 2 F l o o r t i l e S e n s o r ( i s e n s e : : Os& os ) 3 : i s e n s e : : A p p l i c a t i o n ( os ), 4 s e n s o r d a t a t a s k ( os, comm ), 5 comm ( os, &s e n s o r d a t a t a s k, 0 ), 6 o s ( os ), 7 [... ] Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 26 / 27
Software #fin thx! Tobias Baumgartner (TUBS) ALG-Seminar Sensornetze 27. April 2011 27 / 27