Πίνακας περιεχομένων:

Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi: 11 βήματα
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi: 11 βήματα

Βίντεο: Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi: 11 βήματα

Βίντεο: Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi: 11 βήματα
Βίντεο: Arduino RFID Door Lock Access Control System 2024, Ιούλιος
Anonim
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi
Έλεγχος πρόσβασης RFID με Arduino Yun και Raspberry Pi

Καλώς ήλθατε στο Instructable μου! Έχετε αναζητήσει στο διαδίκτυο ένα σύστημα ελέγχου πρόσβασης RFID που μπορεί να έχει πολλούς χρήστες χωρίς να χρησιμοποιήσετε ένα κύριο κλειδί για τον προγραμματισμό του; Ένα σύστημα που μπορεί να καταγράψει την πρόσβαση με το όνομα ατόμων; Ένα σύστημα όπου μπορείτε εύκολα να προσθέσετε ή να αφαιρέσετε την πρόσβαση κάποιου εύκολα; Μην ψάχνετε άλλο! Αυτό το σύστημα διαθέτει μια εύχρηστη γραφική διεπαφή χρήστη μέσω ενός προγράμματος περιήγησης ιστού. Αυτό είναι διδακτικό να σας καθοδηγήσει σε κάθε βήμα σχετικά με τον τρόπο κατασκευής και προγραμματισμού αυτού του συστήματος. Έχω ψάξει για ένα σεμινάριο για το πώς να το κάνω αυτό όταν ήθελα να φτιάξω ένα. Συγκέντρωσα πληροφορίες από διαφορετικά σεμινάρια, φόρουμ και βίντεο μέχρι να δημιουργήσω το δικό μου. Το πιο κοντινό που μπορούσα να βρω σε αυτό που ήθελα ήταν αυτό το διδακτικό: https://www.instructables.com/id/Control-Access-of…, αλλά δεν ήταν όλα όσα ήθελα να κάνω. Χρησιμοποίησα τη βασική καλωδίωση από αυτό το διδακτικό, αλλά βελτιώθηκα σε αυτό.

Βήμα 1: Πώς λειτουργεί

Αυτό το σύστημα χρησιμοποιεί και τα δύο και Arduino και ένα Raspberry Pi. Το arduino που επέλεξα ήταν το YUN για την ικανότητά του να έχει wifi και να δημιουργεί το δικό του δίκτυο. Επέλεξα το Raspberry Pi Zero λόγω του μικρού συντελεστή φόρμας του και έχει ενσωματωμένο Wifi και έχει καλή τιμή.

Όταν ξεκινά το Arduino, μεταδίδει το wifi του και ξεκινά όλες τις συνδέσεις. Διαβάζει το Ρολόι πραγματικού χρόνου (RTC) και το ορίζει στην ώρα συστήματος. Η οθόνη LCD εμφανίζει ένα μήνυμα καλωσορίσματος. Το Raspberry Pi συνδέεται στο δίκτυο wifi που εκπέμπει το YUN. Όταν σαρώνετε την κάρτα RFID, το arduino θα διαβάζει κάθε byte και θα δημιουργεί μια σειρά δεκαεξαδικών αριθμών, ξεκινά ένα σενάριο python για να συγκρίνει αυτήν τη συμβολοσειρά με ένα πεδίο σε έναν πίνακα MySQL στο Raspberry Pi. Αν ταιριάζει αναβοσβήνει ένα πράσινο LED, εμφανίζει την Access Granted στην οθόνη LCD, στέλνει ένα σήμα για να ανοίξει μια απεργία πόρτας για να ανοίξει η πόρτα, ξεκινά ένα σενάριο python για να καταγράψει τον κωδικό RFID, την ημερομηνία και την ώρα και παραχωρείται πρόσβαση σε άλλο MySQL πίνακα, αναβοσβήνει ένα μπλε LED, εμφανίζει την καταγραφή στην οθόνη LCD και, στη συνέχεια, εμφανίζει ξανά το μήνυμα καλωσορίσματος. Όταν ο κωδικός RFID δεν ταιριάζει, το LED θα αναβοσβήνει κόκκινο, η οθόνη LCD θα εμφανίζει Access Denied, αναβοσβήνει το μπλε LED, καταγράφει τα δεδομένα και εμφανίζει ξανά το μήνυμα καλωσορίσματος.

Ο διακομιστής ιστοσελίδων είναι ο τρόπος με τον οποίο προσθέτετε ή αφαιρείτε χρήστες, επεξεργάζεστε τις πληροφορίες τους και προβάλλετε το αρχείο καταγραφής πρόσβασης. Η PHP θα συμπληρώσει το όνομα χρήστη με τον αντίστοιχο κωδικό RFID στο αρχείο καταγραφής πρόσβασης. Μπορείτε επίσης να εξάγετε τόσο το Αρχείο καταγραφής πρόσβασης όσο και τη βάση δεδομένων χρηστών σε αρχείο CSV με δυνατότητα προβολής σε υπολογιστικό φύλλο. Το αρχείο καταγραφής πρόσβασης θα καθαρίσει οτιδήποτε είναι παλαιότερο από 60 ημέρες.

