Commande de relais par usb/prossessing sous ubuntu

Bonjours je voudrais savoir comment je peux faire pour commander des relais pour un petit projet domotique ...
je vous explique, j'ai un serveur sous ubuntu-server je voudrais y connecter mon arduino uno par usb et le commander via prossesing genre:
un clic sur un bouton de la page web
le serveur le communique a l'arduino
l'arduino active le relais (un certain temps)

mon code fonctionne sous win7 qd j'apuie sur la touche "6" la led de la borne 6 s'allume etc...
mais je ne sait pas comment faire sous linux
avez vous une idée ???

merci d'avance

voila mon code tout dégueu (je ne m'is connais pas du tout )

int incomingByte = 0;   // variable pour lecture de l'octet entrant
int relais1 = 6;        // Monté
int relais2 = 7;        // Descente
int relais3 = 8;
int relais4 = 9;
int relais5 = 10;
int relais6 = 11;
int relais7 = 12;
int relais8 = 13;

void setup() {
  Serial.begin(9600);     // ouvre le port série et fixe le débit à 9600 bauds
  
  pinMode(relais1, OUTPUT);
  pinMode(relais2, OUTPUT);
  pinMode(relais3, OUTPUT);
  pinMode(relais4, OUTPUT);
  pinMode(relais5, OUTPUT);
  pinMode(relais6, OUTPUT);
  pinMode(relais7, OUTPUT);
  pinMode(relais8, OUTPUT);
}


/// Allume la LED, en affichant un message
void led_on1() {
  Serial.println("J'allume la LED1");
  digitalWrite(relais1, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off1() {
  Serial.println("J'éteins la LED1");
  digitalWrite(relais1, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on2() {
  Serial.println("J'allume la LED2");
  digitalWrite(relais2, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off2() {
  Serial.println("J'éteins la LED2");
  digitalWrite(relais2, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on3() {
  Serial.println("J'allume la LED3");
  digitalWrite(relais3, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off3() {
  Serial.println("J'éteins la LED3");
  digitalWrite(relais3, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on4() {
  Serial.println("J'allume la LED4");
  digitalWrite(relais4, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off4() {
  Serial.println("J'éteins la LED4");
  digitalWrite(relais4, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on5() {
  Serial.println("J'allume la LED5");
  digitalWrite(relais5, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off5() {
  Serial.println("J'éteins la LED5");
  digitalWrite(relais5, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on6() {
  Serial.println("J'allume la LED6");
  digitalWrite(relais6, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off6() {
  Serial.println("J'éteins la LED6");
  digitalWrite(relais6, LOW);    // set the LED off
}


/// Allume la LED, en affichant un message
void led_on7() {
  Serial.println("J'allume la LED7");
  digitalWrite(relais7, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off7() {
  Serial.println("J'éteins la LED7");
  digitalWrite(relais7, LOW);    // set the LED off
}

/// Allume la LED, en affichant un message
void led_on8() {
  Serial.println("J'allume la LED8");
  digitalWrite(relais8, HIGH);   // set the LED on
}
 
/// Eteint la LED, en affichant un message
void led_off8() {
  Serial.println("J'éteins la LED8");
  digitalWrite(relais8, LOW);    // set the LED off
}




void loop() {
  char cmd;
  //relais1
  //commande de volet relais actif pendant 10sec seulement 
  //Monter
  if (Serial.available()>0) { // au moins 1 caractère entré ?
    cmd = Serial.read();      // lit un caractère
    switch(cmd) {
      case '6':               // volet droit monte                                      je tape 6 ds le moniteur serie 
       led_on1();            //active le relais                                          la led de la borne 6 s'allume
       delay(20000);           //patiente 20seconde que le volet soit haut                j'attend 20sec 
       led_off1();             //arrete le relais                                          la led s'eteind
        break;                // sortie du switch{}                                      
      
      case '7':               //volet droit descend
       led_on2();              //active le relais
       delay(20000);           //patiente 20seconde que le volet soit haut
       led_off2();             //arrete le relais
       break; 
        
       case '8':               // volet gauche monte
        led_on3();              //active le relais
        delay(20000);           //patiente 20seconde que le volet soit haut
        led_off3();             //arrete le relais
       break;
        
       case '9':               // volet gauche descend
        led_on4();            //active le relais
        delay(20000);           //patiente 20seconde que le volet soit haut
        led_off4();             //arrete le relais
       break;
        
       case '10':               // volet sdb monte
        led_on5();             //active le relais
        delay(20000);           //patiente 20seconde que le volet soit haut
        led_off5();             //arrete le relais 
       break;
        
       case '11':               // volet sdb descend
        led_on6();            //active le relais
        delay(20000);           //patiente 20seconde que le volet soit haut
        led_off6();             //arrete le relais
       break;                // sortie du switch{}
       
       case '12':               // volet droit monte
         led_on7();            //active le relais
         delay(20000);           //patiente 20seconde que le volet soit haut
         led_off7();             //arrete le relais
        break; 
       
       case '13':               // volet droit monte
         led_on8();            //active le relais
         delay(20000);           //patiente 20seconde que le volet soit haut
         led_off8();             //arrete le relais
        break; 
       
       
  }
  }
}

Bonjour,
Sous linux as-tu les droits d'écriture sur les ports d'entrées / sorties ?
@+

surement, mais je ne sait pas tres bien comment je doit m'y prendre pour verifier!

si jamais tu trouve la solution à ton probleme ailleurs, viens le résoudre ici pour permettre aux autres d'apprendre quelques chose de ce topic.

www.deltadomotique.fr

icare:
Bonjour,
Sous linux as-tu les droits d'écriture sur les ports d'entrées / sorties ?
@+

Ce n'est pas nécessaire puisqu'il commande l'arduino par le port série virtuel.