Inhaltsverzeichnis:

RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi - Gunook
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi - Gunook

Video: RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi - Gunook

Video: RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi - Gunook
Video: VB.NET RFID Scanner Zugriffskontrolle - Chips mit dem Arduino Mikrocontroller auslesen [DE] 2024, Juli
Anonim
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi
RFID-Zugriffskontrolle mit Arduino Yun und Raspberry Pi

Willkommen zu meinem Instructable! Haben Sie online nach einem RFID-Zutrittskontrollsystem gesucht, das mehrere Benutzer haben kann, ohne einen Hauptschlüssel zu verwenden, um es zu programmieren? Ein System, das den Zugriff mit dem Personennamen protokollieren kann? Ein System, bei dem Sie den Zugriff von Personen einfach hinzufügen oder entfernen können? Suchen Sie nicht weiter! Dieses System verfügt über eine einfach zu bedienende grafische Benutzeroberfläche über einen Webbrowser. Dies ist instructable wird Sie durch jeden Schritt zum Erstellen und Programmieren dieses Systems führen. Ich habe nach einem Tutorial gesucht, wie das geht, als ich eines bauen wollte. Ich habe Informationen aus verschiedenen Tutorials, Foren und Videos zusammengetragen, bis ich meine eigenen erstellt habe. Das nächste, was ich finden konnte, was ich wollte, war dieses instructable: https://www.instructables.com/id/Control-Access-of…, aber es war nicht alles, was ich tun wollte. Ich habe die grundlegende Verkabelung von diesem instructable verwendet, aber verbessert.

Schritt 1: Wie es funktioniert

Dieses System verwendet sowohl Arduino als auch einen Raspberry Pi. Das Arduino, das ich wählte, war das YUN wegen seiner Fähigkeit, WLAN zu haben und ein eigenes Netzwerk zu erstellen. Ich habe mich wegen seines kleinen Formfaktors für den Raspberry Pi Zero entschieden und hat Wifi eingebaut und hat einen guten Preis.

Wenn Arduino startet, sendet es sein WLAN und startet alle Verbindungen. Es liest die Echtzeituhr (RTC) und stellt sie auf die Systemzeit ein. Der LCD-Bildschirm zeigt eine Willkommensnachricht an. Der Raspberry Pi verbindet sich mit dem WLAN-Netzwerk, das von YUN gesendet wird. Wenn Sie die RFID-Karte scannen, liest das Arduino jedes Byte und erstellt eine Zeichenfolge von Hexadezimalzahlen. Es startet ein Python-Skript, um diese Zeichenfolge mit einem Feld in einer MySQL-Tabelle auf dem Raspberry Pi zu vergleichen. Bei Übereinstimmung blinkt eine grüne LED, zeigt Zugriff gewährt auf dem LCD an, sendet ein Signal zum Öffnen eines Türöffners, um die Tür zu öffnen, startet ein Python-Skript, um den RFID-Code, das Datum und die Uhrzeit zu protokollieren, und gewährt Zugriff auf einen anderen MySQL Tabelle, blinkt eine blaue LED, zeigt Protokollierung auf dem LCD-Bildschirm an und zeigt dann erneut die Willkommensnachricht an. Wenn der RFID-Code nicht übereinstimmt, blinkt die LED rot, der LCD-Bildschirm zeigt Zugriff verweigert an, blinkt die blaue LED, protokolliert die Daten und zeigt erneut die Willkommensnachricht an.

Über den Webserver können Sie Benutzer hinzufügen oder entfernen, ihre Informationen bearbeiten und das Zugriffsprotokoll anzeigen. PHP trägt den Benutzernamen mit dem passenden RFID-Code in das Zugangsprotokoll ein. Sie können auch sowohl das Zugriffsprotokoll als auch die Benutzerdatenbank in eine CSV-Datei exportieren, die in einer Tabelle angezeigt werden kann. Das Zugriffsprotokoll löscht alles, was älter als 60 Tage ist.

Schritt 2: Teile

Teile
Teile
Teile
Teile

Arduino Yun

Raspberry Pi Zero W

