...
Code Block |
---|
import oscP5.*; // oscP5 Library importieren import netP5.*; // netP5 Library importieren OscP5 oscP5; // Kontrollobjekt anlegen NetAddress remoteLocation; // Zieladresse anlegen |
Im nächsten Schritt übergeben initialisieren wir die Werte für die OSC Kommunikation innerhalb des setup()Library und setzen die Zieladresse:
Code Block |
---|
void setup() { oscP5 = new OscP5(this, 12000); // Library starten und auf Port 12000 auf eingehende Nachrichten warten remoteLocation = new NetAddress("172.31.224.73", 12000); // Die IP Adresse sowie der Port des Empfänger } |
Um a usgehende Daten zu handeln kreiert man nun lediglich eine neue OSC Message, hängt die zu schickenden Daten (in unserem Fall die Werte des Potentiometers) an und versendet dann das gesamte Packet:
Code Block |
---|
1.OscMessage myMessage = new OscMessage("Arduino"); // New Message
2.myMessage.add(theData); // Add Data
3.oscP5.send(myMessage, myRemoteLocation); // Send Message |
Ausgangspunkt für den Versand bzw. das Empfangen von Daten bilden folgende zwei Beispiele:
...
language | java |
---|---|
title | Beispiel OSC Senden |
collapse | true |
...
Nun müssen wir nur noch Nachrichten erstellen und diese and die Zieladresse schicken:
Code Block | ||||||
---|---|---|---|---|---|---|
void mousePressed() { size(400, 400); oscP5OscMessage msg = new OscP5(this, 0000); // start oscP5, listening for incoming messages at port 12000 myRemoteLocation = new NetAddress("172.31.224.95", 1111OscMessage("/test"); // TheNeue Address defined here is the Address of the Receiver } void draw() { background(0); sendOSC(255); } void sendOSC(int theData) { OscMessage myMessage = new OscMessage("Moritz"); // New Message myMessage.add(theDataNachricht mit "/test" als Adress-Muster msg.add(123); // AddEinfache Zahl Dataanhängen oscP5.send(myMessagemsg, myRemoteLocationremoteLocation); // Senden Sendder MessageNachricht } | ||||||
Code Block | ||||||
| ||||||
import oscP5.*;
import netP5.*;
OscP5 oscP5;
void setup()
{
size(800, 400);
oscP5 = new OscP5(this, 7777);
}
void draw()
{
}
|
Um Nachrichten zu empfangen können wir folgenden Code hinzufügen:
Code Block |
---|
void oscEvent(OscMessage theOscMessagemsg) { printprintln("### received an osc message.Neue Nachricht"); println(" addrpatternAddrPattern: " +theOscMessage msg.addrPattern()); // Ausgeben des //printAdress-Muster println(" typetagTypeTag: " +theOscMessage msg.typetag()); // Ausgeben des Type-Tag //print(millis()); Adress-Muster überprüfen if (theOscMessagemsg.addrPattern().equals("/CoMtest")) { // Mitgesendete Zahl {ausgeben println(theOscMessage.get(0).stringValueintValue()+" "+theOscMessage.get(1).stringValue()+" "+theOscMessage.get(2).stringValue()); } } |