Arduino UNO R4 - Courriel

Ce tutoriel vous explique comment programmer l'Arduino UNO R4 pour envoyer un e-mail à partir de votre compte Gmail.

Arduino UNO R4 Courriel

Préparation préliminaire

Pour utiliser le code, vous avez besoin d’un compte Gmail et d’un mot de passe spécial. Voici les détails clés à retenir :

  • Créez un nouveau compte Gmail spécialement pour les tests. N'utilisez pas votre compte habituel pour protéger votre compte contre les problèmes de sécurité.
  • Le mot de passe utilisé dans le code Arduino UNO R4 n'est pas le même que votre mot de passe de connexion Gmail. Vous devez générer un "mot de passe d'application" à partir de votre compte Google.

Vous pouvez générer un « mot de passe d’application » à partir de votre compte Google en suivant les étapes ci-dessous :

  • Créez un nouveau compte Gmail.
  • Connectez-vous à votre compte nouvellement créé.
  • Accédez à votre compte Google.
  • Accédez à la section « Sécurité ».
Sécurité de Gmail
  • Activer la vérification en deux étapes (Il est nécessaire d'activer la vérification en deux étapes pour créer des mots de passe d'application).
  • Rendez-vous sur la page Google App Passwords et créez un mot de passe d'application. Vous pouvez en nommer un comme vous le souhaitez.
Mots de passe d'applications Google
  • Cliquez sur le bouton Créer pour recevoir un mot de passe à 16 chiffres affiché comme suit :
Mots de passe des applications Gmail
  • Veuillez conserver et enregistrer ce numéro à 16 chiffres. Vous en aurez besoin pour le code Arduino UNO R4 à l'étape suivante.

※ Note:

L'interface utilisateur de Google peut être mise à jour. Si vous ne parvenez pas à localiser les mots de passe d'applications tels que décrits, recherchez en ligne « How to get Google App Passwords » pour trouver les dernières instructions.

Code Arduino UNO R4

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-r4/arduino-uno-r4-email */ #include <WiFiS3.h> #include <ESP_Mail_Client.h> #define WIFI_SSID "YOUR_WIFI_SSID" // CHANGE IT #define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" // CHANGE IT // the sender email credentials #define SENDER_EMAIL "xxxxxx@gmail.com" // CHANGE IT #define SENDER_PASSWORD "xxxx xxxx xxxx xxxx" // CHANGE IT to your Google App password #define RECIPIENT_EMAIL "xxxxxx@gmail.com" // CHANGE IT #define SMTP_HOST "smtp.gmail.com" #define SMTP_PORT 587 SMTPSession smtp; void setup() { Serial.begin(9600); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.print("Connecting to Wi-Fi"); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(300); } Serial.println(); Serial.print("Connected with IP: "); Serial.println(WiFi.localIP()); Serial.println(); String subject = "Email Notification from Arduino"; String textMsg = "This is an email sent from Arduino.\n"; textMsg += "Sensor value: "; textMsg += "15"; // OR replace this value read from a sensor gmail_send(subject, textMsg); } void loop() { // YOUR OTHER CODE HERE } void gmail_send(String subject, String textMsg) { // set the network reconnection option MailClient.networkReconnect(true); smtp.debug(1); smtp.callback(smtpCallback); Session_Config config; // set the session config config.server.host_name = SMTP_HOST; config.server.port = SMTP_PORT; config.login.email = SENDER_EMAIL; config.login.password = SENDER_PASSWORD; config.login.user_domain = F("127.0.0.1"); config.time.ntp_server = F("pool.ntp.org,time.nist.gov"); config.time.gmt_offset = 3; config.time.day_light_offset = 0; // declare the message class SMTP_Message message; // set the message headers message.sender.name = F("Arduino"); message.sender.email = SENDER_EMAIL; message.subject = subject; message.addRecipient(F("To Whom It May Concern"), RECIPIENT_EMAIL); message.text.content = textMsg; message.text.transfer_encoding = "base64"; message.text.charSet = F("utf-8"); message.priority = esp_mail_smtp_priority::esp_mail_smtp_priority_low; // set the custom message header message.addHeader(F("Message-ID: <abcde.fghij@gmail.com>")); // connect to the server if (!smtp.connect(&config)) { Serial.println("Connection error: "); Serial.print("- Status Code: "); Serial.println(smtp.statusCode()); Serial.print("- Error Code: "); Serial.println(smtp.errorCode()); Serial.print("- Reason: "); Serial.println(smtp.errorReason().c_str()); return; } if (!smtp.isLoggedIn()) { Serial.println("Not yet logged in."); } else { if (smtp.isAuthenticated()) Serial.println("Successfully logged in."); else Serial.println("Connected with no Auth."); } // start sending Email and close the session if (!MailClient.sendMail(&smtp, &message)) { Serial.println("Connection error: "); Serial.print("- Status Code: "); Serial.println(smtp.statusCode()); Serial.print("- Error Code: "); Serial.println(smtp.errorCode()); Serial.print("- Reason: "); Serial.println(smtp.errorReason().c_str()); } } // callback function to get the Email sending status void smtpCallback(SMTP_Status status) { // print the current status Serial.println(status.info()); // print the sending result if (status.success()) { for (size_t i = 0; i < smtp.sendingResult.size(); i++) { // get the result item SMTP_Result result = smtp.sendingResult.getItem(i); Serial.print("Status: "); if (result.completed) Serial.println("success"); else Serial.println("failed"); Serial.print("Recipient: "); Serial.println(result.recipients.c_str()); Serial.print("Subject: "); Serial.println(result.subject.c_str()); } Serial.println("----------------\n"); // free the memory smtp.sendingResult.clear(); } }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez la carte Arduino Uno R4 à votre ordinateur avec un câble USB.
  • Démarrez l'IDE Arduino sur votre ordinateur.
  • Choisissez l'option de carte Arduino UNO R4 correcte (Arduino UNO R4 R4 WiFi) et le port COM.
  • Ouvrez le Gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques sur le côté gauche de l'écran de l'IDE Arduino.
  • Recherchez l'ESP Mail Client pour trouver l'ESP Mail Client de Mobizt.
  • Cliquez sur le bouton Install pour ajouter la bibliothèque ESP Mail Client.
Bibliothèque ESP Mail Client pour Arduino UNO R4
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Mettez à jour le nom de votre réseau Wi-Fi et votre mot de passe à l'endroit où il est écrit WIFI_SSID et WIFI_PASSWORD.
  • Mettez à jour votre adresse e-mail et votre mot de passe dans les constantes : SENDER_EMAIL et SENDER_PASSWORD.
  • Mettez à jour RECIPIENT_EMAIL avec l'adresse e-mail à laquelle vous souhaitez recevoir les messages. Cela peut être la même que l'e-mail de l'expéditeur.

※ Note:

  • L'adresse e-mail de l'expéditeur doit utiliser Gmail.
  • Utilisez le mot de passe d'application donné précédemment comme mot de passe de l'expéditeur.
  • Tout type d'adresse e-mail peut servir d'adresse du destinataire.
  • Appuyez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4.
  • Ouvrez le Moniteur série.
  • Affichez la sortie dans le Moniteur série.
COM6
Send
#### Message sent successfully > C: message sent successfully ---------------- Message sent success: 1 Message sent failed: 0 ---------------- Message No: 1 Status: success Date/Time: May 27, 2024 04:42:50 Recipient: xxxxxx@gmail.com Subject: Email Notification from Arduino ----------------
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Regardez dans la boîte de réception du destinataire. Vous trouverez un e-mail similaire à celui-ci :
L'Arduino UNO R4 envoie un e-mail.

Vidéo

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !