Arduino UNO R4 - E-Mail

Dieses Tutorial erklärt Ihnen, wie Sie den Arduino UNO R4 programmieren, um eine E-Mail von Ihrem Gmail-Konto zu senden.

Arduino UNO R4 E-Mail

Vorbereitung

Um den Code zu verwenden, benötigen Sie ein Gmail-Konto und ein spezielles Passwort. Hier sind die wichtigsten Details, an die Sie sich erinnern sollten:

  • Erstellen Sie ein neues Gmail-Konto, das speziell für Testzwecke gedacht ist. Verwenden Sie nicht Ihr reguläres Konto, um Ihr Konto vor Sicherheitsproblemen zu schützen.
  • Das Passwort im Arduino UNO R4-Code ist nicht dasselbe wie Ihr Gmail-Anmeldepasswort. Sie müssen ein App-Passwort aus Ihrem Google-Konto generieren.

Sie können aus Ihrem Google-Konto ein „App-Passwort“ generieren, indem Sie die untenstehenden Schritte befolgen:

  • Erstelle ein neues Gmail-Konto.
  • Melde dich in deinem neu erstellten Konto an.
  • Greife auf dein Google-Konto zu.
  • Gehe zum Bereich „Sicherheit“.
Gmail-Sicherheit
  • Aktivieren Sie die Zwei-Faktor-Authentifizierung (Es ist notwendig, die Zwei-Faktor-Authentifizierung zu aktivieren, um App-Passwörter zu erstellen).
  • Besuchen Sie die Webseite Google App-Passwörter und erstellen Sie ein App-Passwort. Sie können es benennen, wie Sie möchten.
Google App-Passwörter
  • Klicken Sie auf die Schaltfläche Erstellen, um ein 16-stelliges Passwort zu erhalten, das wie folgt angezeigt wird:
Gmail-App-Passwörter
  • Bitte bewahren und speichern Sie diese 16-stellige Nummer. Sie benötigen sie im nächsten Schritt für den Arduino UNO R4-Code.

※ Notiz:

Die Benutzeroberfläche von Google kann aktualisiert werden. Wenn Sie „App-Passwörter“ wie beschrieben nicht finden können, suchen Sie online nach „Wie man Google-App-Passwörter erhält“, um die neuesten Anweisungen zu finden.

Arduino UNO R4 Code

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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(); } }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, sehen Sie sich das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE an.
  • Verbinden Sie das Arduino Uno R4-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie die richtige Arduino UNO R4-Board-Option (Arduino UNO R4 R4 WiFi) und den COM-Port aus.
  • Öffnen Sie den Bibliotheks-Manager, indem Sie auf das Symbol Bibliotheks-Manager auf der linken Seite des Arduino IDE-Bildschirms klicken.
  • Suchen Sie nach ESP Mail Client, um den ESP Mail Client von Mobizt zu finden.
  • Klicken Sie auf die Schaltfläche Installieren, um die ESP Mail Client-Bibliothek hinzuzufügen.
Arduino UNO R4 ESP Mail-Client-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino-IDE.
  • Aktualisieren Sie den Namen Ihres WiFi-Netzwerks und Ihr Passwort dort, wo WIFI_SSID und WIFI_PASSWORD stehen.
  • Aktualisieren Sie Ihre E-Mail-Adresse und Ihr Passwort in den Konstanten: SENDER_EMAIL und SENDER_PASSWORD.
  • Aktualisieren Sie RECIPIENT_EMAIL mit der E-Mail-Adresse, unter der Sie Nachrichten erhalten möchten. Dies kann dieselbe E-Mail-Adresse wie die des Absenders sein.

※ Notiz:

  • Die E-Mail des Absenders sollte Gmail verwenden.
  • Verwenden Sie das zuvor gegebene App-Passwort als Passwort des Absenders.
  • Jede Art von E-Mail kann die E-Mail-Adresse des Empfängers sein.
  • Drücke die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den Arduino UNO R4 hochzuladen.
  • Öffne den Serial Monitor.
  • Zeige die Ausgabe im Serial Monitor an.
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  
  • Schauen Sie im E-Mail-Posteingang des Empfängers. Sie werden eine E-Mail finden, die so ähnlich aussieht:
Arduino UNO R4 sendet eine E-Mail.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!