Projektstudium, SS09. Protokoll: OSC. Andreas Böhler. Update: 22. Juli 2009. FH-Linz Studiengang Medizintechnik



Ähnliche Dokumente
Anleitung Grundsetup C3 Mail & SMS Gateway V

Erstellen einer in OWA (Outlook Web App)

1 Einleitung Anmelden und Abmelden Mail-Adresse einrichten Versenden von SMS Zusätzliche Einstellungen...

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

How to install freesshd

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Guide DynDNS und Portforwarding

Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Tutorial -

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

ARCO Software - Anleitung zur Umstellung der MWSt

Drahtlosnetzwerke automatisch konfigurieren mit WCN (Windows Connect Now) unter Windows Vista

Anleitung C3 IP Tools V loxone.c3online.at. Kontakt & Support. Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) MAIL info@c3online.

Konfigurationsbeispiel ZyWALL USG

Exchange-Server - Outlook 2003 einrichten. 1. Konfiguration Outlook 2003 mit MAPI. Anleitung: Stand:

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Step by Step VPN unter Windows Server von Christian Bartl

Anlegen eines DLRG Accounts

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Xylem WebService Demo Kurzbedienungsanleitung

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Professionelle Seminare im Bereich MS-Office

Virtual Private Network

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

1 Konto für HBCI/FinTS mit Chipkarte einrichten

Updatehinweise für die Version forma 5.5.5

Bluetooth Low Energy Demo mit dem Apple iphone 4s

ftp://ftp.dlink.de/dpr/dpr-1061/documentation/dpr-1061%20printer%20compatible%20list.pdf

Leitfaden Meine Daten ändern

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Installation des COM Port Redirectors

Powermanager Server- Client- Installation

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Anbindung des eibport an das Internet

Anleitung zur Nutzung des SharePort Utility

Einrichten des Elektronischen Postfachs

mmone Internet Installation Windows XP

Tipps und Tricks zu Netop Vision und Vision Pro

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

PC CADDIE SMS Versand

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Enigmail Konfiguration

VIP-Programm. Herzlich Willkommen!

INTERPRETER Interface. DATAWIN OMR Serie 10 Serie 50 Serie 300. Programmbeschreibung. Edition _01

Urlaubsregel in David

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Schritt 1: Starten Sie Hidemyass, wählen Sie "IP: Port Proxies"

snom Auto-Provisioning

ANLEITUNG NETZEWERK INSTALATION

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Aktivierung von Makros in den Erfassungshilfen

Änderungsbeschreibung HWS32 SEPA Überweisungen

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet

Kurzanleitung Verwendung von USB-Sticks

Abwesenheitsnotiz im Exchangeserver 2010

Kurzanleitung zum Einrichten eines POP3-Mail-Kontos unter Outlook 2013

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Kurzanleitung. Toolbox. T_xls_Import

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Internet online Update (Internet Explorer)

Aktivierungsanleitung für Postbank BestSign mit Seal One

teamsync Kurzanleitung

Newsletter verfassen und senden

Samsung Large Format Display

Installationsvoraussetzungen

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Print2CAD 2017, 8th Generation. Netzwerkversionen

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Fax einrichten auf Windows XP-PC

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand Ihre HTK-Filiale Michelstadt

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Internationales Altkatholisches Laienforum

Vertreterabrechnung DdD Cowis backoffice

K. Hartmann-Consulting. Schulungsunterlage Outlook 2013 Kompakt Teil 1

Installationsanleitung CLX.NetBanking

Elexis-BlueEvidence-Connector

Los geht s. aber Anhand meines Beispiels!

DNS-325/-320 und FXP

Abwesenheitsnotiz im Exchange Server 2010

Anleitung zur Verwendung der VVW-Word-Vorlagen

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Internet online Update (Mozilla Firefox)

QR-FUNKTION. Informationen über zu erledigende Aufgaben an das Reinigungspersonal senden.

FastViewer Remote Edition 2.X

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Leichte-Sprache-Bilder

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

Transkript:

Projektstudium, SS09 Protokoll: OSC Andreas Böhler Update: 22. Juli 2009 FH-Linz Studiengang Medizintechnik

Inhaltsverzeichnis 1 Allgemeines 3 2 Aufbau der Nachrichten 4 2.0.1 Mögliche Endpfade WiiMote............................. 4 2.1 Nunchuk.............................................. 4 2.1.1 Mögliche Endpfade Nunchuk............................. 4 2.2 BalanceBoard........................................... 4 2.3 Statusmeldungen......................................... 5 3 Kommunikation mit dem Frontend 6 4 WiiMaze 7 5 ScrewDriver 8 2

1 Allgemeines Eigentlich kommt OSC (OpenSoundControl) aus dem Soundbereich. Es wurde als Protokoll zur Steuerung von Audiogeräten entworfen und ist als solches auf hohe Geschwindigkeit ausgelegt. OSC-Übertragungen bestehen aus Nachrichten, die von einem Sender and einen bestimmten Zielport gesendet werden können. Eine Nachricht besteht wiederum aus einem Pfad (z.b. der Pfad zu einer Steuereinheit) und daran angefügten Daten (z.b. die Einstellungen der Steuereinheit). Wir benutzen das OSC Protokoll wie folgt: Server-Port MATLAB: 5600 Server-Port Python: 5601 Server-Port Flash: 3001 Server-Port WiiMaze: 5602 Die Messdaten der WiiMotes werden von einem Python-Script in OSC-Messages verpackt an MATLAB versendet. Die gleichzeitige Verwendung mehrerer WiiMotes und Nunchuks ist möglich, daher wurde das Protokoll entsprechend ausgelegt. Das Python-Skript kann beim Start durch Kommandozeilen-Parameter konguriert werden Parameter -i, ip Die IP-Adresse, auf der der OSC-Server laufen soll -p, port Der Port, auf dem der OSC-Server laufen soll 3

