Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #15 on: June 29, 2012, 02:03:54 pm » |
j'ai essayer mais toujours rien  voila le code : ///////////////////////////////////////////////////////////////////////// char server [] = "christophe.boulic.free.fr"; //Google if (client.connect(server, 80)) { Serial.println("conexion avec le server etabli"); // Make a HTTP request: client.println("GET /alertetemp2.php?alerte=1 HTTP/1.1");// client.println("Host: christophe.boulic.free.fr");// client.println(); Serial.println(); } else { // kf you didn't get a connection to the server: Serial.println("echec de la conection"); } ///////////////////////////////////////
|
|
|
|
|
Logged
|
|
|
|
|
Ile-de-France (92 sud), France
Offline
Edison Member
Karma: 22
Posts: 1817
|
 |
« Reply #16 on: June 29, 2012, 02:11:22 pm » |
Est-ce que tu peux essayer de sortir sur Serial ce qui revient de client ?
ca devrait faire quelque chose du genre :
while ( client.available() ) Serial.print( client.read() );
Qu'est-ce que ca retourne ?
Quand j'envoie la requête depuis un telnet avec le host ca marche.
|
|
|
|
|
Logged
|
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC# RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #17 on: June 29, 2012, 02:19:56 pm » |
j'ai bien reçu trois mail qui devai corespondre a tes essai j'ai intégré ce que tu ma donné comme code comme suit: ///////////////////////////////////////////////////////////////////////// char server [] = "christophe.boulic.free.fr"; //Google if (client.connect(server, 80)) { Serial.println("conexion avec le server etabli"); // Make a HTTP request: client.println("GET /alertetemp2.php?alerte=1 HTTP/1.1");// client.println("Host: christophe.boulic.free.fr");// client.println(); while ( client.available() ) Serial.print( client.read() ); Serial.println(); } else { // kf you didn't get a connection to the server: Serial.println("echec de la conection"); } /////////////////////////////////////// mais a par conexion etablie apres plus rien sur le serial
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #18 on: June 29, 2012, 02:42:06 pm » |
bon je vien de tester ce code qui n'est qu'une modification d'un exemple present ici : http://arduino.cc/en/Reference/ClientAvailable#include <Ethernet.h> #include <SPI.h>
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
/* Changez cette ip par celle correspondant à votre réseau HOST. Plupart des réseaux domestiques on * La sous-plage 192.168.0.XXX ou 192.168.1.XXX. Choisissez une adresse * atention a ne pas prendre une ip en cours d'utilisation et ne va pas être attribué automatiquement par * DHCP de votre routeur. */
static uint8_t ip[] = { 192, 168, 0, 20 }; char server [] = "christophe.boulic.free.fr";
EthernetClient client;
void setup() { Ethernet.begin(mac, ip); Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) { Serial.println("conexion avec le server etabli"); // Make a HTTP request: client.println("GET /alertetemp2.php?alerte=1 HTTP/1.1");// client.println("Host: christophe.boulic.free.fr");// client.println(); } else { Serial.println("connection failed"); } }
void loop() { if (client.available()) { char c = client.read(); Serial.print(c); }
if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); for(;;) ; } } et serial m'ecrit: connecting... conexion avec le server etabli disconnecting. et c'est tout rien de plus en tout cas merci pour ton aide!!
|
|
|
|
|
Logged
|
|
|
|
|
Ile-de-France (92 sud), France
Offline
Edison Member
Karma: 22
Posts: 1817
|
 |
« Reply #19 on: June 29, 2012, 02:51:20 pm » |
Et ca marche maintenant ? Si c'est le cas, je ne vois pas ce qui a changé
|
|
|
|
|
Logged
|
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC# RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #20 on: June 29, 2012, 02:53:01 pm » |
non non sa ne marche pas toujours pas de mail qui arrive peut'etre que je ne fait pas ce qu'il faut?
|
|
|
|
|
Logged
|
|
|
|
|
Made in Belgium
Offline
God Member
Karma: 0
Posts: 756
|
 |
« Reply #21 on: June 30, 2012, 05:18:08 am » |
tu devrais déjà tester comme celà, ça ne sert à rien de tester l’envoie de mail si le reste ne fonctionne déjà pas, il faut procéder étape par étape. <?php if ($_GET['alerte']=="1") { echo "alert 1"; } else { echo "alerte 0"; } ?>
si tu reçois dans le monitor "alert 1" en réponse à ta requête c'est que ta structure conditionnel fonctionne le problème est ailleurs mais à l’intérieure du bloc if (donc l'envoie des mails sera le problème), si tu reçois "alerte 0" c'est qu'il y a un problème avec la condition de ton if (requête mal structuré côté arduino ou autre) et si tu ne reçois rien en retour de ta requête c'est que le problème ce situe un niveau au dessus (connexion, etc, ...) .
|
|
|
|
« Last Edit: June 30, 2012, 05:22:59 am by osaka »
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #22 on: June 30, 2012, 05:36:09 am » |
j'ai tester ce code #include <Ethernet.h> #include <SPI.h>
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
/* Changez cette ip par celle correspondant à votre réseau HOST. Plupart des réseaux domestiques on * La sous-plage 192.168.0.XXX ou 192.168.1.XXX. Choisissez une adresse * atention a ne pas prendre une ip en cours d'utilisation et ne va pas être attribué automatiquement par * DHCP de votre routeur. */
static uint8_t ip[] = { 192, 168, 0, 20 }; char server [] = "christophe.boulic.free.fr";
EthernetClient client;
void setup() { Ethernet.begin(mac, ip); Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) { Serial.println("conexion avec le server etabli"); // Make a HTTP request: client.println("GET /arduino/alertetemp.php?alerte=1 HTTP/1.1");// client.println("Host: christophe.boulic.free.fr");// client.println(); } else { Serial.println("connection failed"); } }
void loop() { if (client.available()) { char c = client.read(); Serial.print(c); }
if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); for(;;) ; } } avec ton code osaka mais le serial repond toujours: connecting... conexion avec le server etabli disconnecting. est ce que lorsque l'on fait une requete get le server de free exectute le code php? comment faire pour la requette avez vous une idée ?
|
|
|
|
|
Logged
|
|
|
|
|
Made in Belgium
Offline
God Member
Karma: 0
Posts: 756
|
 |
