Progettone

Salve,

dopo lunghe peripezie oggi sono finalmente riuscito a far comunicare la mia Arduino con il router DIR-300 via porta seriale semplicemente digitando echo “caratterescelto” > /dev/tts/1 su telnet. Tempo fa ero anche riuscito ad attuare dei led posti sui pin pwm tramite iPhone (iPhone> Touch OSC> Wifi> Processing> Seriale> Arduino).

Oggi volevo collegare i due progetti per riuscire ad accendere i Pin su Arduino e variarli di intensità con iPhone senza fili che limitino arduino: dovrebbe essere in grado di accendere i led senza fili che si colleghino al computer.

Per accendere i led con iPhone ho fatto seguito questo tutorial:http://www.youtube.com/watch?v=s9etKD2y-Zk

Io penso che per inviare i segnali che Arduino riceve via Firmata occorra intervenire sul codice di processing:

import cc.arduino.;
import processing.serial.
;
import oscP5.;
import netP5.
;

Arduino arduino;

OscP5 oscP5;

float redAmount = 0.0f;
float greenAmount = 0.0f;
float blueAmount = 0.0f;
float whiteAmount = 0.0f;

void setup(){
background(0);
oscP5 = new OscP5(this, 8000);
arduino = new Arduino(this, Arduino.list()[0],57600);

}

void draw(){
background(redAmount, greenAmount, blueAmount, whiteAmount);

//write to arduino
arduino.analogWrite(11, int(redAmount));
arduino.analogWrite(10, int(greenAmount));
arduino.analogWrite(9, int(blueAmount));
arduino.analogWrite(6, int(whiteAmount));
}

void oscEvent(OscMessage theOscMessage){
String addr = theOscMessage.addrPattern();
float val = theOscMessage.get(0).floatValue();

if(addr.equals("/1/red")){ redAmount = val;}
if(addr.equals("/1/green")){ greenAmount = val;}
if(addr.equals("/1/blue")){ blueAmount = val;}
if(addr.equals("/1/white")){ whiteAmount = val;}

}

Il problema è che non so proprio come comunicare con telnet tramite processing.

Qualcuno mi può aiutare?

P.S. prometto che scriverò un tutorial esaustivo su come fare tutto questo! Così nessuno avrà più questo problema.

Grazie

processing è bastao su java, e java usa i socket. prova a cercare qualcosa a riguardo.