Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Connecter compteur eau impulsion
Machine Mike est en route ;-)
La gateway c est plutôt 192.168.1.1 on est pas chez ReeF ici ;-)
Répondre

Merci bien de vos réponses et aides très rapide, je reviens vers vous dans la soirée, car aujourd'hui des obligations perso, m'ont éloigné de mon esp préféré ???
Répondre

je compile a l’instant et televerse on verra ce quil se passe

alors avec la version Version 1.02 19 11 25 LBE
connexion ok mails ok pour l’instant on verra au bout d’un moment ,mais j’ai l’erreur set time ino qui est revenue ( voir capture)
peut être rajouter le morceau de code comme dans la version d’hier ?
j attend vos réponses
merci

Juste après la ligne 72 et avant l'accolade fermante, rajoute ce bout de code:

Serial.print("Waiting for NTP server time reading");
configTzTime("CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00", "fr.pool.ntp.org", "time.nist.gov");
while (time(nullptr) < ESP_MAIL_CLIENT_VALID_TS)
{
delay(100);
}

voila une trame complète d’envoi on voit bien l’erreur ligne 2 et ligne 23 hier elle était disparu avec le bout de code.
du coup le délai se trouve rallongé avant le démarrage de la séquence
je n’ose pas l’incorporer dans le code et surtout ou?


01:04:55.620 -> > C: ESP Mail Client v3.4.24
01:05:15.631 -> ! E: library or device time was not set, see examples/SMTP/Set_Time.ino for manually time setting
01:05:15.631 -> > C: connecting to SMTP server
01:05:15.729 -> > C: Host > smtp.orange.fr
01:05:15.729 -> > C: Port > 465
01:05:15.733 ->
01:05:15.733 -> > C: SMTP server connected, wait for greeting...
01:05:15.760 -> < S: 220 opmta1mto03aub smtp.orange.fr ESMTP server ready
01:05:15.760 ->
01:05:15.760 -> > C: send SMTP command, EHLO
01:05:15.760 -> < S: 250-opmta1mto03aub hello [83.113.227.22], pleased to meet you
01:05:15.760 -> < S: 250-HELP
01:05:15.760 -> < S: 250-AUTH LOGIN PLAIN
01:05:15.801 -> < S: 250-SIZE 46000000
01:05:15.801 -> < S: 250-ENHANCEDSTATUSCODES
01:05:15.801 -> < S: 250-PIPELINING
01:05:15.801 -> < S: 250-8BITMIME
01:05:15.801 -> < S: 250 OK
01:05:15.801 -> > C: send SMTP command, AUTH PLAIN
01:05:15.801 -> > C: @orange.fr
01:05:15.801 -> > C: ***********************
01:05:15.847 -> < S: 235 2.7.0 ... authentication succeeded
01:05:35.885 -> ! E: library or device time was not set, see examples/SMTP/Set_Time.ino for manually time setting
01:05:35.885 ->
01:05:35.885 -> > C: send next Email
01:05:35.885 ->
01:05:35.885 -> > C: send message header
01:05:35.932 -> < S: 250 2.1.0 <@orange.fr> sender ok
01:05:35.966 -> < S: 250 2.1.5 <@orange.fr> recipient ok
01:05:35.966 ->
01:05:35.966 -> > C: send message body
01:05:35.966 -> < S: 354 OK
01:05:40.984 ->
01:05:40.984 -> > C: finishing the message sending
01:05:41.156 -> < S: 250 2.0.0 LsAjvPciKry23LsB4vkqbU mail accepted for delivery
01:05:41.156 ->
01:05:41.156 -> > C: terminate the SMTP session
01:05:41.156 -> < S: 221 2.0.0 opmta1mto03aub smtp.orange.fr closing connection
01:05:41.315 ->
01:05:41.315 -> > C: message sent successfully
01:05:41.315 -> Email envoyé !


Pièces jointes Miniature(s)
   
Répondre

Oui il suffit de rajouter ce bout de code après la ligne 83 et avant l'accolade fermante, voici le code modifié : 
Code :
//Version 1.03 20 11 25 LBE
#include <WiFi.h>
#include <WebServer.h>
#include <Arduino.h>
#include <WiFiClientSecure.h>