« Reply #23 on: June 30, 2012, 06:03:55 am » |
essaie ceci, ça a marché de chez moi (avec ma propre ip évidement). #include <SPI.h> #include <Ethernet.h>
// Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192, 168, 0, 20 };
// Initialize the Ethernet client library // with the IP address and port of the server // that you want to connect to (port 80 is default for HTTP): EthernetClient client;
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600);
// start the Ethernet connection: Ethernet.begin(mac, ip);
// give the Ethernet shield a second to initialize: delay(1000); Serial.println("connecting...");
// if you get a connection, report back via serial: if (client.connect("christophe.boulic.free.fr", 80)) { Serial.println("connected"); // Make a HTTP request: client.println("GET /arduino/alertetemp.php?alerte=1 HTTP/1.1"); client.println("Host: christophe.boulic.free.fr"); client.println(); } else { // if you didn't get a connection to the server: Serial.println("connection failed"); } }
void loop() { // if there are incoming bytes available // from the server, read them and print them: if (client.available()) { char c = client.read(); Serial.print(c); }
// if the server's disconnected, stop the client: if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop();
// do nothing forevermore: for(;;) ; } }
la réponse dans le monitor connecting... connected HTTP/1.1 200 OK Date: Sat, 30 Jun 2012 10:59:56 GMT Server: Apache/ProXad [Aug 5 2010 16:17:11] X-Powered-By: PHP/4.4.3-dev Connection: close Content-Type: text/html
<html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> alert 1</body> </html>
disconnecting.
Edit : Tu devrais séparer la partie html et php dans 2 documents propre à chacun (d'un autre côté la partie html ne sert à rien dans ce cas si) pour éviter de retourner toute la page en réponse . 
|
|
|
|
« Last Edit: June 30, 2012, 06:27:45 am by osaka »
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #24 on: June 30, 2012, 06:44:00 am » |
bon j'ai tester mais voila la reponse :
connecting... connected
disconnecting.
est ce qu'il faut ouvrire des port specifique ou pas coté free box?
il me semblé que non que le port 80 ete un port par defaut non?
|
|
|
|
|
Logged
|
|
|
|
|
Ile-de-France (92 sud), France
Offline
Edison Member
Karma: 22
Posts: 1817
|
 |
« Reply #25 on: June 30, 2012, 07:42:54 am » |
Non rien a ouvrir pour accéder à un site web externe.
Ton PHP est bon, on a pu le tester séparément La commande GET + Host est bonne puisque tant moi-même que Osaka l'avons fait fonctionner.
Est-ce que la partie Ethernet marche pour autre chose ? Ou bien entre ton Arduino et ton PC ?
|
|
|
|
|
Logged
|
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC# RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #26 on: June 30, 2012, 11:38:03 am » |
oui car jusqu'a present dans mon programe je comuniquer bien avec mon interface web en POST et l'arduino reponder corectement en gros commander arduino depuis l'interface web ne me poser pas de probleme ! par contre j'ai ouver mon port 8081 pour que sa comunique depuis l'exterieur ver l'ip de l'arduino ce soir je vais allez chez une persone qui a egalement une freebox pour faire les teste voir si sa vien de chez moi ou de mon module ethernet shield! donc pour vous tout est bon et sa fonction chez vous , c'est a n'y rien comprendre cette histoire! 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #27 on: June 30, 2012, 02:00:28 pm » |
bon de chez une autres personne c'est pire pas de conection le serial me retourne un conection failed! 
|
|
|
|
|
Logged
|
|
|
|
|
Made in Belgium
Offline
God Member
Karma: 0
Posts: 756
|
 |
« Reply #28 on: July 01, 2012, 05:26:15 am » |
Je vois vraiment pas là  , la connexion ce fait chez toi mais pas la requête ...,difficile à dire sans le voire de sois même. Un problème avec le shield ? Tu n'as rien d'autre sur les pin utilisé par celui-ci, etc ? Les simples exemples genre WebServer, WebClient, etc, donnés par l'ide fonctionnent ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 187
|
 |
« Reply #29 on: July 02, 2012, 02:51:30 am » |
Bon finalement j'ai reusi a faire fonctioner ce programe depuis mon taf qui possede une conexion "orange" voila le code : #include <Ethernet.h> #include <SPI.h>
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
/* Changez cette ip par celle correspondant à votre réseau HOST. Plupart des réseaux domestiques on * La sous-plage 192.168.0.XXX ou 192.168.1.XXX. Choisissez une adresse * atention a ne pas prendre une ip en cours d'utilisation et ne va pas être attribué automatiquement par * DHCP de votre routeur. */
//static uint8_t ip[] = { 192, 168, 0, 20 }; char server [] = "christophe.boulic.free.fr";
EthernetClient client;
void setup() { Ethernet.begin(mac); Serial.begin(9600); Serial.println(Ethernet.localIP()); delay(1000); delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) { Serial.println("conexion avec le server etabli"); // Make a HTTP request: client.println("GET /arduino/alertetemp2.php?alerte=1 HTTP/1.1");// client.println("Host: christophe.boulic.free.fr");// client.println(); } else { Serial.println("connection failed"); } }
void loop() { if (client.available()) { char c = client.read(); Serial.print(c); }
if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); for(;;) ; } } j'ai opter pour une atribution automatique d'adresse ip et tester avec une carte uno la tout a fonctioner ! reste a savoir du coup si sa vien de ma carte Mega ou de la freebox (ce qui risque d'etre chiant a debloqué pour le coup). certaint d'entre vous ont 'il une freebox et pourait 'il tester mon code ? en tout cas mercii pour votre aide a tous! 
|
|
|
|
|
Logged
|
|
|
|
|
|