Get Arduino + php envoi mail

Bonjour,

J’ai besoin de déclencher l’envoi d’un mail à partir de mon arduino.
Pour cela j’utilise la méthode GET et une page php hébergé un local.

Mon code arduino :

#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[] = { 0x90, 0xA2, 0xDA, 0x0F, 0x70, 0x39 };
byte ip[] = { 192, 168, 1, 69 };

// 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...");
char server [] = "http://localhost/";
 // if you get a connection, report back via serial:
 
 if (client.connect(server, 80)) 
 {
   Serial.println("connected");
   // Make a HTTP request:
   client.println("GET mail.php?alerte=1 HTTP/1.1");
   client.println("Host: http://localhost/");
   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(;;)
     ;
 }
}

Mon code php :

<?php
if ($_GET['alerte']=="1") {
	
     // Le message
     $message = "Le patient n a pas pris son medicament !!!";

     // Dans le cas où nos lignes comportent plus de 70 caractères
     $message = wordwrap($message, 70);

     // Envoi du mail     
	 $envoi=mail('XXXXXXXXXXXXX','alerte', $message); 
	 
if($envoi) echo"Le mail a ete envoye!"; 
else echo"Echec de l'envoi"; };
?>

J’ai testé mon code php individuellement pas de soucis , je reçois bien le mail . J’ai bien configuré le fichier php.ini dans wampserver. Aucun problème de ce coté.
Par contre dès que je le lance à partir de mon arduino je ne reçois aucun mail…

Voici la réponse de l’arduino :

connecting...
connected

disconnecting.

Donc voila , j’ai besoin d’aide svp ! Je ne comprends vraiment pas . J’ai essayé de remplacer le localhost par 127.0.0.1 mais toujours pareil…

bonjour, http://localhost/ ne veut rien dire pour le nono, ca c'est ton wamp qui a ca en interne. il faut une ip pour le nono ex : http://192.168.1.10

sinon va voir sur le site PUSHINGBOX tout se fait tout seul c'est génial !!!!

Merci pour vos réponses, je dois mettre une ardresse IP , mais l’adresse IP du localhost c’est bien 127.0.0.1 non? quand je mets ça ça ne marche pas non plus… Y a t-il quelque chose que je fais mal?

localhost=127.0.0.1=interne au wamp donc utilisable que par le pc qui l'héberge il faut mettre l'ip du pc qui héberge wamp, j'avais donné un exemple plus haut. en étant certain que le pc soit en ip fixe, sinon il peut changer d'ip à chaque démarrage.

pour l'ip du pc de wamp, tu ouvre une console dos ipconfig et tu auras toutes les ip des connexions réseau.

Merciiiiiiiiiiiiiiiiiiiii ça marche !!! ca semble tellement béte apres avoir la solution ... Merci encore !

Du coup j'ai une petite question , peut-on en inverse passer des variables de mon code php à mon code arduino?

xangdar62: Du coup j'ai une petite question , peut-on en inverse passer des variables de mon code php à mon code arduino?

oui, à condition d'activer dans wamp le socket, petite recherche sur le forum

Ok merci je regarde ça.

Ok merci , j’ai réussi à me débrouiller.

Par contre encore une autre erreur après un week end d’absence… Impossible d’accéder à mon fichier php pour tant j’ai rien changer dans les configs… wampserver est capricieux…

voila ce que je récup de mon moniteur série:

connecting...
connected
HTTP/1.1 403 Forbidden
Date: Wed, 18 Feb 2015 15:11:05 GMT
Server: Apache/2.4.9 (Win64) PHP/5.5.12
Content-Length: 297
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /mail.php
on this server.</p>
<hr>
<address>Apache/2.4.9 (Win64) PHP/5.5.12 Server at XXX.XXX.X.XX Port 80</address>
</body></html>

disconnecting.

sans ton code, difficile a dire. tu accède bien à ton fichier mail.php en local? avec ton pc qui héberge wamp http://localhost/mail.php ca donne quoi?