2 Aufbau der Nachrichten Der Pfad jeder Nachricht beginnt mit /wii um zu signalisieren, dass Daten der WiiMote kommen. Anschlieÿend wird die Nummer der WiiMote an den Pfad angehängt und abschlieÿend die Steuergröÿe: /wii/0/acc gibt den Pfad zu den Beschleunigungssensoren der ersten WiiMote an. /wii/1/button/a ist nur vorhanden, wenn der A-Knopf der zweiten WiiMote gedrückt ist. 2.0.1 Mögliche Endpfade WiiMote Pfad acc button/a, button/b,... irdata 2.1 Nunchuk liefert im Datenbereich ein Tuple mit Sensordaten: [gx gy gz] im Bereich [0-255]. Diese Daten sind nicht kalibriert (Rohdaten!) liegen nur an, wenn der entsprechende Knopf gedrückt ist. Dann sind die Daten auf [1] gesetzt. liefert die Koordinaten von bis zu vier getrackten IR-Punkten zurück. [ir1x, ir1y, ir2x, ir2y, ir3x, ir3y, ir4x, ir4y] in den Bereichen [(0-1023,0-767)]. Wird kein Punkt gefunden, liegt die y-komponente auf 1023 (also auÿerhalb des eigentlichen Wertebereiches). Der Nunchuk ist mit dem Pfad der entsprechenden WiiMote verknüpft und setzt sich daher wie folgt zusammen: /wii/0/nunchuk/button/c ist nur vorhanden, wenn der C-Knopf des ersten Nunchuk gedrückt wird. /wii/1/nunchuk/acc liefert die Beschleunigungsdaten des zweiten Nunchuks. 2.1.1 Mögliche Endpfade Nunchuk button/c, button/z sind nur vorhanden, wenn die entsprechenden Knöpfe gedrückt sind und enthalten den Datenwert [1]. acc liefert als Tuple die Rohdaten der Beschleunigungssensoren im Bereich [0-255]: [gx, gy, gz]. stick liefert die Rohdaten der Analog-Sticks im Bereich [0-255] als Tuple: [sx, sy]. 2.2 BalanceBoard Das BalanceBoard wird ähnlich einem Nunchuk unterstützt, da das BalanceBoard eine WiiMote mit Extensions-Controller emuliert. Die Pfade sehen wie folgt aus: 4

2.3. Statusmeldungen Kapitel 2. Aufbau der Nachrichten Pfad /wii/0/button/a /wii/0/bb/force /wii/0/bb/calib ist der einzige Knopf des BalanceBoards liefert ein Tuple der aktuellen Messdaten im Format [tr, br, tl, bl] als 2-Byte unsigned integer liefert ein Tuple mit Kalibrationsdaten im Format [tr0,br0,tl0,bl0,tr17,br17,tl17,bl17,tr34,br34,tl34,bl34] 2.3 Statusmeldungen Das Python-Skript sendet diverse Statusmeldungen per OSC. Pfad /wii/devices Sendet ein Tuple im Format ["Adresse", "Name"] über gefundene BT-Geräte /wii/ping Sendet ["OK"], falls das Frontend noch läuft /wii/0/batterylevel Sendet den Batteristand der gewählten WiiMote /wii/0/status Sendet den Status der gewählten WiiMote als Tuple, falls das entsprechende Feature aktiviert ist: ["Bat", "Ext", "Spk", "IR", "L1", "L2", "L3", "L4"] (c) 2009 Andreas Böhler 5 v1.0, 2009/04/24

3 Kommunikation mit dem Frontend Das Python-Frontend arbeitet auf Port 5601 und erwartet folgende Nachrichten: /wiipy ist die Adresse des Frontends mit folgenden Parametern: Tuple ["setup", 0, "debug", 1] Setzt die Parameter für WiiMote der gegebenen Nummer ["connect", 0, Baut eine Verbindung zur Adresse mit der gegebenen "00:4f:4e:13:56:40"] Nummer auf ["disconnect", 0] Trennt WiiMote der gegebenen Nummer ["discover"] Sucht nach Bluetooth-Devices und sendet das Ergebnis per OSC ["ping"] Sendet nur ein simples Reply um zu testen, ob das Frontend noch läuft ["status"] Liefert als Tuple [1, 1, 1, 1] zurück, wenn alle WiiMotes verbunden sind ["cong", "ip", Konguriert IP und Port, an die die OSC-Daten gesendet "127.0.0.1", "port", werden sollen 5600] 6

4 WiiMaze Das Spiel WiiMaze kann ebenfalls per OSC gesteuert werden. Hierfür sind folgende Befehle an Port 5602 mit Pfad /wiimaze möglich: Tuple [start] Startet ein neues Spiel [position, xx, yy] Bewegt den Cursor an Position xx/yy in Absolutwerten [0;1] [level, ll] Setzt das Level auf den gewählten Wert ll [quit] Beendet das Spiel, lässt aber den OSC-Server laufen [shutdown] Beendet Spiel und OSC-Server 7

5 ScrewDriver Die Kommunikation mit dem ScrewDriver kann per Java-Kommunikator auf Port 3001 mit dem Pfad /wiigame erfolgen. Mögliche Befehle: Tuple [x, xx, y, yy] Bewegt den Cursor an Absolut-Positionen xx/yy [0;1] [r, rr] Rotiert die Schraube um den Winkel rr (in Grad [0;360]) 8