Micro-SD-Karten - 2 GB für den YUN und 32 GB für den Raspberry Pi

Innovationen ID-20 RFID-Lesegerät

Breakout Board für RFID-Leser

LCD-Bildschirm mit 16 x 2 Zeichen

Serieller Rucksack für den LCD-Bildschirm

RGB-LED

DS3231 RTC - Nur erforderlich, wenn keine Verbindung zum Internet hergestellt wird

Summer

Überbrückungsdraht

Header und Pins

125-kHz-RFID-Karten

12V Stromversorgung für die Zugangskontrolle

DC-Relais, das mit 5V DC angesteuert werden kann und 12V DC durchlässt - ich habe ein Halbleiterrelais verwendet

12V Autostecker Zigarettenanzünder-Steckdose

12V USB-Autoladegerät mit 2 USB-Anschlüssen mit mindestens 2 Ampere Leistung

12V Elektrischer Türöffner

Kunststoffgehäuse – groß genug für Lesegerät und LCD-Bildschirm

10" x 10" x 4" Elektrokasten zur Unterbringung der Komponenten.

2 modulare Ethernet-Stecker (weiblich) mit Punch-Down-Fähigkeit

ein Ethernet-Kabel

eine kleine Prototyp-Leiterplatte (die mit Löchern und Kupferringen um die Löcher herum, um Ihre eigene Leiterplatte herzustellen.)

Einige 16-Gauge-Draht

2 Micro-USB-Kabel

Länge des 2-adrigen Lampenkabels (lang genug, um vom Türöffner zur Hauptbox zu gehen)

Schritt 3: Zusammenbau der Reader-Box und der Komponenten

Zusammenbau der Reader-Box und der Komponenten
Zusammenbau der Reader-Box und der Komponenten
Zusammenbau der Reader-Box und der Komponenten
Zusammenbau der Reader-Box und der Komponenten

Zuerst bereiten wir den Leser vor. Löten Sie 90-Grad-Stiftleisten an die RFID-Breakout-Platine, dann löten Sie die Breakout-Platine an den RFID-Leser und legen Sie sie beiseite.

Als nächstes bereiten wir den LCD-Bildschirm vor, indem wir die Pins des seriellen Rucksacks an die LCD-Bildschirmplatine löten. Sobald alle Pins angelötet sind, schneiden Sie die Excel-Pins, die zu hoch ragen, mit einem Seitenschneider ab. Legen Sie den LCD-Bildschirm zur Seite.

Schneiden Sie ein quadratisches Stück Leiterplatte so, dass es 2 Lochreihen von 6 hat. Nehmen Sie 2 6-polige Stiftleisten und löten Sie sie an die Leiterplatte. Verbinden Sie die Lötstellen entlang der Stifte, um 2 Lötlinien zu erstellen, aber halten Sie die 2 Linien getrennt. Dies wird durch unsere Verzweigung für alle 5 Volt und die Masse in der Leserbox benötigt.

Die RGB-LED hat 4 Leitungen, also schneiden Sie ein weiteres Stück Leiterplatte mit 4 Löchern durch 2 Löcher. Löten Sie die 4 Kabel auf die Platine und biegen Sie die LED um 90 Grad, um mit der Platine inline zu sein. Löten Sie einen 4-poligen Header auf der verbleibenden Seite der Platine und verbinden Sie jeden Stift mit einer Leitung der LED mit Lötzinn in 4 kleinen Reihen. Dies erfordert eine ruhige Hand und vielleicht ein paar Versuche, um zu verhindern, dass sich die 4 Reihen berühren.

Nehmen Sie die Plastikbox und bohren Sie ein Loch in die Rückseite, das groß genug ist, damit ein Ethernet-Kabel hineinpasst. Dann schneiden Sie ein quadratisches Loch auf der Vorderseite für den LCD-Bildschirm und ein kleines Loch, das nur kleiner als die LED ist, und schieben Sie die LED fest hinein.

Nehmen Sie Überbrückungsdrähte und schließen Sie die folgenden an. Notieren Sie die Farben, auf die jede Komponente auf der Ethernet-Modularbuchse gestanzt wird. Die Überbrückungsdrähte werden auf der Rückseite gut durchschlagen.

1 Pin auf GND Junction --- Ethernet-Punch-Down (erinnern Sie sich an welche Farbe)

1 Pin auf 5V Junction ------ Ethernet-Punch-Down (erinnern Sie sich an welche Farbe)

PIN-Belegung des RFID-Lesers:

PIN 1 -- GND-Verbindung

PIN 2 -- 5V-Verbindung

PIN 7 -- GND-Verbindung

PIN 9 Ethernet Punch Down (erinnern Sie sich an welche Farbe) ----- Irgendwann zu Arduino PIN 10

PIN 10 - SUMMER GND-Verbindung

PIN 11 -- 5V-Verbindung

LED-Pin heraus

Rot ---- Ethernet-Punch-Down (erinnern Sie sich an welche Farbe) ------ Irgendwann zu Arduino Pin 9

Grün -- Ethernet-Punch-Down (erinnern Sie sich an welche Farbe) ------ Irgendwann zu Arduino Pin 8

Blau ---- Ethernet Punch Down (erinnern Sie sich an welche Farbe) ------ Irgendwann zu Arduino Pin 7

GND ---- GND-Verbindung

Pinbelegung des LCD-Bildschirms:

RX ------- Ethernet-Punch-Down (erinnern Sie sich an die Farbe) ----- Irgendwann an Arduino Pin 11

5V ------- 5V-Verbindung

GND ----- GND-Verbindung

Der Summer wird an GND Junction (-) und an Pin 10 des RFID Breakout (+) angeschlossen

Danach gibt es 1 ungenutzten Punchdown. Dies erfordert nur 7 der 8 Adern des Ethernet-Kabels.

Schieben Sie das Ethernet-Kabel durch das erstellte hintere Loch und stecken Sie es in die Buchse. Verwenden Sie doppelseitiges Klebeband entlang der Kante des LCD-Bildschirms und drücken Sie in die vordere quadratische Lesebox, ordnen Sie die Komponenten in der Box an und schließen Sie sie.

Die Leserbox ist nun fertig und montagebereit.

Schritt 4: Montieren Sie die Hauptbox

Bauen Sie die Hauptbox zusammen
Bauen Sie die Hauptbox zusammen

Schneiden Sie ein kleines Stück Sperrholz, das in die 10 x 10 x 4 Hauptbox passt, und befestigen Sie es an der Innenseite der Box, indem Sie Schrauben durch die Rückseite des Gehäuses in das Sperrholz schrauben. Das Sperrholz wird die Halterung für unsere Komponenten sein.

Montieren Sie das 12-V-Netzteil, das Arduino Yun-Gehäuse, das Raspberry Pi-Gehäuse, die 12-V-Buchse und das Relais am Sperrholz. Schneiden Sie das Ende eines Computer-Netzkabels ab und entfernen Sie die 3 Drähte. Verbinden Sie das schwarze und weiße Kabel mit dem 120-V-Eingang des 12-V-Netzteils und das grüne direkt mit dem Metallgehäuse. Schlagen Sie eines der Löcher in der Hauptbox aus, um das Netzkabel hindurchzuführen.

Von der 12-V-Steckdose kommen 2 Drähte, eine rote und eine schwarze, ab. Das Rot geht an den +12V-Anschluss des Netzteils, das Schwarz geht an den COM-Anschluss des Netzteils. Schneiden Sie ein 16-Gauge-Kabel ab, um das Relais von der Stromversorgung zu erreichen, und isolieren Sie beide Enden. Schrauben Sie dieses Kabel auf der 12-V-Seite des Relais auf den Minuspol und dann auf den GND-Anschluss des Netzteils. Schneiden Sie eine weitere Länge des 16-Gauge-Kabels ab, um von der 12-V-Seite des Relais am Pluspol und zum PUSH-Anschluss an der Stromversorgung zu gehen. Verdrahten Sie das Lampenkabel, eines an die NO-Klemme an der Stromversorgung (Negativ am Türöffner) und das andere an den Plus-Klemme des Relais (Sie haben jetzt 2 Drähte, die von dieser Klemme abgehen) (geht an den Pluspol am Türöffner.) Sie können dieses Kabel durch dieselbe Aussparung wie das Netzkabel führen.