#include <ESP_Mail_Client.h>

const char* ssid = "tonssid";  // A mettre à jour
const char* password = "tonpwd wifi"; // A mettre à jour

IPAddress local_IP(192, 168, 1, 119); // A mettre à jour
IPAddress gateway(192, 168, 1, 254); // A mettre à jour

IPAddress subnet(255, 255, 255, 0); // A mettre à jour
IPAddress primaryDNS(192, 168, 1, 254); // A mettre à jour
IPAddress secondaryDNS(8, 8, 4, 4); //optional

SMTPSession smtp;
WebServer server(80);

void handleRoot() {
  ESP_Mail_Session session;
  session.server.host_name = "smtp.orange.fr"; // A mettre à jour
  session.server.port = 465; // A mettre à jour
  session.login.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  session.login.password = "ton_pwd_orange"; // A mettre à jour
  session.login.user_domain = "";

  SMTP_Message message;
  message.sender.name = "ESP32";
  message.sender.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  message.addRecipient("Destinataire", "tondestinataire@domain.fr"); // A mettre à jour
  message.subject = "Test ESP32";
  message.text.content = "Bonjour ! Email envoyé depuis ESP32.";

  smtp.debug(1);

    String page = "<!DOCTYPE html><html><head><meta http-equiv=\"Cache-Control\" content=\"no-cache, no-store, must-revalidate\"></head><body></body></html>";
    
   if (!smtp.connect(&session)) {
    Serial.println("Erreur de connexion SMTP !");
    server.send(200, "text/html", page);
    return;
  }

  if (!MailClient.sendMail(&smtp, &message)) {
    Serial.println("Erreur d'envoi !");
    } else {
    Serial.println("Email envoyé !");

  }

  smtp.closeSession();
  server.send(200, "text/html", page);
}
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n");

  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println("STA Failed to configure");
  }
 
  // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  WiFi.setSleep(false); //on evite de mettre l esp en veille
  Serial.print("Attente de connexion ...");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }

  Serial.println("\n");
  Serial.println("Connexion etablie !");
  Serial.print("Adresse IP: ");
  Serial.println(WiFi.localIP());
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Serveur web actif");
  Serial.print("Waiting for NTP server time reading");
  configTzTime("CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00", "fr.pool.ntp.org", "time.nist.gov");
  while (time(nullptr) < ESP_MAIL_CLIENT_VALID_TS) {
    delay(100);
  }
}

void loop() {
  server.handleClient();
}
Répondre

Code :
//Version 1.03 20 11 25
#include <WiFi.h>
#include <WebServer.h>
#include <Arduino.h>
#include <WiFiClientSecure.h>

#include <ESP_Mail_Client.h>

const char* ssid = "tonssid";  // A mettre à jour
const char* password = "tonpwd wifi"; // A mettre à jour

IPAddress local_IP(192, 168, 1, 119); // A mettre à jour
IPAddress gateway(192, 168, 1, 254); // A mettre à jour

IPAddress subnet(255, 255, 255, 0); // A mettre à jour
IPAddress primaryDNS(192, 168, 1, 254); // A mettre à jour
IPAddress secondaryDNS(8, 8, 4, 4); //optional

SMTPSession smtp;
WebServer server(80);

