|
CLASS DOCUMENTS
REPORTS & ASSIGNMENTS
CLASS CONTENT
USING THIS SITE
registered authors login here You are: (logout) For more on PMWiki, see pmwiki.org |
Processing Code//Mashed together code from Amit's LiveInput example for Sonia and Tom's Processing to PHP code. import processing.net.*; import pitaru.sonia_v2_9.*; // automcatically added when importing the library from the processing menu. float meterDataLeft; float meterDataRight; float sensorValue; boolean netSendInProgress = false; Client client; void setup(){ size(512,200); Sonia.start(this); // Start Sonia engine. LiveInput.start(256); // Start LiveInput and return 256 FFT frequency bands. } void draw(){ getMeterLevel(); // Show meter-level reading for Left/Right channels.
if (!netSendInProgress) {
sendToNet(sensorValue);
}
if (netSendInProgress) {
if (client.available() > 0) {
int inByte = client.read();
print((char)inByte);
if (inByte == 0) {
netSendInProgress = false;
// don't overwhelm the server:
delay(3000);
}
}
}
} void getMeterLevel(){ // get Peak level for each channel (0 -> Left , 1 -> Right) // Value Range: float from 0.0 to 1.0 // Note: use inputMeter.getLevel() to combine both channels (L+R) into one value. meterDataLeft = LiveInput.getLevel(); meterDataRight = LiveInput.getLevel(); sensorValue = ((meterDataLeft + meterDataRight)/2); } // Safely close the sound engine upon Browser shutdown. public void stop(){ Sonia.stop(); super.stop(); } void sendToNet(float sensorValue) { // open a TCP socket to the host:
client = new Client(this, "itp.nyu.edu", 80);
//print the IP address of the host:
println(client.ip());
// send the HTTP GET request:
String sensorString = Float.toString(sensorValue);
client.write("GET /~gak217/fall05/sensor/sensorlog/sensor.php?micval=" + sensorValue + " HTTP/1.1\n");
client.write("HOST: itp.nyu.edu\n\n");
netSendInProgress = true;
} |