Verwenden Sie nun 2 Überbrückungsdrähte und verbinden Sie die 5V-Seite des Relais mit dem Arduino, positiv mit Pin 12, negativ mit GND.

Die RTC hat 4 Pins, Power, GND, SDA, SCL. An diese 4 Überbrückungsdrähte anschließen. Die Stromversorgung wird an den 3,3-V-Pin des Arduino, den GND an einen GND-Pin des Arduino, den SDA an den SDA-Pin des Arduino und den SCL an den SCL-Pin des Arduino angeschlossen.

Nehmen Sie nun 7 Überbrückungsdrähte und stanzen Sie sie auf die Rückseite einer anderen Ethernet-Buchse, die gleichen Farben, die Sie zuvor verwendet haben.

Stecken Sie den 5V-Pin des Arduino auf die Farbe, die der 5V-Kreuzung entspricht, und machen Sie dasselbe mit dem GND zu GND und den restlichen Drähten. Pins 7, 8 und 9 sind für die LEDs, Pin 10 für den RFID-Leser und Pin 11 für den RX auf dem LCD-Bildschirm. Sie können das Ethernet-Kabel von der Leserbox durch eine Aussparung an der Hauptbox führen und in die soeben gestanzte Buchse stecken. Stecken Sie das USB-Autoladegerät ein und führen Sie die Micro-USB-Kabel von dort zum Raspberry Pi und zum Arduino. Die Hauptbox ist nun zusammengebaut. und die ganze Hardware ist fertig.

Schritt 5: Ersteinrichtung von Arduino YUN

Stecken Sie vor dem Einschalten des YUN die 2 GB MicroSD-Karte ein.

Richten Sie das YUN gemäß den Anweisungen auf der Arduino-Site ein, um das YUN in Ihrem lokalen Netzwerk einzurichten und ein Passwort hinzuzufügen. Folgen Sie den Anweisungen, um die SD-Karte zu mounten.

Verwenden Sie PUTTY, um sich mit der IP-Adresse beim YUN anzumelden, die ID lautet root und PW.

Wir müssen MySQL und Python Connector installieren, um auf MySQL auf dem Raspberry Pi-Typ zugreifen zu können:

opkg installieren mysql-server opkg

python-mysql installieren

Richten Sie nun den Arduino Yun so ein, dass er als drahtloser Zugangspunkt mit der Standard-IP-Adresse (192.168.240.1) fungiert, die die Standardeinstellung ist.

Schritt 6: Einrichten des Raspberry Pi

Zuerst müssen Sie die neueste Kopie von Rasbian auf eine 32-GB-Micro-SD-Karte brennen. Es gibt viele Tutorials, wie man das macht, also werde ich nicht darauf eingehen.

Nehmen Sie den Raspberry Pi und schließen Sie eine Tastatur, einen Monitor und eine Maus daran an. Legen Sie die 32-GB-SD-Karte ein und schalten Sie sie ein.

Melden Sie sich mit dem Benutzernamen pi und pw raspberry an, Sie können das später ändern. Sobald der Bildschirm geladen ist, klicken Sie auf das WLAN-Symbol und verbinden Sie es mit Ihrem Heim-WLAN. Notieren Sie sich die IP-Adresse. Öffnen Sie das Konsolenfenster (schwarzes Quadratsymbol mit Cursor) und geben Sie diese Befehle ein, um die Paketliste zu aktualisieren und die Software bereits auf dem Pi zu aktualisieren.

sudo apt-get update

sudo apt-get upgrade

sudo raspi-config

Hier möchten Sie das Dateisystem erweitern, SSH aktivieren und den Desktop beim Start deaktivieren. Auch hier können Sie jetzt Ihr Passwort ändern. neu starten, einloggen.

Jetzt installieren wir den Remote-Desktop (aus diesem Grund müssen wir SSH aktiviert haben). Im Befehlszeilentyp

sudo apt-get install xrdp