Βήμα 2: Μέρη

Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά

Arduino Yun

Raspberry Pi Zero W

Κάρτες Micro SD - 2 GB για το YUN και 32 GB για το Raspberry Pi

Καινοτομίες Αναγνώστης RFID ID-20

Breakout Board για αναγνώστη RFID

Οθόνη LCD χαρακτήρων 16X2

Σειριακό σακίδιο πλάτης για την οθόνη LCD

RGB LED

DS3231 RTC - Απαιτείται μόνο εάν δεν συνδεθεί στο διαδίκτυο

Βομβητής

Jumper Wire

Κεφαλίδες και καρφίτσες

Κάρτες RFID 125KHz

Τροφοδοτικό 12V Access Control

Ρελέ DC που μπορεί να ελεγχθεί με 5V DC και να περάσει 12V DC - χρησιμοποίησα ρελέ στερεάς κατάστασης

Πρίζα αυτοκινήτου 12V βύσμα αυτοκινήτου cigarrette αναπτήρα

Φορτιστής αυτοκινήτου USB 12V με 2 θύρες USB με ισχύ τουλάχιστον 2 αμπέρ

Ηλεκτρική πόρτα 12V

Πλαστική θήκη - αρκετά μεγάλη για να φιλοξενήσει τον αναγνώστη και την οθόνη LCD

Ηλεκτρικό κουτί 10 "X 10" X 4 "για τη στέγαση των εξαρτημάτων.

2 αρθρωτά βύσματα Ethernet (θηλυκά) με δυνατότητα punch down

ένα καλώδιο ethernet

ένα μικρό πρωτότυπο πίνακα PCB (αυτά με τρύπες και δακτυλίους χαλκού γύρω από τις οπές για να φτιάξετε το δικό σας PCB.)

Περίπου 16 σύρμα μετρητή

2 καλώδια micro USB

Μήκος καλωδίου λάμπας 2 καλωδίων (αρκετά μεγάλο για να περάσει από την απεργία της πόρτας στο Main Box)

Βήμα 3: Συναρμολογήστε το πλαίσιο ανάγνωσης και τα εξαρτήματα

Συναρμολογήστε το πλαίσιο ανάγνωσης και τα εξαρτήματα
Συναρμολογήστε το πλαίσιο ανάγνωσης και τα εξαρτήματα
Συναρμολογήστε το πλαίσιο ανάγνωσης και τα εξαρτήματα
Συναρμολογήστε το πλαίσιο ανάγνωσης και τα εξαρτήματα

Αρχικά θα προετοιμάσουμε τον αναγνώστη. Συγκολλήστε κεφαλίδες καρφίτσας 90 μοιρών στον πίνακα RFID Breakout, στη συνέχεια κολλήστε τον πίνακα διάσπασης στον αναγνώστη RFID και αφήστε τον στην άκρη.

Στη συνέχεια θα προετοιμάσουμε την οθόνη LCD συγκολλώντας τις ακίδες του σειριακού σακιδίου στο PCB της οθόνης LCD. Μόλις κολλήσουν όλες οι καρφίτσες, κόψτε τους πείρους που έχουν κολλήσει ψηλά με διαγώνιους κόφτες. Τοποθετήστε την οθόνη LCD στο πλάι.

Κόψτε ένα τετράγωνο κομμάτι PCB έτσι ώστε να έχει 2 σειρές οπών κατά 6. Πάρτε 2 κεφαλίδες 6 πείρων και συγκολλήστε στην πλακέτα PCB. Συνδέστε τους συνδέσμους συγκόλλησης σε μεγάλη απόσταση κατά μήκος των πείρων για να δημιουργήσετε 2 γραμμές συγκόλλησης, αλλά κρατήστε τις 2 γραμμές χωριστές. Αυτό θα γίνει από τη διασταύρωσή μας για όλα τα 5 volt και τη γείωση που απαιτείται στο κιβώτιο ανάγνωσης.

Το LED RGB θα έχει 4 αγωγούς, οπότε κόψτε ένα άλλο κομμάτι πλακέτας PCB με 4 οπές κατά 2 οπές. Συγκολλήστε τα 4 καλώδια στην πλακέτα και λυγίστε το LED 90 degees για να είναι ενσωματωμένο με τον πίνακα. Συγκολλήστε μια κεφαλίδα 4 ακίδων στην υπόλοιπη πλευρά του PCB και συνδέστε κάθε πείρο σε ένα καλώδιο του LED με τη συγκόλληση να κάνει 4 μικρές σειρές. Αυτό θα πάρει ένα σταθερό χέρι και ίσως μερικές προσπάθειες να κρατήσουν τις 4 σειρές να μην αγγίζουν η μία την άλλη.

Πάρτε το πλαστικό κουτί και ανοίξτε μια τρύπα στο πίσω μέρος αρκετά μεγάλη για να χωρέσει ένα καλώδιο ethernet, στη συνέχεια κόψτε μια τετράγωνη τρύπα στο μπροστινό μέρος για την οθόνη LCD και μια μικρή τρύπα λίγο μικρότερη από το LED και σπρώξτε το LED σφιχτά μέσα του Το

Πάρτε τα καλώδια βραχυκυκλωτήρων και συνδέστε τα ακόλουθα, Γράψτε τα χρώματα στα οποία κάθε συστατικό πέφτει στο Ethernet Modular Jack. Τα καλώδια του άλτη θα τρυπηθούν όμορφα στο πίσω μέρος αυτών.

1 ακίδα στη σύνδεση GND --- Διάτρηση Ethernet (θυμηθείτε ποιο χρώμα)

1 ακίδα σε διασταύρωση 5V ------ Διάτρηση Ethernet (θυμηθείτε ποιο χρώμα)

Ο αναγνώστης RFID επισημαίνει:

PIN 1 - Διασταύρωση GND

PIN 2 - Διασταύρωση 5V

PIN 7 - Διασταύρωση GND

PIN 9 Ethernet punch down (θυμηθείτε ποιο χρώμα) ----- Τελικά στο Arduino PIN 10

PIN 10 - Διασταύρωση BUZZER GND

PIN 11 - Διασταύρωση 5V

Led Pin έξω

Κόκκινο ---- Διάτρηση Ethernet (θυμηθείτε ποιο χρώμα) ------ Τελικά στο Arduino Pin 9

Πράσινο-Διάτρηση Ethernet (θυμηθείτε ποιο χρώμα) ------ Τελικά στο Arduino Pin 8

Μπλε ---- Διάτρηση Ethernet προς τα κάτω (θυμηθείτε ποιο χρώμα) ------ Τελικά στο Arduino Pin 7

GND ---- GND Junction

Καρφίτσα οθόνης LCD:

RX ------- Διάτρηση Ethernet (θυμηθείτε ποιο χρώμα) ----- Τελικά στο Arduino Pin 11

Διασταύρωση 5V ------- 5V

GND ----- GND Junction

Ο βομβητής συνδέεται στο GND Junction (-) και στο Pin 10 του RFID Breakout (+)

Μετά από αυτό, θα υπάρχει 1 αχρησιμοποίητη γροθιά προς τα κάτω. Αυτό απαιτεί μόνο 7 από τα 8 καλώδια του καλωδίου Ethernet.

Σύρετε το καλώδιο ethernet μέσω της οπής που δημιουργήθηκε και συνδέστε το στην πρίζα. Χρησιμοποιήστε ταινία διπλής όψης κατά μήκος της άκρης της οθόνης LCD και πιέστε στο μπροστινό τετράγωνο κουτί ανάγνωσης τακτοποιήστε τα εξαρτήματα μέσα στο κουτί και κλείστε το.

Το κιβώτιο ανάγνωσης είναι πλέον έτοιμο και έτοιμο για τοποθέτηση.

Βήμα 4: Συναρμολογήστε το κύριο κουτί

Συναρμολογήστε το κύριο κουτί
Συναρμολογήστε το κύριο κουτί

Κόψτε ένα μικρό κομμάτι κόντρα πλακέ που μπορεί να χωρέσει μέσα στο κύριο κουτί 10 X 10 X 4 και στερεώστε το στο εσωτερικό του κουτιού βιδώνοντας βίδες στο πίσω μέρος του ντουλαπιού στο κόντρα πλακέ. Το κόντρα πλακέ θα είναι η βάση για τα εξαρτήματά μας.

Τοποθετήστε το τροφοδοτικό 12v, την θήκη Arduino Yun, τη θήκη Raspberry Pi, την υποδοχή 12V και το ρελέ στο κόντρα πλακέ. Κόψτε το άκρο του καλωδίου τροφοδοσίας υπολογιστή και αφαιρέστε τα 3 καλώδια πίσω. Συνδέστε το ασπρόμαυρο καλώδιο στο 120V στο τροφοδοτικό 12v και το πράσινο απευθείας στη μεταλλική θήκη. Χτυπήστε μία από τις τρύπες στο κύριο κουτί για να περάσετε το καλώδιο τροφοδοσίας.

Η υποδοχή 12v θα έχει 2 καλώδια που θα ξεκολλούν, ένα κόκκινο και ένα μαύρο, που θα απογυμνώνουν τα άκρα. Το κόκκινο θα πάει στον τερματικό +12v στο τροφοδοτικό, το μαύρο θα πάει στον τερματικό COM στο τροφοδοτικό. Κόψτε ένα μήκος καλωδίου 16 gauge για να φτάσετε στο ρελέ από την παροχή ρεύματος και απογυμνώστε και τα δύο άκρα. Στην πλευρά των 12V του ρελέ βιδώστε αυτό το καλώδιο στον αρνητικό ακροδέκτη και στη συνέχεια στον ακροδέκτη GND στην τροφοδοσία. Κόψτε ένα άλλο μήκος καλωδίου 16 gauge για να μεταβείτε από την πλευρά 12v του ρελέ στον θετικό ακροδέκτη και στον ακροδέκτη PUSH στην τροφοδοσία. Καλωδίστε το καλώδιο του λαμπτήρα, το ένα στον ακροδέκτη NO στο τροφοδοτικό (Αρνητικό στο χτύπημα της πόρτας) και το άλλο στο θετικό τερματικό στο ρελέ (τώρα θα έχετε 2 καλώδια που βγαίνουν από αυτόν τον ακροδέκτη) (πηγαίνει στο Θετικό στο χτύπημα πόρτας.) Μπορείτε να περάσετε αυτό το καλώδιο από το ίδιο νοκ -άουτ με το καλώδιο τροφοδοσίας.

