Arduino Nano ESP32 – Schützen Sie Ihr Eigentum: Diebstahl erkennen und E-Mail-Benachrichtigungen senden

In diesem Leitfaden zeigen wir dir, wie du deine Gegenstände mithilfe eines Arduino Nano ESP32 und eines Kraftsensors sicher aufbewahrst. Wir erläutern die Schritte, um ein System einzurichten, das dir eine E-Mail sendet, wenn jemand versucht, deine Sachen zu bewegen. Du wirst lernen, wie man den Arduino Nano ESP32 vorbereitet, den Kraftsensor anschließt und ihn so einrichtet, dass er dir E-Mails über Gmail sendet. Wir liefern detaillierte Anleitungen und zeigen dir, wie dieses System nützlich sein kann.

Arduino Nano ESP32 Diebstahlerkennung E-Mail-Benachrichtigung

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Kraftsensor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Kraftsensor und Gmail

Wir bieten detaillierte Anleitungen zu Kraftsensoren und Gmail. Jede Anleitung gibt Ihnen Schritt-für-Schritt-Anweisungen zur Einrichtung der Hardware, zum Verständnis der Funktionsweise und zum Anschluss von Kabeln an den Arduino Nano ESP32, einschließlich der Programmierung für den Arduino Nano ESP32. Für weitere Details besuchen Sie bitte diese Links:

Wie das Diebstahls-Erkennungssystem funktioniert

Der Kraftsensor misst das Gewicht eines darauf platzierten Gegenstands. Wenn Sie Ihren Gegenstand auf den Sensor legen, erfasst der Arduino Nano ESP32 das Gewicht. Wenn der Gegenstand entfernt wird, ändert sich das Gewicht. Der Arduino Nano ESP32 erkennt diese Änderung und sendet Ihnen eine E-Mail, um Sie darüber zu informieren, dass Ihr Gegenstand bewegt wurde.

Schaltplan zwischen Kraftsensor und Arduino Nano ESP32

Arduino Nano ESP32 Kraftsensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino Nano ESP32-Code

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-secure-your-belongings-detect-theft-and-send-email-alerts */ #include <WiFi.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 #define FORCE_SENSOR_PIN A0 // The Arduino Nano ESP32 pin A0 are connected to the FSR with 10K pulldown resistor #define THRESHOLD 100 // may need to callibrate this value SMTPSession smtp; void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); 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(); pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { int forceValue = analogRead(FORCE_SENSOR_PIN); if (forceValue < THRESHOLD) { Serial.println("Alert! Someone has stolen your stuff!"); String subject = "Email Notification from ESP32"; String textMsg = "This is an email sent from ESP32.\n"; textMsg += "Alert! Someone has stolen your stuff!"; gmail_send(subject, textMsg); } } 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("ESP32"); 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.printf("Connection error, Status Code: %d, Error Code: %d, Reason: %s\n", smtp.statusCode(), smtp.errorCode(), 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.printf("Error, Status Code: %d, Error Code: %d, Reason: %s\n", smtp.statusCode(), smtp.errorCode(), 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()) { Serial.println("----------------"); Serial.printf("Email sent success: %d\n", status.completedCount()); Serial.printf("Email sent failed: %d\n", status.failedCount()); Serial.println("----------------\n"); for (size_t i = 0; i < smtp.sendingResult.size(); i++) { // get the result item SMTP_Result result = smtp.sendingResult.getItem(i); Serial.printf("Message No: %d\n", i + 1); Serial.printf("Status: %s\n", result.completed ? "success" : "failed"); Serial.printf("Date/Time: %s\n", MailClient.Time.getDateTimeString(result.timestamp, "%B %d, %Y %H:%M:%S").c_str()); Serial.printf("Recipient: %s\n", result.recipients.c_str()); Serial.printf("Subject: %s\n", result.subject.c_str()); } Serial.println("----------------\n"); // free the memory smtp.sendingResult.clear(); } }

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Schließen Sie das Arduino Nano ESP32-Board gemäß dem bereitgestellten Diagramm an den Kraftsensor an.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Legen Sie Ihre Gegenstände auf den Kraftsensor.
  • Öffnen Sie den Library Manager, indem Sie auf das Symbol Library Manager auf der linken Seite der Arduino IDE klicken.
  • Suchen Sie nach ESP Mail Client und wählen Sie die Bibliothek von Mobizt.
  • Klicken Sie auf die Install-Schaltfläche, um die ESP Mail Client-Bibliothek hinzuzufügen.
Arduino Nano ESP32 ESP Mail Client Bibliothek
  • Kopiere den Code und öffne ihn mit der Arduino-IDE.
  • Gib deine WiFi-Daten (Name und Passwort) in den Code ein, indem du WIFI_SSID und WIFI_PASSWORD änderst.
  • Gib die E-Mail-Adresse und das Passwort der Person, die die E-Mail sendet, in den Code ein, indem du SENDER_EMAIL und SENDER_PASSWORD änderst.
  • Gib die E-Mail-Adresse der Person, die die E-Mail empfängt, in den Code ein, indem du RECIPIENT_EMAIL änderst. Diese E-Mail-Adresse kann dieselbe wie die des Absenders sein.

※ Notiz:

  • Die E-Mail-Adresse des Absenders muss ein Gmail-Konto sein.
  • Verwenden Sie das App-Passwort, das Sie zuvor erhalten haben, als Passwort des Absenders.
  • Für die E-Mail-Adresse des Empfängers kann jeder E-Mail-Anbieter verwendet werden.
  • Drücken Sie die Upload-Schaltfläche in der Arduino IDE, um Code auf den Arduino Nano ESP32 zu übertragen.
  • Öffnen Sie den seriellen Monitor.
  • Nehmen Sie Gegenstände vom Kraftsensor ab.
  • Überprüfen Sie die Ergebnisse im seriellen Monitor.
COM6
Send
Alert! Someone has stolen your stuff! #### Email sent successfully > C: Email 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 Nano ESP32 ----------------
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Überprüfen Sie das E-Mail-Postfach der Person, an die Sie senden. Sie wird eine E-Mail erhalten, die der folgenden ähnlich ist:
Arduino Nano ESP32 Diebstahlerkennung 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.

※ 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!