Jetzt können Sie den Remote-Desktop von Ihrem Windows-Computer aus öffnen und die Raspberry Pi-IP-Adresse sowie den Benutzernamen und das Passwort eingeben. Behalten Sie die Einrichtung von Tastatur, Monitor und Maus bei, da wir sie später verwenden müssen.

Wir müssen dem Raspberry Pi eine Startverzögerung hinzufügen, damit das YUN-WLAN später, wenn wir den Raspberry Pi und das Arduino YUN zusammen mit Strom versorgen, vor dem Raspberry Pi gestartet werden kann. Vom Konsolentyp:

sudo nano /boot/config.txt

Scrollen Sie nach unten und fügen Sie diese Zeile hinzu:

boot_delay=75

Drücken Sie STRG X, Y, Eingabetaste zum Speichern. Dadurch wird eine 75-Sekunden-Startverzögerung hinzugefügt. Starten Sie den Raspberry Pi neu und überprüfen Sie.

Während wir jetzt auf Ihrem Computer sind, ist jetzt ein guter Zeitpunkt, um PUTTY und WinSCP auf Ihrem Computer zu installieren. Wir werden es brauchen, um fortzufahren. PUTTY ist ein Remote-Konsolenfenster für später Raspberry Pi und Arduino YUN, und WinSCP ist ein sicheres FTP, um Dateien von Ihrem Computer von Ihrem Computer auf den Raspberry Pi zu übertragen.

Schritt 7: MySQL, PHP und Python auf dem Raspberry Pi einrichten

Öffnen Sie von Ihrem Computer aus PUTTY und geben Sie die IP-Adresse Ihres Raspberry Pi ein und melden Sie sich an. Wir werden MySQL installieren. Geben Sie den Befehl ein:

sudo apt-get install mysql-server

Öffnen Sie nun MySQL-Typ:

sudo mysql -u root

Nun, da wir drin sind, müssen wir MySQL so konfigurieren, dass es in unserer Anwendung funktioniert. Überall, wo ich ein Wort eingebe, das von & umgeben ist, geben Sie Ihre Daten ein. Behalten Sie alle ' in den Befehlen und verwenden Sie unbedingt; am Ende des Befehls. Typ:

BENUTZER ERSTELLEN '&user&'@'localhost' IDENTIFIZIERT DURCH '&password&';

GRANT ALL PRIVILEGES on *.* TO '&user&'@'localhost' WITH GRANT OPTION;

Verlassen;

Sie haben einen Benutzernamen und ein Passwort mit allen Berechtigungen in MySQL erstellt Melden Sie sich jetzt mit Ihren neuen Zugangsdaten an.

mysql -u &user& -p

Es wird nun nach Ihrem Passwort gefragt.

&Passwort&

Jetzt bist du mit deinem Benutzernamen und Passwort drin. Wir erstellen nun eine Datenbank und eine Tabelle:

DATENBANK ERSTELLEN arduino;

GEWÄHRLEISTEN SIE ALLE PRIVILEGIEN AUF arduino.* AN '&user&' IDENTIFIZIERT DURCH '&password&' MIT GRANT OPTION;

Verwenden Sie denselben Benutzernamen und dasselbe Passwort, die Sie für die MySQL-Anmeldung erstellt haben. Im Folgenden erstellen wir eine Tabelle namens usersrfid unter der Datenbank arduino.

VERWENDEN Sie Arduino;

CREATE TABLE userrfid(id INT(255) NOT NULL AUTO_INCREMENT PRIMARY KEY);

Wir mussten es nur erstellen, um es später hinzuzufügen. id ist die erste Spalte der Tabelle und wird eine Zahl sein, die automatisch inkrementiert wird. Jede Tabelle benötigt einen Primärschlüssel, daher legen wir diese Spalte als Schlüssel fest. Beenden Sie nun MySQL, indem Sie Folgendes eingeben:

Verlassen;

Jetzt müssen wir den Webserver, PHP, Python und alle Konnektoren für MySQL installieren. Geben Sie die folgenden Befehle ein:

sudo apt-get install mysql-client

sudo apt-get install python-mysqldb

