Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
In diesem anweisbaren zeige ich Ihnen, wie man ein intelligentes Schließfach macht.
Die Lockbox wird von einem Arduino (UNO) angetrieben und verwendet RFID und einen Servomotor, um den Zugang zu kontrollieren und gleichzeitig die eingehenden Daten von verschiedenen Sensoren zu verfolgen. Der Datenverlauf wird in einer MYSQL-Datenbank gespeichert. Die Daten werden auf einer Website angezeigt, die von gehostet wird der Himbeer-Pi.
Schritt 1: Teile- und Materialliste für das Projekt
Computer/Mikrocontroller:
- Arduino UNO
- RaspBerry Pi 4 Modell B
Teile
- LM35 Temperatursensor
- GL5537 LDR-Sensor
- VMA405 oder RC522 RFID-Sensorleser mit Tag
- MG 996R Servomotor
- DuPont Male-Female Überbrückungsdrähte
- Steckbrettdrähte
- Rote LED
- Grüne LED
- Aktiver Summer 5V
- 1k Ω(Ohm) Widerstand
- 2 x 330 Ω(Ohm) Widerstände
Gehäuse
Box kann aus jedem Material hergestellt werden. Meine ist aus Pappe
Extra
Ich habe einen Holzaufsatz für den Servomotor (optional) gemacht
Software
Arduino IDE, Visual Studio Code - Raspberry Pi mit SSH, MYSQL Workbench
Für eine Schätzung des Preises können Sie sich die Stücklistendatei ansehen.
Schritt 2: Steckbrettschaltung
RFID
- Vcc 3.3. V von Arduino
- RST Digital 9-polig
- Masse Masse von Arduino
- MISO Digital 12-polig
- MOSI Digital 11-polig
- SCK Digital 13-polig
- NSS/SDA Digital 10-polig
Servomotor
- 5V (Rot) (+) auf Steckbrett
- Gnd (Braun) Gnd auf Steckbrett
- PWM (Orange) Digital 3 Pin
LM35
- Vin(+) (+) auf Steckbrett
- Gnd Gnd auf Steckbrett
- Vout Analog 1 Pin
LDR
- Vin(+) (+) auf Steckbrett
- Gnd Gnd auf Steckbrett mit 1K Ohm Widerstand
- Vout Analog 0 Pin
LED (Grün)
- Vin(+) Digital 4 Pin mit 330 Ohm Widerstand
- Gnd Gnd auf Steckbrett
LED (Rot)
- Vin(+) Digital 5 Pin mit 330 Ohm Widerstand
- Gnd Gnd auf Steckbrett
Aktiver Summer
- Vin(+) (+) auf Steckbrett
- Gnd Gnd auf Steckbrett
Arduino zu Steckbrett
- Arduino 5V (+) (+) auf Steckbrett
- Arduino Gnd Gnd auf Steckbrett
Raspberry Pi zu Arduino
Wird mit einem USB verbunden
Schritt 3: Arduino
Die Verkabelung der Elektronik sollte ähnlich wie im Bild oben aussehen.
Verbinden Sie zuerst den Arduino mit dem Computer, um die Hardware zu programmieren. Der Hauptcode kann unten heruntergeladen werden, aber verwenden Sie ihn noch nicht. Befolgen Sie zuerst die folgenden Schritte.
Bibliotheken
Wir werden die SPI- und MFRC 522-Bibliothek verwenden, um mit dem RFID-Sensor zu arbeiten. Arbeiten mit dem RFID
Laden Sie die RFID-Bibliothek hier vom Github von miguelbalboa herunter
Entpacken Sie die Zip-Datei.
Gehen Sie in der Arduino IDE zu Sketch> Bibliothek einschließen und wählen Sie die gerade heruntergeladene Zip-Datei aus
Nachdem Sie die ZIP-Datei hochgeladen haben, gehen Sie zu Skizze>Bibliothek einschließen> Bibliotheken verwalten. Suchen Sie im Bibliotheksmanager nach "MFRC522". Es sollte sagen, dass die Bibliothek installiert ist.
Scannen der RFID-Daten
Gehen Sie zu file>examples>MFR522>dumpinfo und laden Sie den Code in Ihre IDE hoch/starten Sie ihn. Sie werden sehen, dass der Code eine MFR522.h- und SPI.h-Bibliothek enthält. Beides wird für das RFID benötigt.
Öffnen Sie nun den seriellen Monitor (Tools>serialmonitor) und scannen Sie Ihren Ausweis und Ihre Karte, bis alle Daten angezeigt werden.
Stellen Sie sicher, dass Sie die UID schreiben, da Sie sie benötigen.
Jetzt können Sie den Hauptcode herunterladen (Arduino_code_lockbox)Ersetzen Sie im Hauptcode Ihren eigenen UID-Tag-Code durch den aus dem Code.
Nachdem Sie den Code in der Arduino IDE ausgeführt / hochgeladen haben, testen Sie den rfid-Scan. Wenn es funktioniert, können Sie den Arduino USB vom Computer trennen und mit dem Raspberry Pi verbinden.
Schritt 4: Himbeer-Pi
Lesen Sie Daten von Arduino in Python
Stellen Sie sicher, dass das Arduino mit dem Raspberry Pi verbunden ist. Öffnen Sie app.py und führen Sie die Datei aus. Sie sehen die von Ihren Sensoren vom Arduino empfangenen Daten.
Zum Auslesen der Daten benötigen Sie den seriellen Teil des Codes (siehe Bild).
MYSQL DatabaseErstellen Sie eine Datenbank, um die Messwerte Ihrer Sensoren zu speichern. Für dieses Projekt werde ich Tabellen für Temperatur, LDR und RFID erstellen.
Backend-Python
Fügen Sie Python-Routen hinzu und passen Sie Ihre MYSQL-Datenbank entsprechend an. Senden Sie die Werte Ihrer Sensordaten an Ihre eigene Datenbank.
Schritt 5: Webseite
Layout
Sie können die Dateien von webrar.rar verwendenOder Sie können Ihre eigene Website mit HTML, CSS erstellen.
Daten aus Datenbank anzeigen
Verwenden Sie Javascript, um die Daten aus der Datenbank abzurufen und auf Ihrer Website anzuzeigen
Die Chart.js-Bibliothek wird verwendet, um die Daten grafisch darzustellen.
Schritt 6: Gehäuse
Außen
Für die Gehäuseaußenseite habe ich verschiedene Teile zusammengeklebt. Das Oberteil ist L-förmig geschnitten, damit die Basis des L (rechte Seite im Bild) fester wird.
Für den RFID-Sensor ist das Schneiden eines Lochs in die Box optional. Es sollte möglich sein, durch den Karton zu scannen, wenn er nicht zu dick ist.
Der Servomotor wird außen mit Klebeband versehen. Je nachdem, wie Sie die Himbeere in der Box positionieren, müssen Sie kleine Löcher für Kabelverbindungen wie das USB- oder Ethernet-Kabel bohren.
Innere
Für das Innere habe ich eine Ebene erstellt, damit ich beide Geräte trennen kann und es besser organisiert ist. Der Raspberry Pi befindet sich auf der Unterseite der Box und der Arduino mit dem Steckbrett befindet sich auf der oberen Schicht.