Das OSC-Protokoll wurde ursprünglich entwickelt, um Sythesizer und andere elektronische Musikinstrumente über ein Netzwerk kontrollieren - wegen seiner universellen Einsetzbarkeit hat es sich jedoch zu einem weitverbreiteten Standard „zum Kommunizieren von allem Möglichen“.
Besonderer Vorteil: Es gibt Libraries für so ziemlich jede Platform und Programmiersprache und fertige Apps für das Senden von Nachrichten vom Handy aus (z.B. das kommerzielle TouchOSC).
Eine OSC-Nachricht enthält zwei grundsätzliche Informationen:
Damit euer Arduino-Programm mit OSC-Nachrichten etwas anfangen kann, müssen diese zuerst in ihre Adresse und Argumente zerlegt werden. Dafür gibt es eine sehr bequeme (und leider auch etwas „fette“) Library, die ich für euch so angepasst habe, dass sie mit einem über die Serielle Schnittstelle angebundenem WiFly-Modul funktioniert:
https://github.com/Zapalot/ArdOscForSerial
Wieder gilt:
Wie das Senden und Empfangen von OSC-Nachrichtem vom Arduino aus funktioniert, seht ihr in den Beispielen der Library.
WICHTIG: Ihr müsst aufpassen, dass ihr die Argumente einer OSC-Nachricht auch als den Typen rausholt, als der sie geschickt wurde - sonst passieren u.U. seltsame Dinge…
Eine Library zum verschicken von OSC-Nachrichten (über WLAN oder Netzwerk) unter Processing gibt es hier: http://www.sojamo.de/libraries/oscP5/. Unter Processing läuft die Installation etwas unkomplizierter übers Menü: Sketch/Import Library/Add Library/oscP5
.
Schaut euch das Beispiel Contributed Libraries/oscP5/oscP5message
an. Damit der Code aus dem Beispiel funktioniert, müssend dort noch die IP Adresse und der Port der Wifly eingetragen werden, damit die Nachrichten auch an den richtigen Empfänger gehen.