sudo apt-get install apache2 php5 libapache2-mod-php5

sudo apt-get install php5-mysqlnd

Als nächstes installieren wir PHPMyAdmin. Dies wird verwendet, um Ihre MySQL-Tabellen zu erstellen, ohne die Befehlszeile zu verwenden.sudo apt-get install phpmyadmin

Es erscheinen einige Optionen, wählen Sie Apache2, Ja zu dbcommon und geben Sie ein Passwort für phpmyadmin ein.

Jetzt müssen wir apache2.conf bearbeiten, um PHPMyAdmin für diesen Typ zu verwenden:

sudo nano /etc/apache2/apache2.conf

Scrollen Sie nach unten und geben Sie ein:

/etc/phpmyadmin/apache.conf einschließen

Drücken Sie dann STRG X, Y und dann die Eingabetaste, um zu speichern. Nach dem Speichern müssen wir den Apache2-Typ neu starten:

sudo /etc/init.d/apache2 restart

Öffnen Sie nun einen Webbrowser in Windows und geben Sie in die Adresszeile die IP-Adresse des Raspberry Pi gefolgt von /phpmyadmin ein und melden Sie sich mit Ihrem MySQL-Login und Passwort bei PHPMyAdmin an.

Hier werden wir Ihre Datenbank bearbeiten und ergänzen.

Erweitern Sie in der linken Spalte arduino und klicken Sie dann auf Usersrfid, die Sie zuvor erstellt haben. Klicken Sie auf Einfügen in und fügen Sie Ihre Spalten hinzu:

erste, mittlere, letzte, straße, apt, stadt, bundesland, zip, hphone, cphone, position, rfid, rev_rfid, access247, image

Sie sind alle Varchar 500

Erstellen Sie dann 2 weitere Tabellen, indem Sie in der linken Spalte unter Arduino auf Neu klicken. Rufen Sie die erste Tabelle userrfid247 auf und fügen Sie Spalten ein:

id, erster, letzter, Position, rfid, Bild.

id ist INT 255. Überprüfen Sie AI auf automatisches Inkrementieren und klicken Sie auf den Schlüssel, um den Primärschlüssel zu erstellen, der Rest ist varchar 500

Die zweite Tabelle ruft ControlUsers mit Spalten auf:

id, rfid, rfid_st, Datum, zuerst, zuletzt.

Die ID ist wieder INT 255 Auto-Inkrement, der Primärschlüssel und der Rest sind varchar 500

Jetzt sind alle MySQL-Tabellen erstellt, lassen Sie sie vorerst leer

Die Tabelle userrfid ist die Haupttabelle, in der alle Benutzer mit ihren Informationen und dem RFID-Code hinzugefügt werden. In der Tabelle usersrfid247 werden die Benutzer mit 24/7-Zugriff platziert. und ControlUsers ist die Tabelle, in der sich das Zugriffsprotokoll befinden wird. Diese Felder werden später alle ausgefüllt.

Nachdem die Tabellen erstellt wurden, richten wir den Raspberry Pi so ein, dass er die Benutzerbilder hochladen kann, öffnen PUTTY und geben die IP-Adresse ein und melden uns an, wenn Sie es noch nicht sind. Legen Sie die Ordnerberechtigungen fest, um die Bearbeitung zuzulassen. Geben Sie den Befehl ein:

sudo chmod a+w /var/www/html

Verwenden Sie nun den Remote-Desktop und gehen Sie zum Raspberry Pi-Desktop. Gehen Sie zum Datei-Explorer und in das Verzeichnis /var/www/html. Löschen Sie die Datei index.html aus diesem Ordner und erstellen Sie einen neuen Ordner namens images. Klicken Sie mit der rechten Maustaste auf den neuen Ordner und gehen Sie zu Berechtigungen, erteilen Sie jedem die Berechtigung für den Ordner.

Schritt 8: Verbinden Sie Raspberry Pi mit dem YUNs-Netzwerk

Von Ihrem Computer-Remote-Desktop in den Raspberry Pi

Ändern Sie das WLAN-Netzwerk, um eine Verbindung zum WLAN des Arduino herzustellen. Sie verlieren Ihre Remotedesktopverbindung.

