Skip to content

Access Control Project with RFID tags and Blynk Notification

License

Notifications You must be signed in to change notification settings

johnbacas/RFID_Access_Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RFID Access control Project

Περιγραφή: Το σύστημα αυτό είναι σχεδιασμένο ώστε να κάνει έλεγχο πρόσβασης με χρήση RFID tags. Η μονάδα ελέγχου που χρησιμοποιείται είναι η πλακέτα NodeMCU με τον μικροελεγκτή (SoC) ESP8266 με δυνατότητα σύνδεσης στο Internet μέσω WiFi.

Πληροφορίες για esp8266

Πληροφορίες για NodeMCU

Σαν RFID reader χρησιμοποιήθηκε το module RC-522

Πληροφορίες για RFID RC-522

ΠΡΟΣΟΧΗ...!!! Αποθήκευση ετικετών: Επειδή ο μικροελεγκτής esp8266 δεν έχει μνήμη EEPROM, όλες οι εγγραφές που φαίνεται στο πρόγραμμα ότι γίνονται σε EEPROM στην πραγματικότητα γίνονται στη μνήμη Flash του μικροελεγκτή (Η μνήμη στην οποία αποθηκεύεται και το πρόγραμμα). Αυτό σημαίνει ότι οι επαναλαμβανόμενες εγγραφές στη μνήμη EEPROΜ φθείρουν τη μνήμη Flash. Άρα το project αυτό καλό είναι να χρησιμοποιείται σε εφαρμογές όπου δεν θα γίνονται συχνά εγγραφές στη μνήμη EEPROM (Flash).

Δείτε περισσότερες πληροφορίες εδώ.

Υπάρχουν κάποιες βιβλιοθήκες που ελαχιστοποιούν τη φθορά της μνήμης Flash. Δείτε μια λύση εδώ.

Α) Λειτουργία προγραμματισμού: ( το μπλε led αναβοσβήνει με γρήγορο ρυθμό)

  • Ορισμός master tag

Ο εγκαταστάστης του συστήματος έχει τη δυνατότητα να ορίσει ένα master tag, μέσω του οποίου μπορεί να προσθέτει και να αφαιρεί tags από την λίστα των tags που έχουν πρόσβαση. Όταν το σύστημα τίθεται σε λειτουργία την πρώτη φορά, ζητάει από τον προγραμματιστή να ορίσει ποιο είναι το master tag. Στη συνέχεια ο προγραμματιστής πλησιάζει στο RFID Reader το tag που θέλει να ορίσει σαν master. Το master tag αποθηκεύεται στη μνήμη του συστήματος.

  • Προσθήκη ή αφαίρεση tag από την λίστα πρόσβασης

Ο προγραμματιστής αρχικά χρησιμοποιεί το master tag για να μπει σε programming mode. Στη συνέχεια πλησιάζει στον reader ένα tag. Αν αυτό δεν υπάρχει στη λίστα πρόσβασης τότε προστίθεται (το πράσινο led αναβοσβήνει 3 φορές) , ενώ αν υπάρχει τότε αφαιρείται ( τα μπλε και πράσινο leds αναβοσβήνουν 3 φορές). Αν για κάποιο λόγο η εγγραφή δεν πραγματοποιηθεί τότε το μπλε led αναβοσβήνει 3 φορές και το buzzer ηχεί 3 φορές επίσης.

Β) Λειτουργία ελέγχου πρόσβασης: ( το μπλε led αναβοσβήνει με αργό ρυθμό)

Ο χρήστης πλησιάζει το tag του στον reader. Αν το σύστημα έχει αποθηκευμένο τον κωδικό του tag αυτού τότε δίνει εντολή ώστε να δωθεί πρόσβαση (μεσω της ενεργοποίησης της ηλεκτρικής κλειδαριάς). Αν ο κωδικός δεν είναι αποθηκευμένος, το σύστημα ενημερώνει με ήχο τον χρήστη ότι δεν έχει πρόσβαση.

Ανεξαρτήτως λειτουργίας, κάθε φορά που διαβάζεται ένα tag από τον reader το πράσινο led ανάβει για 0,5 sec.

SCHEMATIC:

RFID_Access_Control_Img

Blynk Console - Εφαρμογή ειδοποιήσεων και καταγραφής των περιστατικών προσπάθειας πρόσβασης

Ο εγκαταστάστης του συστήματος έχει πρόσβαση στο περιβάλλον Blynk (Πλατφόρμα εφαρμογών IOT). Στο dashboard υπάρχει widget τύπου terminal που καταγράφει τα περιστατικά προσπάθειας πρόσβασης. Στο terminal καταγράφονται η ημερομηνία και η ώρα της πρόσβασης, και αν η πρόσβαση ήταν επιτυχής ή οχι. Επίσης γίνεται καταγραφή της χρήσης master card στο σύστημα. Παρακάτω φαίνεται ένα παράδειγμα καταγραφής.

Blynk Terminal

Για να δημιουργήσετε το συσγκεκριμένο dashboard θα πρέπει να δημιουργήσετε ένα λογαρισμό στην εφαρμογή Blynk και στη συνέχεια, μπαίνοντας στο developer zone, να δημιουργήσετε ένα νεο template και στη συνέχεια ένα νεο Device. Εισάγετε το widget Terminal με τις παρακάτω ρυθμίσεις.

Blynk Terminal Configure

Επίσης, μην ξεχάσετε να προσθέσετε και ένα event ώστε να έχετε logging υπηρεσία στην εφαρμογή σας.

Blynk Event

Blynk Log

Αν έχετε απορίες για το πως θα στήσετε την πρώτη σας εφαρμογή στο Blynk δείτε εδώ

Δείτε ένα βίντεο που εξηγεί την λειτουργία του κυκλώματος.

About

Access Control Project with RFID tags and Blynk Notification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages