bonjour a tous
je vous explique mon problème :
avec une interface W5100 et une arduino uno je pilote un relais en "attaquant" sa page web de cette manière "http://IP_ARDUINO?1"
le "?" déclenche la lecture ( d'apres ce que je comprend du code trouver sur le web ) et le "1" déclenche une action dans un "switch/case"
jusque la tout va bien et cela fonctionne
maintenant je voudrai interfacer avec un autre logiciel qui lui va envoyer une chaine de caractère du type "http://IP_ARDUINO?Chaine_de_caractère"
cette chaine ne dépassera pas les 8 caractère donc relativement courte
voici la partie qui fonctionne bien
void loop(){
EthernetClient client = server.available();
if(client){
boolean currentLineIsBlank = true;
boolean sentHeader = false;
while(client.connected()){
if(client.available()){
if(!sentHeader){
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();sentHeader = true;
}
char c = client.read();
if(reading && c == ' '){reading = false;}
if(c == '?'){reading = true;}
if(reading){
Serial.print(c);switch(c){
case '1':
digitalWrite(relay, LOW);
delay(2000);
digitalWrite(relay, HIGH);
break;}
}
if(c == '\n' && currentLineIsBlank){break;}
if(c == '\n'){
currentLineIsBlank = true;
}else if(c != '\r'){
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}
la question est donc avec quoi remplacer le switch/case pour traiter une chaine de caractère
j'avais penser a if( c== "?Chaine_de_caractère") mais cela ne déclenche rien
merci a vous