void handleRoot() {
  ESP_Mail_Session session;
  session.server.host_name = "smtp.orange.fr"; // A mettre à jour
  session.server.port = 465; // A mettre à jour
  session.login.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  session.login.password = "ton_pwd_orange"; // A mettre à jour
  session.login.user_domain = "";

  SMTP_Message message;
  message.sender.name = "ESP32";
  message.sender.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  message.addRecipient("Destinataire", "tondestinataire@domain.fr"); // A mettre à jour
  message.subject = "Test ESP32";
  message.text.content = "Bonjour ! Email envoyé depuis ESP32.";

  smtp.debug(1);

    String page = "<!DOCTYPE html><html><head><meta http-equiv=\"Cache-Control\" content=\"no-cache, no-store, must-revalidate\"></head><body></body></html>";
   
   if (!smtp.connect(&session)) {
    Serial.println("Erreur de connexion SMTP !");
    server.send(200, "text/html", page);
    return;
  }

  if (!MailClient.sendMail(&smtp, &message)) {
    Serial.println("Erreur d'envoi !");
    } else {
    Serial.println("Email envoyé !");

  }

  smtp.closeSession();
  server.send(200, "text/html", page);
}
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n");

  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println("STA Failed to configure");
  }

  // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  WiFi.setSleep(false); //on evite de mettre l esp en veille
  Serial.print("Attente de connexion ...");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }

  Serial.println("\n");
  Serial.println("Connexion etablie !");
  Serial.print("Adresse IP: ");
  Serial.println(WiFi.localIP());

  //mise à l heure
  Serial.print("Waiting for NTP server time reading");
  configTzTime("CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00", "fr.pool.ntp.org", "time.nist.gov");
  while (time(nullptr) < ESP_MAIL_CLIENT_VALID_TS)
  {
  delay(100);
  }

  server.on("/", handleRoot);
  server.begin();
  Serial.println("Serveur web actif");
}

void loop() {
  server.handleClient();
}

Sinon j espère que tu en auras jamais besoin de savoir que tu es entrain d inonder ça doit être stressant
En tout cas merci à vous deux je me suis bien amusé et j ai beaucoup appris dans le codage et fonctionnement du serveur web
@Mike je te ferais une demande en PV pour faire une modif dans le routeur F1ATB dans laquelle je pedale.
La modif demandée ne semble pas plaire à André je ne sais pas pourquoi . Cela consiste à mettre la courbe (100-retard[i]) à la place de la puissance apparente dans le premier graphe
Ce serait beaucoup plus utile pour les réglages du PID
Répondre

(20-11-2025, 08:05 AM)Mike a écrit : Oui il suffit de rajouter ce bout de code après la ligne 83 et avant l'accolade fermante, voici le code modifié : 
Code :
//Version 1.03 20 11 25 LBE
#include <WiFi.h>
#include <WebServer.h>
#include <Arduino.h>
#include <WiFiClientSecure.h>

#include <ESP_Mail_Client.h>

const char* ssid = "tonssid";  // A mettre à jour
const char* password = "tonpwd wifi"; // A mettre à jour

IPAddress local_IP(192, 168, 1, 119); // A mettre à jour
IPAddress gateway(192, 168, 1, 254); // A mettre à jour

IPAddress subnet(255, 255, 255, 0); // A mettre à jour
IPAddress primaryDNS(192, 168, 1, 254); // A mettre à jour
IPAddress secondaryDNS(8, 8, 4, 4); //optional

SMTPSession smtp;
WebServer server(80);

void handleRoot() {
  ESP_Mail_Session session;
  session.server.host_name = "smtp.orange.fr"; // A mettre à jour
  session.server.port = 465; // A mettre à jour
  session.login.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  session.login.password = "ton_pwd_orange"; // A mettre à jour
  session.login.user_domain = "";

  SMTP_Message message;
  message.sender.name = "ESP32";
  message.sender.email = "ton_mail_orange@orange.fr"; // A mettre à jour
  message.addRecipient("Destinataire", "tondestinataire@domain.fr"); // A mettre à jour
  message.subject = "Test ESP32";
  message.text.content = "Bonjour ! Email envoyé depuis ESP32.";

  smtp.debug(1);

    String page = "<!DOCTYPE html><html><head><meta http-equiv=\"Cache-Control\" content=\"no-cache, no-store, must-revalidate\"></head><body></body></html>";
    
   if (!smtp.connect(&session)) {
    Serial.println("Erreur de connexion SMTP !");
    server.send(200, "text/html", page);
    return;
  }

  if (!MailClient.sendMail(&smtp, &message)) {
    Serial.println("Erreur d'envoi !");
    } else {
    Serial.println("Email envoyé !");

  }

  smtp.closeSession();
  server.send(200, "text/html", page);
}
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n");

  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println("STA Failed to configure");
  }
 
  // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  WiFi.setSleep(false); //on evite de mettre l esp en veille
  Serial.print("Attente de connexion ...");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }

  Serial.println("\n");
  Serial.println("Connexion etablie !");
  Serial.print("Adresse IP: ");
  Serial.println(WiFi.localIP());
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Serveur web actif");
  Serial.print("Waiting for NTP server time reading");
  configTzTime("CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00", "fr.pool.ntp.org", "time.nist.gov");
  while (time(nullptr) < ESP_MAIL_CLIENT_VALID_TS) {
    delay(100);
  }
}

void loop() {
  server.handleClient();
}

Merci Mike, j'injecte ce nouveau code dans la journée, et je reviens donnée des nouvelles, merci
Répondre

(20-11-2025, 08:17 AM)Lolo69 a écrit : @Mike je te ferais une demande en PV pour faire une modif dans le routeur F1ATB dans laquelle je pedale.
La modif demandée ne semble pas plaire à André je ne sais pas pourquoi . Cela consiste à mettre la courbe (100-retard[i]) à la place de la puissance apparente dans le premier graphe
Ce serait beaucoup plus utile pour les réglages du PID


Ça marche, on regardera ça. Je suis d'accord que ce serait plus utile, la puissance apparente n'apporte rien je trouve (en tout cas je n'en ai jamais eu le besoin).
Répondre

Bonjour à tous

Petit retour de la Version 1.03 20 11 25 LBE. tout fonctionne parfaitement avec l’ajout du dernier morceau de code.
l’envoie du mal prend moins dune seconde alors qu’hier il fallait plusieurs secondes.
la connexion est restée stable depuis hier. Espérons que cela dure
je vous remercie grandement de votre aide tous les deux.
Dans les évolutions qui pourraient grandement être utile également:

1Smile je vois bien le retour d’infos sur la page Web du serveur (genre mail envoyé ou pas) pour faire des essais mème a distance.

2Smilela possibilité d’avoir l’envoie du mail avec un texte différent suivant l’origine du push
(si push eau texte relatif à une fuite par exemple)
(si passage heures pointes EJP à la maison texte relatif a l"electricité),
en fait ce que faisait l'écodevice quand il fonctionnait pour l’envoi des mails avant l’arrivée du ssl.

et pour finir la possibilité à distance de pouvoir commandé une vanne connectée (ou un relais) pour pouvoir couper l’arrivée d’eau a la maison, peut être même que ce soit automatique suivant le réglage du push eau à voir !!!.

Pour la connexion à distance NoIP fonctionne bien , j’ai déjà deux routeurs qui sont accessibles depuis le web.

Je ne sais pas si ces évolutions seront possibles , je compte sur votre retour d'expérience, qui j'espère profiteras à lesp32.
Dans l’attente de votre réponse
Cordialement
Tupolev


çi joint en capture la trame moniteur envoi mail de la dernière version


Pièces jointes Miniature(s)
   
Répondre

Pour le 1, on l'avait avant, on peut le remettre, ça ne ralentira pas la réponse de l'ESP.
Concernant le point 2 c'est assez simple à faire, on pourrait rajouter un paramètre de requête avec le type de l'alerte déclenchée et le mail envoyé contiendrait ce type.
Ce n'est pas très compliqué, je ne vais pas avoir le temps cette semaine mais je pourrais faire ça la semaine prochaine.
Pour la vanne connectée, il faut en trouver une qui a une REST API et en cas d'alerte, faire un push depuis l'ecodevice sur le endpoint pour fermer la vanne.
Répondre

(20-11-2025, 04:45 PM)Mike a écrit : Pour le 1, on l'avait avant, on peut le remettre, ça ne ralentira pas la réponse de l'ESP.
Concernant le point 2 c'est assez simple à faire, on pourrait rajouter un paramètre de requête avec le type de l'alerte déclenchée et le mail envoyé contiendrait ce type.
Ce n'est pas très compliqué, je ne vais pas avoir le temps cette semaine mais je pourrais faire ça la semaine prochaine.
Pour la vanne connectée, il faut en trouver une qui a une REST API et en cas d'alerte, faire un push depuis l'ecodevice sur le endpoint pour fermer la vanne.

pour le point 1 OK c’est parfait.

pour le 2 on s’approche de la perfection .

et pour la vanne je recherche quelque chose de compatible .
merci d’avance pour tout ce temps consacré 

bonne fin de journée
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)

Moteur MyBB, © 2002-2025 Melroy van den Berg.