j'aie utilisé un serveur pour héberger une simple page html qui regroupe les boutons
<a href="off.php"><img src="image/off.gif" alt="off" width="32" height="32" border="0" align="middle" /></a> //bouton off
<a href="on.php"><img src="image/on.gif" alt="on" width="32" height="32" border="0" align="middle" /></a>//bouton on
elle appele une page en php (ici soit on.php soit off.php ) qui ouvre des pages sur arduino
code page on.php
<?php
$homepage = fopen("http://xx.xxx.xxx.xxx/on/","r");// ouvre la page on sur arduino xx.xxx.xxx.xxx= ip arduino
header("Location: http://www.url.com"); // retourne sur la première page des boutons
?>
bien sur on fait une autre page pour off
pas coton
le simple fait d'ouvrir une page entraine une une action d' arduino "on" et "off"
#include <Ethernet.h>
#include <TextFinder.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };// connexion mac
byte ip[] = { xxx,xxx,x,xx };// connexion ip
byte gateway[] = { xxx,xxx,x,xxx };//connexion gateway
byte subnet[] = {xxx,xxx,xxx,x }; // connexion subnet
char buffer[8];// pour le nom de la page
Server server(xx);//port
int pinled =5;
void setup()
{ Serial.begin(9600);
Ethernet.begin(mac, ip , gateway, subnet);
server.begin();
Serial.println("ok-pret");
}
void loop()
{
pinMode(pinled,OUTPUT);
Client client = server.available();
if (client) {
TextFinder finder(client );
while (client.connected()) {
if (client.available()) {
if( finder.find("GET ") ) {
// look for the page name
if(finder.getString( "/", "/", buffer, sizeof(buffer) ))
{
if(strcmp(buffer, "on") == 0)
showOn(client);
else if(strcmp(buffer, "off") == 0)
showOff(client);
else
unknownPage(client, buffer);
}
}
Serial.println();
break;
}
}
delay(1);
client.stop();
}
}
void showOn(Client client)
{
Serial.println("on");
sendHeader(client);
client.println("on");
digitalWrite(pinled, HIGH);
}
void showOff(Client client)
{
Serial.println("off");
sendHeader(client);
client.println("off");
digitalWrite(pinled, LOW);
}
void unknownPage(Client client, char *page)
{
Serial.print("Unknown : ");
Serial.println("page");
sendHeader(client);
client.println("<h1>Unknown Page</h1>");
client.println(page);
client.println("</body></html>");
}
void sendHeader(Client client)
{
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html><head><title>Web server on off</title>");
client.println("<body>");
}