Page PHP et Arduino Ethernet Shield

Salut à tous !!!
Sauriez vous m’aiguiller pour la commande de Pins quelconque de l’arduino MEGA à l’aide de l’Arduino Ethernet Shield et d’une page PHP ??

J’avais déjà fais ça avec ce code récupéré sur internet :

//simple button GET server code to control servo and arduino pin 5
//for use with IDE 1.0
//open serial monitor to see what the arduino receives
//use the \ slash to escape the " in the html
//for use with W5100 based ethernet shields
//Powering a servo from the arduino usually DOES NOT WORK.
//note that the below bug fix may be required
// http://code.google.com/p/arduino/issues/detail?id=605
 
#include <SPI.h>
#include <Ethernet.h>
 
#include <Servo.h>
Servo myservo;  // create servo object to control a servo
 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 17 }; // ip in lan
byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
 
String readString;
 
//////////////////////
 
void setup(){
 
  pinMode(6, OUTPUT); //pin selected to control
  //start Ethernet
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  //the pin for the servo co
  //enable serial data print
  Serial.begin(9600);
  Serial.println("server LED test 1.0"); // so I can keep track of what is loaded
}
 
void loop(){
  // Create a client connection
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
 
        //read char by char HTTP request
        if (readString.length() < 100) {
 
          //store characters to string
          readString += c;
          //Serial.print(c);
        }
 
        //if HTTP request has ended
        if (c == '\n') {
 
          ///////////////
          Serial.println(readString); //print to serial monitor for debuging
 
          client.println("HTTP/1.1 200 OK"); //send new page
          client.println("Content-Type: text/html");
          client.println();
 
          client.println("<HTML>");
          client.println("<HEAD>");
          client.println("<meta name='apple-mobile-web-app-capable' content='yes' />");
          client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />");
          client.println("<link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css' />");
          client.println("<TITLE>Home Automation</TITLE>");
          client.println("</HEAD>");
          client.println("<BODY>");
          client.println("<H1>Home Automation</H1>");
          client.println("<hr />");
          client.println("
");
         
          client.println("<a href=\"/?lighton\"\">Turn On Light</a>");
          client.println("<a href=\"/?lightoff\"\">Turn Off Light</a>
");        
 
          client.println("</BODY>");
          client.println("</HTML>");
 
          delay(1);
          //stopping client
          client.stop();
 
          ///////////////////// control arduino pin
          if(readString.indexOf("?lighton") >0)//checks for on
          {
            digitalWrite(6, HIGH);    // set pin 4 high
            Serial.println("Led On");
          }
          else{
          if(readString.indexOf("?lightoff") >0)//checks for off
          {
            digitalWrite(6, LOW);    // set pin 4 low
            Serial.println("Led Off");
          }
          }
          //clearing string for next read
          readString="";
 
        }
      }
    }
  }
}

Mais la page est franchement dégueulasse.
Mon but serait d’arriver à faire une page de connexion avec Pseudo et Mot de passe pour ensuite avoir accès aux Pins de l’arduino MEGA.

Merci !!

Alors ?? Quelqu'un pour m'aider ??

Salut,

bon je vois que tu n'a pas trouver beaucoup d'aide alors je vais essayer de t'aider ^^

Bon déjà sur arduino pour récupéré des info d'une page web tu dois utiliser un form POST

J'ai fait un projet avec une page web et des interactions, regarde ce topic:

http://forum.arduino.cc/index.php?topic=102195.0

après tu devrais pouvoir arriver à faire id et mdp et en fonction envoyer vers une page ou une autre, le système que j'avais utilisé etait bien plus compliqué que le tien mais tu devrais pouvoir t'inspirer de quelque ligne, si tu à du mal je reviendrai vers toi t'éxpliquer !

Skizo.

autant pour moi je vien de vérifier et c'est FORM GET et pas POST :)

Voila allé bon courage ^^'

ok merci de la réponse mais je remarque que tu utilise le HTML sur ton code. En faite, moi je voudrais plutôt réussir à récupérer des données d'un page hébergé sur 000WebHost ( Hébergeur PHP gratuit avec SQL gratuit) pour éviter de stocker toutes mes pages sur l'arduino.

Tu saurais m'aider ????

Tiens je viens de trouver ça : http://forum.arduino.cc/index.php/topic,33290.0.html
Avec ce message qui m’intéresse :

polo-m:
Je ne comprend pas tout alors, qu’entend-tu pas ordre ? L’arduino peut être configuré pour attendre une requête http (par exemple de formulaire de type post, avec passage de paramètres). La réponse peut être récupérée dans l’instruction loop avec Client.read(), après il faut tester les paramètres de la requête et faire le traitement voulu. Dis moi si j’ai pas compris ta demande

Peut être que c’est applicable sur une page hébergé mais comment ?

bonjour, regardes du coté de iframe pour afficher une page externe.

infobarquee: bonjour, regardes du coté de iframe pour afficher une page externe.

Merci, j'ai trouvé ça : http://www.w3schools.com/tags/tag_iframe.asp

Donc déjà, grâce à toi, charger une page externe, je peux le faire. Mais maintenant j'aimerais récupérer les valeurs de cette page (zone de texte, bouton, etc ...)

Mais... Comment ?

SVP, répondez-moi car je ne trouve rien sur google

Bonjour,

Pour récupérer les données issues de l'iframe tu peux utiliser du Javascript. Sinon, on veut aussi utiliser des requêtes Ajax au lieu de l'iframe. C'est plus simple à traiter ensuite en JS. Par contre je n'ai jamais fait ça avec l'arduino. Peut-être que quelqu'un a plus d'infos.