Arduino – Schützen Sie Ihre Habseligkeiten: Diebstahl erkennen und E-Mail-Benachrichtigungen senden

In diesem Leitfaden zeigen wir dir, wie du deine Gegenstände mit einem Arduino und einem Kraftsensor schützen kannst. Die Schritte umfassen, wie man ein System einrichtet, das dir per E-Mail mitteilt, wenn jemand versucht, deine Gegenstände zu nehmen. Wir erklären, wie man den Arduino einrichtet, den Kraftsensor anschließt und ihn so programmiert, dass er E-Mail-Benachrichtigungen über Gmail sendet. Du lernst, alles Schritt für Schritt zu tun, und siehst, wie es in realen Situationen hilfreich sein kann.

Arduino Diebstahlerkennung E-Mail-Benachrichtigung

Über Kraftsensor und Gmail

Wir bieten detaillierte Tutorials zu Kraftsensoren und Gmail. Jede Anleitung enthält gründliche Details und Schritt-für-Schritt-Anweisungen zur Hardwareeinrichtung, wie sie funktionieren und wie man Drähte mit Arduino verbindet, einschließlich Arduino-Programmierung. Für weitere Informationen besuchen Sie bitte diese Links:

Wie funktioniert das Diebstahls-Detektionssystem

Der Kraftsensor prüft das Gewicht eines Gegenstands, wenn Sie ihn auf den Sensor legen. Wenn Sie Ihren Gegenstand darauf legen, zeichnet der Arduino sein Gewicht auf. Wenn der Gegenstand entfernt wird, ändert sich das Gewicht. Der Arduino bemerkt diese Änderung und sendet Ihnen eine E-Mail, um Ihnen mitzuteilen, dass Ihr Gegenstand bewegt wurde.

Schaltplan zwischen Kraftsensor und Arduino

Arduino Kraftsensor-Schaltplan

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

Arduino-Code

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-secure-your-belongings-detect-theft-and-send-email-alerts */ #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 #define FORCE_SENSOR_PIN A0 // Arduino pin connected to the FSR and 10K pulldown #define THRESHOLD 100 // may need to callibrate this value 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(); pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set Arduino 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 Arduino"; String textMsg = "This is an email sent from Arduino.\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("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

  • Wenn dies das erste Mal ist, dass Sie Arduino Uno R4 verwenden, sehen Sie sich wie man die Umgebung für Arduino Uno R4 in der Arduino IDE einrichtet an.
  • Verbinden Sie das Arduino-Board mit dem Kraftsensor.
  • Legen Sie Ihre Gegenstände auf den Kraftsensor.
  • Verbinden Sie das Arduino-Board mit Ihrem Computer über ein USB-Kabel.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Arduino-Board (Arduino Uno R4 WiFi) und den COM-Port aus.
  • Ö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 von Mobizt bereitgestellte Version aus.
  • Drücken Sie die Install-Schaltfläche, um die ESP Mail Client-Bibliothek hinzuzufügen.
Arduino ESP Mail Client-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Aktualisieren Sie Ihre WiFi-Daten (Name und Passwort) im Code, indem Sie WIFI_SSID und WIFI_PASSWORD bearbeiten.
  • Aktualisieren Sie die Absender-E-Mail-Adresse und das Passwort im Code, indem Sie SENDER_EMAIL und SENDER_PASSWORD bearbeiten.
  • Ändern Sie die E-Mail des Empfängers im Code, indem Sie RECIPIENT_EMAIL bearbeiten. Die E-Mail des Empfängers kann dieselbe sein wie die des Absenders.

※ Notiz:

  • Die Absender-E-Mail-Adresse muss ein Gmail-Konto sein.
  • Das Passwort des Absenders sollte das App-Passwort sein, das Sie im vorherigen Schritt erhalten haben.
  • Die E-Mail-Adresse des Empfängers kann von jedem E-Mail-Anbieter stammen.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um Code auf den Arduino zu übertragen.
  • Öffnen Sie den seriellen Monitor.
  • Entfernen Sie Gegenstände vom Kraftsensor.
  • Schauen Sie sich die Ergebnisse im seriellen Monitor an.
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 ----------------
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Schauen Sie in den E-Mail-Posteingang Ihres Empfängers. Sie erhalten eine E-Mail wie diese:
Arduino-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!