Τώρα χρησιμοποιήστε 2 καλώδια βραχυκυκλωτήρων και συνδέστε από την πλευρά των 5V του ρελέ στο Arduino, Θετικό στο Pin 12, Αρνητικό στο GND.

Το RTC έχει 4 ακίδες, ισχύ, GND, SDA, SCL. Συνδέστε 4 καλώδια βραχυκυκλωτή σε αυτά. Η τροφοδοσία θα συνδεθεί στην ακίδα 3.3V στο Arduino, την GND σε μια καρφίτσα GND στο Arduino, την SDA στην καρφίτσα SDA στο Arduino και την SCL στην ακίδα SCL στο Arduino.

Τώρα πάρτε 7 καλώδια βραχυκυκλωτήρων και χτυπήστε τα στο πίσω μέρος μιας άλλης υποδοχής ethernet, τα ίδια χρώματα που χρησιμοποιούσατε πριν.

Συνδέστε τον πείρο 5V στο Arduino στο χρώμα που ταιριάζει με τη διασταύρωση 5V και κάντε το ίδιο με το GND στο GND και τα υπόλοιπα καλώδια επίσης. Οι ακίδες 7, 8 και 9 είναι για τις λυχνίες LED, οι ακίδες 10 για τον αναγνώστη RFID και οι ακίδες 11 για το RX στην οθόνη LCD. Μπορείτε να εκτελέσετε το καλώδιο ethernet από το κιβώτιο ανάγνωσης μέσω νοκ -άουτ στο κύριο κιβώτιο και να το συνδέσετε στην πρίζα που μόλις ανοίξατε. Συνδέστε το φορτιστή USB Car και τρέξτε τα καλώδια Micro USB από εκεί στο Raspberry Pi και το Arduino. Το κύριο κουτί είναι τώρα συναρμολογημένο. και όλο το υλικό έχει τελειώσει.

Βήμα 5: Αρχική ρύθμιση του Arduino YUN

Πριν τροφοδοτήσετε το YUN, συνδέστε την κάρτα MicroSD 2 GB.

Ρυθμίστε το YUN χρησιμοποιώντας τις οδηγίες στην τοποθεσία Arduino για να ρυθμίσετε το YUN στο τοπικό σας δίκτυο και να προσθέσετε έναν κωδικό πρόσβασης. Ακολουθήστε τις οδηγίες για να τοποθετήσετε την κάρτα SD.

Χρησιμοποιώντας το PUTTY συνδεθείτε στο YUN με τη διεύθυνση IP, το ID θα είναι root και PW.

Θα χρειαστεί να εγκαταστήσουμε το MySQL και το Python Connector για να έχουμε πρόσβαση στο MySQL στον τύπο Raspberry Pi:

opkg εγκατάσταση mysql-server opkg

εγκαταστήστε το python-mysql

Τώρα ρυθμίστε το Arduino Yun να λειτουργεί ως ασύρματο σημείο πρόσβασης με την προεπιλεγμένη διεύθυνση IP (192.168.240.1) που είναι η προεπιλεγμένη.

Βήμα 6: Ρυθμίστε το Raspberry Pi

Πρώτα θα χρειαστεί να κάψετε το πιο πρόσφατο αντίγραφο του Rasbian σε κάρτα Micro SD 32 GB. Υπάρχουν πολλά σεμινάρια για το πώς να το κάνετε αυτό, έτσι δεν θα μπω σε αυτό.

Πάρτε το Raspberry Pi και συνδέστε ένα πληκτρολόγιο, οθόνη και ποντίκι σε αυτό. Τοποθετήστε την κάρτα SD 32 GB και ενεργοποιήστε την.

Συνδεθείτε με το όνομα χρήστη pi και pw raspberry, μπορείτε να το αλλάξετε αργότερα. Μόλις φορτωθεί η οθόνη, κάντε κλικ στο εικονίδιο wifi και συνδέστε το στο οικιακό wifi. Γράψτε τη διεύθυνση IP. Ανοίξτε το παράθυρο της κονσόλας (μαύρο τετράγωνο εικονίδιο με δρομέα) και πληκτρολογήστε αυτές τις εντολές για να ενημερώσετε τη λίστα πακέτων και να ενημερώσετε το λογισμικό που υπάρχει ήδη στο Pi.

sudo apt-get ενημέρωση

sudo apt-get αναβάθμιση

sudo raspi-config

Εδώ θα θέλετε να επεκτείνετε το σύστημα αρχείων, να ενεργοποιήσετε το SSH και να απενεργοποιήσετε την επιφάνεια εργασίας κατά την εκκίνηση. Μπορείτε επίσης να αλλάξετε τον κωδικό πρόσβασής σας εδώ. επανεκκίνηση, συνδεθείτε.

Τώρα θα εγκαταστήσουμε απομακρυσμένη επιφάνεια εργασίας (γι 'αυτό χρειαζόμαστε ενεργοποιημένο το SSH). Στη γραμμή εντολών πληκτρολογήστε

sudo apt-get install xrdp

Τώρα μπορείτε να ανοίξετε απομακρυσμένη επιφάνεια εργασίας από τον υπολογιστή Windows και να πληκτρολογήσετε τη διεύθυνση IP Raspberry Pi και το όνομα χρήστη και τον κωδικό πρόσβασης. Διατηρήστε το πληκτρολόγιο, την οθόνη και το ποντίκι, επειδή θα χρειαστεί να το χρησιμοποιήσουμε αργότερα.

Πρέπει να προσθέσουμε μια καθυστέρηση εκκίνησης στο Raspberry Pi, οπότε αργότερα όταν τροφοδοτήσουμε μαζί το Raspberry Pi και το Arduino YUN, θα επιτρέψει στο wifi YUN να ξεκινήσει πριν από το Raspberry Pi. Από τον τύπο της κονσόλας:

sudo nano /boot/config.txt

Μετακινηθείτε προς τα κάτω και προσθέστε αυτήν τη γραμμή:

boot_delay = 75

Πατήστε CNTRL X, Y, Enter για αποθήκευση. Αυτό θα προσθέσει καθυστέρηση εκκίνησης 75 δευτερολέπτων. Επανεκκινήστε το Raspberry Pi και επαληθεύστε.

Ενώ είμαστε τώρα στον υπολογιστή σας, τώρα είναι μια καλή στιγμή για να εγκαταστήσετε το PUTTY και το WinSCP στον υπολογιστή σας. Θα το χρειαστούμε για να συνεχίσουμε. Το PUTTY είναι ένα παράθυρο απομακρυσμένης κονσόλας για τα Raspberry Pi και Arduino YUN αργότερα και το WinSCP είναι ένα ασφαλές FTP για τη μεταφορά αρχείων από τον υπολογιστή σας στο Raspberry Pi από τον υπολογιστή σας.

Βήμα 7: Ρύθμιση MySQL, PHP και Python στο Raspberry Pi

Από τον υπολογιστή σας ανοίξτε το PUTTY και πληκτρολογήστε τη διεύθυνση IP του Raspberry Pi και συνδεθείτε. Θα εγκαταστήσουμε το MySQL, πληκτρολογήστε την εντολή:

sudo apt-get install mysql-server

Τώρα για να ανοίξετε τον τύπο MySQL:

sudo mysql -u ρίζα

Τώρα που βρισκόμαστε πρέπει να διαμορφώσουμε το MySQL για να λειτουργεί στην εφαρμογή μας, όπου πληκτρολογώ μια λέξη που περιβάλλεται από & εκεί θα εισάγετε τα δεδομένα σας, Κρατήστε τα πάντα στις εντολές και φροντίστε να χρησιμοποιήσετε. στο τέλος της εντολής. Τύπος:

ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ '& user &'@'localhost' IDENTIFIED BY '& password &';

ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΙΜΙΣΜΑΤΩΝ στο *. * ΣΤΟ '& χρήστη &'@'localhost' ΜΕ ΕΠΙΛΟΓΗ ΕΠΙΧΕΙΡΗΣΗΣ?

εγκαταλείπω;

δημιουργήσατε ένα όνομα χρήστη και έναν κωδικό πρόσβασης με όλα τα δικαιώματα στο MySQL Τώρα συνδεθείτε με τα νέα σας διαπιστευτήρια.

mysql -u & χρήστης & -p

Τώρα θα ζητήσει τον κωδικό πρόσβασής σας.

&Κωδικός πρόσβασης&

Τώρα βρίσκεστε με το όνομα χρήστη και τον κωδικό πρόσβασής σας. Τώρα θα δημιουργήσουμε μια βάση δεδομένων και έναν πίνακα:

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ arduino;

ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΙΜΙΣΜΑΤΩΝ ΣΤΟ arduino.

Χρησιμοποιήστε το ίδιο όνομα χρήστη και κωδικό πρόσβασης που δημιουργήσατε για τη σύνδεση στο MySQL. Παρακάτω θα δημιουργήσουμε έναν πίνακα που ονομάζεται usersrfid κάτω από το arduino της βάσης δεδομένων.

ΧΡΗΣΗ arduino

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ usersrfid (id INT (255) NOT NULL AUTO_INCREMENT PRIMARY KEY);

Απλώς έπρεπε να το δημιουργήσουμε για να το προσθέσουμε αργότερα. Το id είναι η πρώτη στήλη του πίνακα και θα είναι ένας αριθμός που αυξάνει αυτόματα και κάθε πίνακας χρειάζεται ένα πρωτεύον κλειδί, οπότε ορίζουμε αυτήν τη στήλη ως κλειδί. Τώρα βγείτε από το MySQL πληκτρολογώντας:

εγκαταλείπω;

Τώρα πρέπει να εγκαταστήσουμε τον διακομιστή ιστού, PHP, Python και όλους τους συνδέσμους για MySQL Πληκτρολογήστε τις ακόλουθες εντολές:

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

Στη συνέχεια θα εγκαταστήσουμε το PHPMyAdmin. αυτό θα χρησιμοποιηθεί για τη δημιουργία πινάκων MySQL χωρίς τη χρήση της γραμμής εντολών. sudo apt-get install phpmyadmin

θα εμφανιστούν μερικές επιλογές, επιλέξτε apache2, ναι στο dbcommon και εισαγάγετε έναν κωδικό πρόσβασης για το phpmyadmin.

Τώρα πρέπει να επεξεργαστούμε το apache2.conf για να χρησιμοποιήσουμε το PHPMyAdmin για να κάνουμε αυτόν τον τύπο:

sudo nano /etc/apache2/apache2.conf

Μετακινηθείτε προς τα κάτω και πληκτρολογήστε:

Συμπεριλάβετε /etc/phpmyadmin/apache.conf

Στη συνέχεια, πατήστε CNTRL X, Y και, στη συνέχεια, εισαγάγετε για αποθήκευση. Μόλις αποθηκευτεί, θα χρειαστεί να επανεκκινήσουμε τον τύπο apache2:

sudo /etc/init.d/apache2 επανεκκίνηση

Τώρα ανοίξτε ένα πρόγραμμα περιήγησης ιστού στα Windows και πληκτρολογήστε στη γραμμή διευθύνσεων τη διεύθυνση IP του raspberry Pi ακολουθούμενη από /phpmyadmin και συνδεθείτε στο PHPMyAdmin με τη σύνδεση και τον κωδικό πρόσβασης MySQL.

Εδώ θα επεξεργαστούμε και θα προσθέσουμε στη βάση δεδομένων σας.

Στην αριστερή στήλη επεκτείνετε το arduino και, στη συνέχεια, κάντε κλικ στο κουμπί usersrfid που δημιουργήσατε νωρίτερα. Κάντε κλικ στο ένθετο για να προσθέσετε τις στήλες σας:

πρώτος, μέσος, τελευταίος, δρόμος, διαμέρισμα, πόλη, κατάσταση, zip, hphone, τηλέφωνο, θέση, rfid, rev_rfid, access247, εικόνα

Είναι όλα varchar 500

Στη συνέχεια, δημιουργήστε 2 ακόμη πίνακες κάνοντας κλικ στο νέο στην αριστερή στήλη κάτω από το arduino. Καλέστε τον πρώτο πίνακα usersrfid247 και εισαγάγετε στήλες:

id, πρώτο, τελευταίο, θέση, rfid, εικόνα.

το αναγνωριστικό θα είναι INT 255 ελέγξτε το AI για αυτόματη αύξηση και κάντε κλικ στο κλειδί για να κάνετε το κύριο κλειδί, το υπόλοιπο θα είναι varchar 500

Ο δεύτερος πίνακας, καλέστε ControlUsers με στήλες:

id, rfid, rfid_st, ημερομηνία, πρώτη, τελευταία.

Για άλλη μια φορά το αναγνωριστικό θα είναι η αυτόματη αύξηση INT 255, το κύριο κλειδί και τα υπόλοιπα είναι varchar 500

Τώρα έχουν δημιουργηθεί όλοι οι πίνακες MySQL, αφήστε τους προς το παρόν κενό

Ο πίνακας usersrfid είναι ο κύριος πίνακας όπου θα προστεθούν όλοι οι χρήστες με τις πληροφορίες τους και τον κώδικα RFID. Ο πίνακας usersrfid247 είναι εκεί όπου θα τοποθετηθούν οι χρήστες με 24/7 πρόσβαση. και ControlUsers είναι ο πίνακας όπου θα βρίσκεται το αρχείο καταγραφής πρόσβασης. Όλα αυτά τα πεδία θα συμπληρωθούν αργότερα.

Τώρα που δημιουργήθηκαν οι πίνακες, θα ρυθμίσουμε το Raspberry Pi ώστε να μπορεί να ανεβάζει τις εικόνες των χρηστών, να ανοίγει το PUTTY και να πληκτρολογεί τη διεύθυνση IP και να συνδεθεί αν δεν είναι ήδη. Ορίστε τα δικαιώματα φακέλου για να επιτρέπεται η επεξεργασία. Πληκτρολογήστε την εντολή:

sudo chmod a+w/var/www/html

Τώρα χρησιμοποιήστε απομακρυσμένη επιφάνεια εργασίας και μεταβείτε στην επιφάνεια εργασίας Raspberry Pi. Μεταβείτε στον εξερευνητή αρχείων και στον κατάλογο/var/www/html. Διαγράψτε το αρχείο index.html από αυτόν τον φάκελο και δημιουργήστε έναν νέο φάκελο που ονομάζεται εικόνες. Κάντε δεξί κλικ στο νέο φάκελο και μεταβείτε στα δικαιώματα, επιτρέψτε σε οποιονδήποτε να έχει άδεια στο φάκελο.

Βήμα 8: Συνδέστε το Raspberry Pi στο δίκτυο YUNs

Από την απομακρυσμένη επιφάνεια εργασίας του υπολογιστή σας στο Raspberry Pi

Αλλάξτε το δίκτυο wifi για να συνδεθείτε στο wifi του Arduino. Θα χάσετε τη σύνδεση απομακρυσμένης επιφάνειας εργασίας.

Συνδεθείτε στο Raspberry pi μέσω του πληκτρολογίου, του ποντικιού και της οθόνης που αφήσαμε συνδεδεμένοι. Στη γραμμή εντολών πληκτρολογήστε startx για να μεταβείτε στο GUI και κοιτάξτε για να δείτε ποια διεύθυνση IP εκχώρησε το Arduino στο Raspberry Pi και γράψτε την.

Επιστρέψτε στον υπολογιστή σας και συνδέστε τον στο wifi Arduino. Τώρα μπορείτε να χρησιμοποιήσετε απομακρυσμένη επιφάνεια εργασίας για πρόσβαση στο Raspberry Pi με τη νέα διεύθυνση IP.

Πρέπει να θέσουμε τη σύνδεση wifi Arduino σε υψηλότερη προτεραιότητα στο Raspberry Pi. Συνδεθείτε στο Raspberry Pi με Putty χρησιμοποιώντας τη νέα διεύθυνση IP. Τύπος:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

κάτω από το δίκτυο που αναφέρεται για το arduino, προσθέστε μια άλλη γραμμή μέσα στις αγκύλες και πληκτρολογήστε:

προτεραιότητα = 1

Σε όλες τις συνδέσεις εκχωρείται αυτόματα ένα 0 και δεν χρειάζεται να προσθέσετε αυτήν τη γραμμή όταν είναι 0. Η σύνδεση με τον μεγαλύτερο αριθμό έχει προτεραιότητα.

Αποθηκεύστε με CNTRL X, Y και εισαγάγετε για αποθήκευση και επανεκκινήστε το Raspberry Pi.

Συνδεθείτε ξανά στο Raspberry με το PUTTY χρησιμοποιώντας τη διεύθυνση IP που έχει εκχωρηθεί από το Arduino.

Θα ρυθμίσουμε τώρα την πρόσβαση MySQL από το YUN από απόσταση, από προεπιλογή η MySQL θα αποκλείει κάθε απομακρυσμένη πρόσβαση. Για να το κάνετε αυτό, πληκτρολογήστε:

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

Κάντε κύλιση προς τα κάτω: bind *ip address *, τοποθετήστε τον κέρσορα στην αρχή αυτής της γραμμής και πατήστε i (για επεξεργασία) και βάλτε ένα # εκεί. Πατήστε ESC για να σταματήσετε την επεξεργασία και μεταβείτε στο κάτω μέρος. Αποθήκευση και έξοδος πληκτρολογώντας: wq

Επανεκκίνηση των υπηρεσιών MySQL:

επανεκκίνηση της υπηρεσίας sudo mysql

Τώρα χρειαζόμαστε MySQL για να μπορέσουμε να προσδιορίσουμε τη διεύθυνση IP YUNs. Συνδεθείτε στο mysql όπως νωρίτερα πληκτρολογώντας:

mysql -u & χρήστης & -p

στο μήνυμα πληκτρολογήστε τον κωδικό πρόσβασής σας

Τύπος:

ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΕΡΑΙΟΤΗΤΩΝ ΕΝΕΡΓΟΠΟΙΗΜΕΝΟ *. * ΣΤΟ & χρήστη & '@' & YUNip & 'IDENTIFIED BY' & password & 'WITH GRANT OPTION;

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

Θα πρέπει να δείτε το όνομα χρήστη@ipaddress που αναγράφεται εκεί.

ΠΛΕΟΝΕΚΤΙΚΕΣ ΠΡΟΤΙΜΗΣΕΙΣ:

Εγκαταλείπω;

Βήμα 9: Προγραμματίστε το Arduino YUN

Κατεβάστε τα σενάρια Python από αυτήν τη σελίδα στον υπολογιστή σας. Επεξεργαστείτε τα σενάρια python χρησιμοποιώντας το Σημειωματάριο ++. Βρείτε τις πληροφορίες της βάσης δεδομένων προς την κορυφή και επεξεργαστείτε τις ώστε να ταιριάζουν με τα διαπιστευτήρια της βάσης δεδομένων σας. Η διεύθυνση IP είναι η νέα διεύθυνση IP Raspberry Pi και οι πληροφορίες σύνδεσης της MySQL.

Συνδέστε τον υπολογιστή σας στο δίκτυο Arduino εάν δεν είναι ήδη και πληκτρολογήστε τη διεύθυνση IP Arduino στο πρόγραμμα περιήγησης ιστού, θα πρέπει να είναι 192.168.240.1. Συνδεθείτε στο YUN και μεταβείτε στις προηγμένες διαμορφώσεις που θα σας μεταφέρουν στο GUI του Luci. Μεταβείτε στην ενότητα DHCP στο δίκτυο και ορίστε το Raspberry Pi ως στατική IP. Αυτό θα πει στο Arduino να εκχωρεί πάντα αυτήν τη διεύθυνση IP στο Raspberry Pi, ώστε να μην αλλάζει.

Ανοίξτε το WinSCP στον υπολογιστή σας και ανεβάστε τα 3 επεξεργασμένα σενάρια python στο/mnt/sda1/arduino/python στο Arduino.

Απενεργοποιήστε τον διακομιστή NTP στο YUN, έτσι ώστε το RTC να λειτουργεί σωστά. Ανοίξτε το Putty στον υπολογιστή σας και συνδεθείτε στη διεύθυνση IP YUNs και συνδεθείτε. Στην εντολή πληκτρολογήστε:

/etc/init.d/sysntpd stop/etc/init.d/sysntpd απενεργοποίηση

Εάν δεν έχετε κατεβάσει ήδη τη βιβλιοθήκη DS3132 από τη διεύθυνση https://www.rinkydinkelectronics.com/library.php?id…, θα χρειαστεί να επανασυνδέσετε το wifi του υπολογιστή σας στο τοπικό σας δίκτυο για να το κάνετε αυτό. Αφού επανασυνδεθείτε στο YUN.

Ανοίξτε το Arduino IDE στον υπολογιστή σας και ρυθμίστε το στο YUN και τη θύρα στη διεύθυνση IP. Μεταβείτε στο αρχείο> παραδείγματα> DS3231> DS3231_Serial_easy και ορίστε την ώρα του RTC, θυμηθείτε ότι η ημερομηνία είναι d/m/έτος και μεταφορτώστε

ανεβάστε το τελικό Arduino Sketch στο Arduino χρησιμοποιώντας το Arduino IDE.

Βήμα 10: Διακομιστής Raspberry Pi Webserver

Τώρα κατεβάστε τα αρχεία php, html και css από αυτήν τη σελίδα στον υπολογιστή σας. Επεξεργαστείτε τα παρακάτω με Σημειωματάριο ++, dbinfo.php και auth.php. Το dbinfo.php θα χρειαστεί να επεξεργαστεί τις πληροφορίες της βάσης δεδομένων στη διεύθυνση ip, το όνομα χρήστη, τον κωδικό πρόσβασης κ.λπ. της MySQL. Το auth.php θα πρέπει να επεξεργαστεί για τη σύνδεση και τον κωδικό πρόσβασης στον ιστότοπο που πρέπει να δημιουργήσετε. Είναι ένα μικρό αρχείο και μπορείτε εύκολα να το βρείτε απλά ξεφυλλίζοντας.

Βεβαιωθείτε ότι ο υπολογιστής σας είναι ακόμα συνδεδεμένος στο Arduino Wifi και χρησιμοποιήστε το WinSCP και τοποθετήστε τα αρχεία php, html και css από τον υπολογιστή σας στο Raspberry Pi στον κατάλογο/var/www/html.

Ανοίξτε το πρόγραμμα περιήγησής σας στον υπολογιστή σας και πληκτρολογήστε τη διεύθυνση IP του Raspberry Pi και θα εμφανιστεί η οθόνη σύνδεσης της ιστοσελίδας. Συνδεθείτε με το UID και τον κωδικό πρόσβασης που δημιουργήσατε κατά την επεξεργασία του αρχείου auth.php. Όλα θα είναι άδεια. Μεταβείτε για να προσθέσετε ένα μέλος και ξεκινήστε να συμπληρώνετε τους χρήστες σας.

Βήμα 11: Απολαύστε

Συνδέστε τον υπολογιστή/τηλέφωνο/tablet σας στο wifi arduino, ανοίξτε πρόγραμμα περιήγησης, πληκτρολογήστε τη στατική IP του Raspberry Pi, συνδεθείτε στην ιστοσελίδα και μπορείτε να αρχίσετε να προσθέτετε διαπιστευτήρια μελών.

Για να βρείτε τον κωδικό RFID μιας κάρτας, σαρώστε την και ελέγξτε το αρχείο καταγραφής πρόσβασης. Αντιγράψτε τον κώδικα και επικολλήστε τον στο πεδίο RFID των νέων μελών.

Η κανονική πρόσβαση ορίζεται στις Τρίτες μόνο από τις 16:00 έως τις 23:00. Για να αλλάξετε αυτήν την επεξεργασία του σεναρίου python compare.py, υπάρχει μια γραμμή εκεί ΑΝ με την Ημέρα της Εβδομάδας και ώρες με μεγαλύτερες και μικρότερες από πινακίδες. Αλλάξτε τις Ημέρες και τις ώρες που θέλετε όλοι οι χρήστες να έχουν πρόσβαση μεταξύ τους. Η 24ωρη πρόσβαση είναι αποδεκτή ανά πάσα στιγμή.

Μόλις προστεθεί ένα μέλος, σαρώστε την κάρτα και δείτε την πόρτα να ανοίγει. Επιστρέψτε στο αρχείο καταγραφής και δείτε την προσθήκη.

Απολαμβάνω

Συνιστάται: