OSC Kommunikation in Processing

Aus hyperdramatik
Wechseln zu: Navigation, Suche

1. IP Adresse herausfinden

Unter einer IP Adresse versteht man den Standort eines Computers in einem Netzwerk.

Schritte:

Firewall ausstellen (Privat und Public Domain).

im Windows Suchfeld "CMD" oder "MeshLabServer" eingeben.

In dem MeshLabServer-Fenster, “ipconfig” eingeben.

Beispiel einer IP Adresse: 192.168.236.75

Capture.PNG


2. Verbindung mit anderer IP Adresse

Ping ist ein Diagnose-Werkzeug, mit dem überprüft werden kann, ob ein bestimmter Host in einem IP-Netwerk erreichbar ist.

In dem MeshLabServer-Fenster, “ping IPAdresse” eingeben.

Capture1.PNG


Troubleshooting:

Firewall prüfen: Settings > Firewall & Network protection > Domain Network, Private Network & Public Network ausschalten.

Vergabe der IP Adresse prüfen: Auf das Internetsymbol rechtsklick > Open Netzwerk and Internet Settings > Change Adapter Options > Auf das PC-Symbol mit dem Internet.

Capture2.PNG


Rechtsklick > Properties > Internet Protocol Version 4 >> (doppelklick)


Capture3.PNG


Wenn hier eine feste IP Adresse steht “Use the following IP address”, umstellen auf “Obtain an IP adress automatically”.

3. in Processing

oscP5 Library (by Andreas Schlegel) herunterladen:[1]

Dazu einen neuen Processing Sketch öffnen.

Im Sketch oben in der Leiste auf “Scetch” > “Import Library” > oscP5

Im Sketch die Library wieder rauslöschen( brauchen wir nicht) und bei “File”>”Examples”>”Contributed Libraries”>”oscP5”> “oscP5SendRecieve”.

Den Examplecode haben wir wie folgt verändert;

a) wir haben unsere eigenen IP-Adressen eingefügt:

Capture4.PNG

b) wir haben die jeweilig anderen PC als Variable deklariert:

Capture5.PNG

c) IP Adresse der anderen Person hinzufügen:

Capture6.PNG

d) Code:


/**
 * oscP5sendreceive by andreas schlegel
 * example shows how to send and receive osc messages.
 * oscP5 website at http://www.sojamo.de/oscP5
 */
 
import oscP5.*;
import netP5.*;
 
OscP5 oscP5;
NetAddress myRemoteLocation;
NetAddress TomasRemoteLocation;

void setup() {
 size(400,400);
 frameRate(25);
 /* start oscP5, listening for incoming messages at port 12000 */
 oscP5 = new OscP5(this,12000);

 /* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters,
  * an ip address and a port number. myRemoteLocation is used as parameter in
  * oscP5.send() when sending osc packets to another computer, device,
  * application. usage see below. for testing purposes the listening port
  * and the port of the remote location address are the same, hence you will
  * send messages back to this sketch.
  */
//myRemoteLocation = new NetAddress("192.168.236.83",12000);
TomasRemoteLocation = new NetAddress("192.168.236.75",12000);

}
 void draw() {
  background(0);  
}

void mousePressed() {
 /* in the following different ways of creating osc messages are shown by example */
 OscMessage myMessage = new OscMessage("/halloTomas");
 
 myMessage.add(123); /* add an int to the osc message */

 /* send the message */
 //oscP5.send(myMessage, myRemoteLocation);
 oscP5.send(myMessage, TomasRemoteLocation);
 }


/* incoming osc message are forwarded to the oscEvent method. */
void oscEvent(OscMessage theOscMessage) {
 /* print the address pattern and the typetag of the received OscMessage */
 print("### received an osc message.");
 print(" addrpattern: "+theOscMessage.addrPattern());
 println(" typetag: "+theOscMessage.typetag());
}