Melden Sie sich über die Tastatur, Maus und den Monitor, die wir angeschlossen gelassen haben, beim Raspberry Pi an. Geben Sie in der Befehlszeile startx ein, um zur GUI zu gelangen und zu sehen, welche IP-Adresse der Arduino dem Raspberry Pi zugewiesen hat, und schreiben Sie sie auf.

Gehen Sie zurück zu Ihrem Computer und verbinden Sie ihn mit dem Arduino-WLAN. Nun können Sie per Remotedesktop mit der neuen IP-Adresse auf den Raspberry Pi zugreifen.

Wir müssen die Arduino-WLAN-Verbindung auf dem Raspberry Pi auf eine höhere Priorität setzen. Melden Sie sich mit Putty mit der neuen IP-Adresse am Raspberry Pi an. Typ:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Fügen Sie unter dem für das Arduino aufgeführten Netzwerk eine weitere Zeile in den Klammern hinzu und geben Sie Folgendes ein:

Priorität=1

Allen Verbindungen wird automatisch eine 0 zugewiesen und diese Zeile muss nicht hinzugefügt werden, wenn sie 0 ist. Die Verbindung mit der höchsten Nummer hat Priorität.

Speichern Sie mit CNTRL X, Y und geben Sie zum Speichern ein und starten Sie den Raspberry Pi neu.

Melden Sie sich mit PUTTY mit der von Arduino zugewiesenen IP-Adresse wieder bei Raspberry an.

Wir werden nun MySQL so einrichten, dass es aus der Ferne vom YUN aus zugegriffen werden kann, standardmäßig verweigert MySQL jeglichen Fernzugriff. Geben Sie dazu Folgendes ein:

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

Scrollen Sie nach unten zu: bind *ip address*, setzen Sie den Cursor an den Anfang dieser Zeile und drücken Sie i (zum Bearbeiten) und geben Sie dort ein # ein. Drücken Sie ESC, um die Bearbeitung zu beenden und nach unten zu scrollen. Speichern und beenden Sie, indem Sie:wq. eingeben

MySQL-Dienste neu starten:

sudo service mysql neustart

Jetzt brauchen wir MySQL, um die IP-Adresse der YUNs identifizieren zu können. Melden Sie sich wie zuvor bei mysql an, indem Sie Folgendes eingeben:

mysql -u &user& -p

Geben Sie an der Eingabeaufforderung Ihr Passwort ein

Typ:

GEWÄHLE ALLE PRIVILEGIEN AUF *.* AN '&user&'@'&YUNip&' IDENTIFIZIERT DURCH '&password&' MIT GRANT OPTION;

SELECT * FROM information_schema.user_privileges WHERE GRANTEE LIKE "'&user&'%";

Dort sollte der Benutzername@ipaddress aufgeführt sein.

FLUSH PRIVILEGIEN:

Aufhören;

Schritt 9: Programmieren Sie das Arduino YUN

Laden Sie die Python-Skripte von dieser Seite auf Ihren Computer herunter. Bearbeiten Sie die Python-Skripte mit Notepad ++. Suchen Sie die Datenbankinformationen im oberen Bereich und bearbeiten Sie sie so, dass sie mit Ihren Datenbankanmeldeinformationen übereinstimmen. Die IP-Adresse ist die neue Raspberry Pi-IP-Adresse und die Anmeldeinformationen Ihres MySQL.

Verbinden Sie Ihren Computer mit dem Arduino-Netzwerk, falls dies noch nicht der Fall ist, und geben Sie die Arduino-IP-Adresse in den Webbrowser ein, sie sollte 192.168.240.1 lauten. Melden Sie sich bei YUN an und gehen Sie zu den erweiterten Konfigurationen, die Sie zur Luci-GUI führen. Gehen Sie zum Abschnitt DHCP unter Netzwerk und stellen Sie den Raspberry Pi als statische IP ein. Dadurch wird der Arduino angewiesen, dem Raspberry Pi immer diese IP-Adresse zuzuweisen, damit sie sich nicht ändert.

Öffnen Sie WinSCP auf Ihrem Computer und laden Sie die 3 bearbeiteten Python-Skripte nach /mnt/sda1/arduino/python auf dem Arduino hoch.

Deaktivieren Sie den NTP-Server auf dem YUN, damit die RTC richtig funktioniert. Öffnen Sie Putty auf Ihrem Computer und verbinden Sie sich mit der IP-Adresse der YUNs und melden Sie sich an. Geben Sie in Befehl Folgendes ein:

/etc/init.d/sysntpd stop/etc/init.d/sysntpd deaktivieren

Wenn Sie die DS3132-Bibliothek noch nicht von https://www.rinkydinkelectronics.com/library.php?id… heruntergeladen haben, müssen Sie dazu Ihr Computer-WLAN erneut mit Ihrem lokalen Netzwerk verbinden. Nach erneuter Verbindung mit dem YUN.

Öffnen Sie die Arduino IDE auf Ihrem Computer und stellen Sie sie auf YUN und den Port auf die IP-Adresse ein. Gehen Sie zu file>examples>DS3231>DS3231_Serial_easy und stellen Sie die Uhrzeit der RTC ein, merken Sie sich das Datum ist d/m/year und laden Sie es hoch

Laden Sie die endgültige Arduino-Skizze mit der Arduino-IDE auf das Arduino hoch.

Schritt 10: Raspberry Pi Webserver

Laden Sie nun die PHP-, HTML- und CSS-Dateien von dieser Seite auf Ihren Computer herunter. Bearbeiten Sie Folgendes mit Notepad++, dbinfo.php und auth.php. dbinfo.php benötigt die Datenbankinformationen, die auf die IP-Adresse, den Benutzernamen, das Passwort usw. von MySQL geändert werden. Die auth.php muss für den Website-Login und das Passwort bearbeitet werden, das Sie erstellen müssen. Es ist eine kleine Datei und Sie können sie leicht finden, indem Sie sie einfach überfliegen.

Stellen Sie sicher, dass Ihr Computer noch mit dem Arduino Wifi verbunden ist und verwenden Sie WinSCP und legen Sie die PHP-, HTML- und CSS-Dateien von Ihrem Computer auf dem Raspberry Pi im Verzeichnis /var/www/html ab.

Öffnen Sie Ihren Webbrowser auf Ihrem Computer und geben Sie die IP-Adresse des Raspberry Pi ein und der Anmeldebildschirm der Webseite wird angezeigt. Melden Sie sich mit der UID und dem Passwort an, die Sie beim Bearbeiten der Datei auth.php erstellt haben. Alles wird leer sein. Gehen Sie zu einem Mitglied hinzufügen und beginnen Sie, Ihre Benutzer einzugeben.

Schritt 11: Genießen Sie

Verbinden Sie Ihren Computer / Ihr Telefon / Ihr Tablet mit dem arduino-WLAN, öffnen Sie den Browser, geben Sie die statische IP des Raspberry Pi ein, melden Sie sich auf der Webseite an und Sie können mit dem Hinzufügen der Anmeldeinformationen der Mitglieder beginnen.

Um den RFID-Code einer Karte zu finden, scannen Sie ihn und überprüfen Sie das Zugangsprotokoll. Kopieren Sie den Code und fügen Sie ihn in das RFID-Feld für neue Mitglieder ein.

Der normale Zugang ist nur auf dienstags zwischen 16:00 und 23:00 Uhr eingestellt. Um dies zu ändern, bearbeiten Sie das Python-Skript Compare.py, es gibt dort eine Zeile IF mit Wochentag und Zeiten mit Größer-als- und Kleiner-als-Zeichen. Ändern Sie die Tage und Uhrzeiten, zwischen denen alle Benutzer Zugriff haben sollen. Ein 24/7-Zugriff wird jederzeit akzeptiert.

Sobald ein Mitglied hinzugefügt wurde, scannen Sie die Karte und sehen Sie, wie sich der Türöffner öffnet. Gehen Sie zurück zum Protokoll und sehen Sie es hinzugefügt.

Genießen

Empfohlen: