- Απαιτούμενα συστατικά:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Εγκατάσταση βιβλιοθήκης για αισθητήρα δακτυλικών αποτυπωμάτων:
- Λειτουργία αισθητήρα δακτυλικών αποτυπωμάτων με Raspberry Pi:
- Προγραμματισμός Python:
Ο αισθητήρας εκτύπωσης δακτυλικών αποτυπωμάτων, τον οποίο συνηθίζαμε να βλέπουμε στα προγράμματα Sci-Fi πριν από λίγα χρόνια, είναι πλέον πολύ συνηθισμένος να επαληθεύει την ταυτότητα ενός ατόμου για διάφορους σκοπούς. Προς το παρόν μπορούμε να δούμε συστήματα που βασίζονται σε δακτυλικά αποτυπώματα παντού στην καθημερινή μας ζωή, όπως για συμμετοχή σε γραφεία, επαλήθευση υπαλλήλων σε τράπεζες, για ανάληψη μετρητών ή καταθέσεις σε ΑΤΜ, για επαλήθευση ταυτότητας σε κυβερνητικά γραφεία κ.λπ. Το έχουμε ήδη διασυνδέσει με το Arduino, σήμερα πρόκειται να διασυνδέσουμε το FingerPrint Sensor με το Raspberry Pi. Χρησιμοποιώντας αυτό το σύστημα Raspberry Pi FingerPrint, μπορούμε να εγγράψουμε νέα δακτυλικά αποτυπώματα στο σύστημα και να διαγράψουμε τα δακτυλικά αποτυπώματα που έχουν ήδη τροφοδοτηθεί. Η πλήρης λειτουργία του συστήματος έχει δειχθεί στο βίντεο που παρέχεται στο τέλος του άρθρου.
Απαιτούμενα συστατικά:
- Raspberry Pi
- Μετατροπέας USB σε σειριακό
- Ενότητα δακτυλικών αποτυπωμάτων
- Πιέστε τα κουμπιά
- LCD 16x2
- 10k ποτ
- Πίνακας ψωμιού ή PCB (παραγγελία από την JLCPCB)
- Καλώδια αλτών
- LED (προαιρετικό)
- Αντίσταση 150 ohm -1 k ohm (προαιρετικά)
Διάγραμμα κυκλώματος και επεξήγηση:
Σε αυτό το έργο διασύνδεσης αισθητήρα δακτυλικών αποτυπωμάτων Raspberry Pi, χρησιμοποιήσαμε 4 πλήκτρα: ένα για την εγγραφή του νέου δακτύλου δακτύλου, ένα για τη διαγραφή των δακτυλικών αποτυπωμάτων που έχουν ήδη τροφοδοτηθεί και άλλα για δύο για αύξηση / μείωση της θέσης των ήδη τροφοδοτούμενων δακτυλικών αποτυπωμάτων. Ένα LED χρησιμοποιείται για ένδειξη ότι ο αισθητήρας δακτυλικών αποτυπωμάτων είναι έτοιμος να τραβήξει το δάχτυλό του για αντιστοίχιση. Εδώ έχουμε χρησιμοποιήσει μια μονάδα δακτυλικών αποτυπωμάτων που λειτουργεί στο UART. Εδώ λοιπόν έχουμε διασυνδέσει αυτήν τη μονάδα δακτυλικών αποτυπωμάτων με το Raspberry Pi χρησιμοποιώντας έναν μετατροπέα USB σε Serial.
Λοιπόν, πρώτα απ 'όλα, πρέπει να κάνουμε όλη την απαιτούμενη σύνδεση όπως φαίνεται στο Διάγραμμα κυκλώματος παρακάτω. Οι συνδέσεις είναι απλές, μόλις συνδέσαμε τη μονάδα δακτυλικών αποτυπωμάτων στη θύρα USB Raspberry Pi χρησιμοποιώντας μετατροπέα USB σε σειριακό. Μια οθόνη LCD 16x2 χρησιμοποιείται για την εμφάνιση όλων των μηνυμάτων. Ένα δοχείο 10k χρησιμοποιείται επίσης με LCD για τον έλεγχο της αντίθεσης του ίδιου. Οι ακίδες 16x2 LCD RS, EN, d4, d5, d6 και d7 συνδέονται με τα GPIO Pin 18, 23, 24, 25, 8 και 7 του Raspberry Pi αντίστοιχα. Τέσσερα κουμπιά συνδέονται στο GPIO Pin 5, 6, 13 και 19 του Raspberry Pi. Το LED είναι επίσης συνδεδεμένο στον ακροδέκτη 26 του RPI.
Εγκατάσταση βιβλιοθήκης για αισθητήρα δακτυλικών αποτυπωμάτων:
Αφού πραγματοποιήσουμε όλες τις συνδέσεις, πρέπει να ενεργοποιήσουμε το Raspberry Pi και να το προετοιμάσουμε με το τερματικό ανοιχτό. Τώρα πρέπει να εγκαταστήσουμε βιβλιοθήκη δακτυλικών αποτυπωμάτων για το Raspberry Pi σε γλώσσα python ακολουθώντας τα παρακάτω βήματα.
Βήμα 1: Για να εγκαταστήσετε αυτήν τη βιβλιοθήκη, απαιτούνται δικαιώματα root. Πρώτα λοιπόν μπαίνουμε στο root με δεδομένη εντολή:
sudo bash
Βήμα 2: Στη συνέχεια, πραγματοποιήστε λήψη ορισμένων απαιτούμενων πακέτων χρησιμοποιώντας συγκεκριμένες εντολές:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key add - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / κλπ / apt / source.list.d /
Βήμα 3: Μετά από αυτό, πρέπει να ενημερώσουμε το Raspberry pi και να εγκαταστήσουμε τη βιβλιοθήκη του αισθητήρα δακτυλικών αποτυπωμάτων που έχετε λάβει:
sudo apt-get ενημέρωση sudo apt-get εγκατάσταση python-fingerprint -yes
Βήμα 4: Μετά την εγκατάσταση της βιβλιοθήκης τώρα πρέπει να ελέγξουμε τη θύρα USB στην οποία είναι συνδεδεμένος ο αισθητήρας δακτυλικών αποτυπωμάτων, χρησιμοποιώντας την εντολή:
ls / dev / ttyUSB *
Τώρα αντικαταστήστε τη θύρα USB αριθ., Με τη θύρα USB που έχετε ξεπεράσει την οθόνη και αντικαταστήστε την στον κώδικα python. Ο πλήρης κωδικός Python δίνεται στο τέλος αυτού του έργου.
Λειτουργία αισθητήρα δακτυλικών αποτυπωμάτων με Raspberry Pi:
Η λειτουργία αυτού του έργου είναι απλή, απλώς εκτελέστε τον κωδικό python και θα υπάρξουν ορισμένα εισαγωγικά μηνύματα μέσω LCD και στη συνέχεια θα ζητηθεί από τον χρήστη να τοποθετήσει το δάχτυλο στον αισθητήρα δακτυλικών αποτυπωμάτων. Τώρα βάζοντας ένα δάχτυλο πάνω από τη μονάδα δακτυλικών αποτυπωμάτων, μπορούμε να ελέγξουμε εάν τα δακτυλικά αποτυπώματά μας είναι ήδη αποθηκευμένα ή όχι. Εάν το δακτυλικό σας αποτύπωμα είναι αποθηκευμένο, τότε η οθόνη LCD θα εμφανίσει το μήνυμα με τη θέση αποθήκευσης του δακτυλικού αποτυπώματος όπως " Fount at Pos: 2" διαφορετικά θα εμφανίζεται "No Match Found" .
Τώρα για να εγγράψετε ένα δακτυλικό αποτύπωμα, ο χρήστης πρέπει να πατήσει το κουμπί εγγραφής και να ακολουθήσει τα μηνύματα οδηγιών στην οθόνη LCD.
Εάν ο χρήστης θέλει να διαγράψει κάποιο από τα δακτυλικά αποτυπώματα, τότε ο χρήστης πρέπει να πατήσει το κουμπί διαγραφής. Μετά από αυτό, η οθόνη LCD θα ζητήσει τη θέση του δακτυλικού αποτυπώματος που πρόκειται να διαγραφεί. Τώρα, χρησιμοποιώντας ένα άλλο κουμπί δύο για αύξηση και μείωση, ο χρήστης μπορεί να επιλέξει τη θέση του αποθηκευμένου δακτυλικού αποτυπώματος και να πατήσει το κουμπί εγγραφής (αυτή τη στιγμή το κουμπί εγγραφής συμπεριφέρεται ως κουμπί Ok) για να διαγράψετε αυτό το δακτυλικό αποτύπωμα. Για περισσότερη κατανόηση ρίξτε μια ματιά στο βίντεο που δίνεται στο τέλος του έργου.
Προγραμματισμός Python:
Το Python για διασύνδεση του αισθητήρα δακτυλικών αποτυπωμάτων με RPi είναι εύκολο με τη χρήση λειτουργιών βιβλιοθήκης δακτυλικών αποτυπωμάτων. Αλλά αν ο χρήστης θέλει να το συνδέσει ο ίδιος, τότε θα είναι λίγο δύσκολο για πρώτη φορά. Στα φύλλα δεδομένων του αισθητήρα δακτυλικών αποτυπωμάτων, παρέχονται όλα όσα απαιτούνται για τη διασύνδεση της ίδιας μονάδας. Ένας κωδικός GitHub είναι διαθέσιμος για να δοκιμάσετε το Raspberry pi με τον αισθητήρα δακτυλικών αποτυπωμάτων.
Εδώ χρησιμοποιήσαμε τη βιβλιοθήκη, οπότε απλά πρέπει να καλέσουμε τη λειτουργία βιβλιοθήκης Στον κώδικα, πρώτα πρέπει να εισαγάγουμε βιβλιοθήκες όπως δακτυλικό αποτύπωμα, GPIO και ώρα, και στη συνέχεια πρέπει να ορίσουμε ακίδες για LCD, LED και κουμπιά.
χρόνος εισαγωγής από pyfingerprint.pyfingerprint εισαγωγή PyFingerprint εισαγωγή RPi.GPIO ως gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 register = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 ΧΑΜΗΛΗ = 0
Μετά από αυτό, πρέπει να αρχικοποιήσουμε και να δώσουμε κατεύθυνση στις επιλεγμένες ακίδες
gpio.setwarnings (False) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (εγγραφή, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (διαγραφή, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Τώρα έχουμε αρχικοποιήσει τον αισθητήρα δακτυλικών αποτυπωμάτων
δοκιμάστε: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): αύξηση ValueError ('Ο κωδικός πρόσβασης του αισθητήρα δακτυλικών αποτυπωμάτων είναι λάθος!') εκτύπωση («Μήνυμα εξαίρεσης:» + str (e)) έξοδος (1)
Έχουμε γράψει κάποια λειτουργία για να αρχικοποιήσουμε και να οδηγήσουμε την οθόνη LCD, ελέγξτε τον πλήρη κώδικα παρακάτω στην ενότητα κώδικα:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Αφού γράψαμε όλες τις λειτουργίες του προγράμματος οδήγησης LCD, έχουμε τοποθετήσει λειτουργίες για εγγραφή, αναζήτηση και διαγραφή δακτυλικών αποτυπωμάτων.
Η λειτουργία def registerFinger () χρησιμοποιείται για εγγραφή ή αποθήκευση των νέων δακτυλικών αποτυπωμάτων.
def searchFinger () η λειτουργία χρησιμοποιείται για να searthc τις ήδη αποθηκευμένες δακτυλικά αποτυπώματα
def deleteFinger () functinos χρησιμοποιείται για να deoted τον ήδη αποθηκευμένο δάχτυλο εκτύπωσης πιέζοντας το κουμπί correspontind ώθησης.
Ο κωδικός όλων των παραπάνω λειτουργιών δίνεται στον κώδικα python που δίνεται παρακάτω.
Μετά από αυτό, τέλος, πρέπει να αρχικοποιήσουμε το σύστημα έως και 1 βρόχο ζητώντας να τοποθετήσετε το δάχτυλο στον αισθητήρα δακτυλικών αποτυπωμάτων και στη συνέχεια το σύστημα θα ελέγξει εάν αυτό το δακτυλικό αποτύπωμα είναι έγκυρο ή όχι και θα εμφανίσει τα αποτελέσματα ανάλογα.
έναρξη () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Καλωσορίζει) time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") εάν gpio.input (εγγραφή) == 0: gpio.output (led, LOW) registerFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) ενώ gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () άλλο: searchFinger ()
Ο πλήρης κώδικας Python και ένα βίντεο εργασίας δίνονται παρακάτω.