Je suis à la recherche d'un petit coup de main pour réussir à envoyer un mail depuis mon arduino Uno R3 SMD, il dispose d'une connexion wifi via un esp8266-01 (module noir petit et avec 8pins).
Actuellement je suis partis avec l'idée d'exécuter un script php sur ma base de donnée local qui envois le mail par la suite.
Mon script fonctionne quand je le lance depuis mon navigateur web, en revanche si j'essaye de le lancer depuis mon arduino avec une requete GET, ca ne fonctionne pas.
Je suis pourtant bien connecté et au wifi et a la base de donnée.
J'ai regardé énormément de site ou de tutoriel et je ne comprend pas pourquoi...
Si quelqu'un à plus de compétence en http et connexion à une base de donnée.
//Wifi
#include <WiFiEsp.h>
#include <WiFiEspClient.h>
//Dialogue serie avec ESP8266
#include <SoftwareSerial.h>
//Librairie SQL
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
IPAddress server_addr(192,168,**,**); // IPdu serveur MySQL
char user[] = "***"; // MySQL login username
char password[] = "***"; // MySQL mot de passe
char ssid[] = "Nono"; // your network SSID (name)
char pass[] = "*******"; // your network password
int status = WL_IDLE_STATUS; // the Wifi radio's status
WiFiEspClient espclient;
SoftwareSerial soft(7,6); // RX, TX
MySQL_Connection conn((Client *)&espclient);
void setup() {
WifiConnect();
// if you get a connection, report back via serial:
if (espclient.connect(server_addr, 80)) {
Serial.println("connected");
// Make a HTTP request:
espclient.println("GET /sendmail.php?text=whadap HTTP/1.1");
espclient.println("Host: 192,168,**,**"); //your domain
espclient.println("Connection: close");
espclient.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 (espclient.available()) {
char c = espclient.read();
Serial.print(c);
}
// if the server's disconnected, stop the client:
if (!espclient.connected()) {
Serial.println();
Serial.println("disconnecting.");
espclient.stop();
// do nothing forevermore:
while (true);
}
}
void WifiConnect()
{
// initialize serial for debugging
Serial.begin(115200);
// initialize serial for ESP module
soft.begin(9600);
// initialize ESP module
WiFi.init(&soft);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue
while (true);
}
// attempt to connect to WiFi network
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
// you're connected now, so print out the data
Serial.println("You're connected to the network");
if (conn.connect(server_addr, 3306, user, password)) {
delay(1000);
}
else {
Serial.println("Connection failed.");
}
}
Voici le résultat de la communication série :
[WiFiEsp] Initializing ESP module
[WiFiEsp] Initilization successful - 1.5.4
Attempting to connect to WPA SSID: Nono
[WiFiEsp] Connected to Nono
You're connected to the network
[WiFiEsp] Connecting to 192.168.**.**
Connected to server version 5.5.5-10.4.10-MariaDB
[WiFiEsp] Connecting to 192.168.**.**
connected
HTTP/1.1 400 Bad Request
Date: Fri, 07 Feb 2020 12:56:53 GMT
Server: Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.12
Content-Length: 447
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.
</p>
<p>Additionally, a 400 Bad Request
error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.12 Server at localhost Port 80</address>
</body></html>
disconnecting.
Je suis à la recherche d'un petit coup de main pour réussir à envoyer un mail depuis mon arduino Uno R3 SMD, il dispose d'une connexion wifi via un esp8266-01 (module noir petit et avec 8pins).
bonjour
un lien , photos , ou autres infos vers ce uno R3 et son module WIFI ?
tu ne dis rien de la connection entre UNO R3 et module à ESP8266, de l'alimentation du module ESP8266, et de la librairie utilisée sur la carte Arduino
Même si les premières étapdes de la connection semblent OK il vaut mieux décrire complètement le montage.
S'agit-il du même montage que celui de ton autre message ?
Pour ma culture personnelle : que signifie whadap dans la requête GET ?
Bonjour lesept,
malheureusement lors de l'import de cette librairie depuis le zip, L'IDE arduino me retourne "Le dossier spécifié ne contiens pas de bibliothèque valide", et meme en la décompressant manuellement dans le dossier librairie, pas moyen d'y avoir accès
Bonjour Artouste,
Il s'agit d'un Arduino Uno classique sur lequel est connecté un esp8266 ( alimenté en 3.3v par l'arduino), et j'utilise un port série simulé sur les bornes 6 7 de l'arduino.
le dialogue fonctionne bien puisque la connexion au wifi et a la base de donnée est ok, j'arrive même a envoyer mes valeurs sur ma bdd.
Bonjour alfch,
Pour ce qui concerne les librairies, elles sont dans le code en ce qui concerne le dialogue avec le wifi et la base de donnée.
Arnaud_G:
Bonjour lesept,
malheureusement lors de l'import de cette librairie depuis le zip, L'IDE arduino me retourne "Le dossier spécifié ne contiens pas de bibliothèque valide", et meme en la décompressant manuellement dans le dossier librairie, pas moyen d'y avoir accès
Bonjour Artouste,
Il s'agit d'un Arduino Uno classique sur lequel est connecté un esp8266 ( alimenté en 3.3v par l'arduino), et j'utilise un port série simulé sur les bornes 6 7 de l'arduino.
le dialogue fonctionne bien puisque la connexion au wifi et a la base de donnée est ok, j'arrive même a envoyer mes valeurs sur ma bdd.
Bonjour alfch,
Pour ce qui concerne les librairies, elles sont dans le code en ce qui concerne le dialogue avec le wifi et la base de donnée.
OK
donc esp01 en mode AT ?
Version de la config AT de l'esp01 ?
et alim ESP01 par le 3.3V de l'arduino ?
AMHA C'est pas vraiment "une situation d'avenir"
OK , on est donc en continuité avec ton autre message (ne pas se disperser !)
La librairie que tu utilises est très peu connue içi , mieux vaut la citer en donnant un lien vers son dépôt
(la librairie est une surccouche envoyant les commandes AT)
AMHA C'est pas vraiment "une situation d'avenir"
+1, dommage de se voir imposer cette solution rétrograde .... avec en plus une alimentation à problème.
la librairie indiquée par lesept est pour un ESP8266 'libéré', pas pour une carte UNO
al1fch:
OK , on est donc en continuité avec ton autre message (ne pas se disperser !)
La librairie que tu utilises est très peu connue içi , mieux vaut la citer en donnant un lien vers son dépôt
+1, dommage de se voir imposer cette solution rétrograde .... avec en plus une alimentation à problème.
Bonjour Al1
Je n'avais pas lu l'autre topic , mais d'accord avec toi pour ce qui est des contraintes imposées avec du quasi "obsolete"
Perso et même si je n'aime pas : je vais donc laisser là la question en l'état :-[
Conclusion : tu devrais passer sur un ESP8266 unique, genre NodeMCU V3 (ci-dessous) ou même un ESP32, pour quelques euros. L'ESP32 envoie aussi des mails avec la bibli qui va bien.
oui mais Arnaud_G qui n'a peut être tout dit (contexte du projet) semble devoir travailler avec un matériel imposé
Pourquoi faire simple quand on peut faire compliqué (et retro) ?
AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
v1.0.0
Mar 11 2018 18:27:31
OK
oui j'alimente l'esp avec l'arduino en 3v3 mais j'ai une alimentation 5v 5 ampère à dispo, mais je ne suis pas sure que mon esp tiennent le 5v.
Je me doute que mes composants sont un peu datés, je suis à l'écoute si vous avez une meilleure solutions qui reste abordable financièrement (20€ max)car je ne souhaite pas investir trop d'argent personnel dans ce projet qui n'est pas pour moi directement. Mais en revanche ce projet m’intéresse énormément :). ( C'est un projet "scolaire" diront nous)
Pour alfch, j'ai séparé les 2 posts car l'un parle d'envois de mail et l'autre de dialogue avec la base de donnée, ce qui pour moi n'étaient pas directement lié. Mais oui le matériel utilisé est le même en effet !
Bonjour,
Non en effet elle est passée pendant ma réponse.
Non je n'ai pas d'erreur lorsque j'exécute mon fichier php depuis mon navigateur web.
Je reçois bien mon mail
Mon questionnement sur le sens de whadap dans la requêtre n'a pas été vu lui non plus....
En ce qui concerne le whadap, il s'agit d'un programme retrouvé sur internet, je n'ai pas pris soin de modifier le texte envoyé dans le corps du mail car ce n'est pas important pour le moment, par la suite ca sera remplacé par une phrase construite et des valeurs de l'arduino