Go Down

Topic: Recupération de paramètres (Read 781 times) previous topic - next topic

colassep

Jun 10, 2011, 02:48 pm Last Edit: Jun 12, 2011, 07:30 am by Jean-François Reason: 1
Bonjour à tous !

Je suis débutant avec ma carte Arduino Mega 2560.
J'aimerai récupérer un paramètre fourni à la carte depuis une page web.

192.168.1.10/?O     ou     192.168.1.10/?F       ou    192.168.1.10/?S

Quand je lis la valeur du paramètre :

-avec mes trois if, j'obtiens "S" quelle que soit le paramètre passé et en plus toutes mes leds s'allument à tour de rôle
-en retirant les 3 if, j'obtiens "G" !!???

Quelqu'un a une idée ??? J'avoue que je patauge dur dans le passage et la récupération de paramètre et je ne trouve pas d'exemple minimum qui traite de ce sujet....

Merci pour votre aide !!!

Voilà ce que j'ai inséré dans mon code pour cela (après les déclarations d'usage).


Code: [Select]

void loop(){
// Create a client connection
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();

//mes trois if :
if (c ='O'){ // si la chaine recherchee est O pour OUVERTURE
       digitalWrite(Monte,HIGH); // allume la LED
       delay (1000);              // appui pendant 1 s
       digitalWrite(Monte,LOW); // éteind la LED
 
   } // fin instruction Ouverture
if (c ='F'){ // si la chaine recherchee est F pour FERMETURE

       digitalWrite(Descend,HIGH); // allume la LED
       delay (1000);              // appui pendant 1 s
       digitalWrite(Descend,LOW); // éteind la LED
     } // fin instruction Fermeture
     
if (c ='S'){ // si la chaine recherchee est S pour STOP

       digitalWrite(Stop,HIGH); // allume la LED
       delay (1000);              // appui pendant 1s
       digitalWrite(Stop,LOW); // éteind la LED
     } // fin instruction STOP Volet

//---- debut de la page HTML ---
client.println(F("<html>"));

// ---- Entete de la page HTML ----
client.println(F("<head>"));
client.println(F("</head>"));      
client.println(F("<body>"));            
           
           client.print(c);
client.println(F("</body>"));  
client.println(F("</html>"));  
//stopping client
client.stop();
}}}}

jpfr

#1
Jun 10, 2011, 03:29 pm Last Edit: Jun 12, 2011, 07:30 am by Jean-François Reason: 1
Bonjour

Essaye

Code: [Select]

f (c == 'O'){ // si la chaine recherchee est O pour OUVERTURE
       digitalWrite(Monte,HIGH); // allume la LED
       delay (1000);              // appui pendant 1 s
       digitalWrite(Monte,LOW); // éteind la LED
 
   } // fin instruction Ouverture
if (c == 'F'){ // si la chaine recherchee est F pour FERMETURE

       digitalWrite(Descend,HIGH); // allume la LED
       delay (1000);              // appui pendant 1 s
       digitalWrite(Descend,LOW); // éteind la LED
     } // fin instruction Fermeture
     
if (c == 'S'){ // si la chaine recherchee est S pour STOP

       digitalWrite(Stop,HIGH); // allume la LED
       delay (1000);              // appui pendant 1s
       digitalWrite(Stop,LOW); // éteind la LED
     } // fin instruction STOP Volet

colassep

Merci JP, mais je viens de m'apercevoir qu'il manquait un = pour if (c == 'F'), mais cela ne change pas grand chose...

En tous cas, c'est sympa de m'aider. Je me sens moins seul devant cette bête récalcitrante.

Maintenant j'obtiens -1 comme valeur...

Merci


colassep

#3
Jun 10, 2011, 05:06 pm Last Edit: Jun 11, 2011, 01:45 pm by colassep Reason: 1
Ha ! Il y a du mieux !!!

En POST j'arrive a recuperer le parametre..


En GET (depuis une adresse en url?param=F par exemple, alors je n'ai rien...
J'ai du oublier de déclarer un truc pour Get

Désolé d'être si nul, mais bon il faut bien débuter...
Je trouve qu'il manque de scripts simples pour débuter avec le Shield Ethernet...
Merci !

colassep

Salut à tous !!

Personne n'a d'idée pour la methode GET ?

Merci beaucoup !!

Jean-François

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

colassep

Merci Jean-François !

C'est sympa.

Go Up