Je veux récupérer dans un prog php tournant sur WAMPSERVER sur mon réseau local, une varible envoyée par mon SHIELD ETHERNET. Le serveur tourne sous WIN7 Pro.
Au vu des nombreux ex sur le net, ça parait simple sauf que je n’y arrive pas!!
Sur la console de l’Arduino j’obtiens toujours le message : CONNEXION OK, ce qui veut dire qu’il s’est connecté au serveur.
Par contre sur ma page PHP j’obtiens toujours le message : NO CONNECT et le print_r($_GET) me donne Array().
J’ai essayé plusieurs sketch sur l’Arduino, j’obtiens toujours le même résultat. Ou je fais une grosse boulette ou bien ub Pb de config du serveur ?? Le port 80 est ouvert sur la Livebox vers l’IP du serveur.
Merci de votre aide.
Voici mon code Arduino:
#include <Ethernet.h> // gestion ethernet
#include <SPI.h> // gestion bus SPI
#include<EthernetUdp.h> // gestion UDP
byte mac[] = {0x90, 0xA2, 0xDA, 0x00, 0xEA, 0xF9}; // adresse Mac du module ethernet
byte ip[] = {192,168,1,40}; // adresse IP du module ethernet
byte gw[] = {192,168,1,1}; // Ip de la box
byte subnet[] = {255,255,255,0}; // Masque de sous reseau
char notifierHostname[] = "192.168.1.30"; // adresse du serveur sur lequel est le prog PHP
byte serverIP[] = {192,168,1,30};
char notifierPath[] = "/pagemeteo.php?varetat=";
unsigned int portserveur=80;
unsigned int localport=8888;
EthernetClient client;
String trame=" ";
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac,ip);
}
void loop()
{
delay (10000);
senddata(notifierHostname, notifierPath);
}
void senddata(char* host, char* path)
{
trame = "TEST";
if(client.connect(host, 80));
{
Serial.print("CONNEXION OK ..............................");
client.println("GET " + (String)path + trame + " HTTP/1.1");
client.println("Host: " + (String)host);
client.println("Connection: close");
client.println(); // Fin du HTTP header (ligne vide)
}
client.stop();
}
J' étais pensais que le Pb pouvait venir de WAMPSERVER.
Pour lever le doute, j'ai désinstallé WAMPSERVER et j'ai installé EASYPHP.
J'ai refais le test et là le même résultat !!!
Je ne comprends vraiment pas pourquoi ça ne fonctionne pas.
Alors résultat :
L'Arduino ne se connecte qu'une fois au démarrage.
La console affiche :
connected...
disconnecting.
Du côté PHP c'est la même chose.
J'ai une livebox 2 SAGEM. L'arduino est en dehors du DHCP, le DHCP de 1 à 20. La version Arduino 1.0.5
Il y a un an ou deux, j'avais fait une appli pour afficher sur le Web l'état de 5 relais, je n'avis pas eu de problème particulier pour la faire tourner.
A l'époque, la Box était une Box SFR et le serveur tournait sous XP Pro, y aurait il un Pb de compatibilité ?
L'IP du serveur est déjà en DMZ.
Avec les modifs que tu as faites, l'Arduino connecte et deconnecte de façon continue, mais toujours pas de résultat côté PHP.