Visitor counter
Introducere
Proiectul consta intr-un server web care cu ajutorul a doi senzori IR si un modul RFID,
afiseaza in timp real cate persoane sunt in incapere si cine sunt acele persoane pe baza id-ului.
Modulul RFID va scana cartela, iar un request se va trimite la baza de date din cloud(firebase) cu
codul cartelei, la care baza de date va raspunde daca acel cod exista(si va afisa numele detinatorului
de cartela din baza de date) sau access denied in caz de cartela nerecunoscuta. De asemenea se va loga
fiecare operatie de intrare iesire in baza de date.
Descriere generală
Hardware Design
Lista de piese
Modul RFID cu card si tag
Key Tag 13.56 Mhz
RFID Sticker de 13.56MHz NTAG213
Modul adaptor SD
Placă de expansiune Ethernet W5100
Senzor IR
Modul Releu 1 canal 5V HIGH Level
Sursă de alimentare 3.3-5V
Arduino Uno R3 ATmega328P
Breadboard 830 puncte MB102
Schema electrica
Poze hardware
Software Design
Mediu de dezvoltare
Biblioteci
SPI.h
– Folosit pentru a realiza comunicarea cu modulul rfid.
Ethernet.h
– Folosit pentru webserver si pentru a face requesturi.
RFID.h
– Folosit pentru scanarea cartelelor.
Detalii implementare
Functia setup
Initializeaza Serialul pentru printarea rezultatului dupa scanarea cartelei
Initializeaza pinii de de input ai senzorilor IR
Inițializează magistrala SPI setând SCK, MOSI și SS la ieșiri, trăgând SCK și MOSI jos și SS înalt.
Initializeaza rfid-ul
Incearca initializarea ethernet-ului cu dhcp
Daca reuseste pasul de mai sus porneste webserverul
Functia loop
Verifica daca exista un request de la clienti pe webserver si raspunde cu pagina de html care afiseaza cati clienti sunt intrati cu cartela cu acces autorizat
Verifica senzorul IR care marcheaza intrarea si rfid-ul. Daca se scaneaza o cartela, codul cartelei este trimis la un server de node care la randul sau face requesturi la firebase si returneaza mesaj cu acces neautorizat daca nu exista acel cod inregistrat sau numele persoanei care detine cartela. Acest mesaj este afisat pe portul serial. Serverul de node l-am folosit doar pentru parsarea requestului si pentru ca nu ma puteam conecta direct de pe arduino la firebase. Se logheaza in baza de date operatia de intrare cu timestamp-ul pe codul de cartela respectiv pentru a putea vedea mai tarziu cine si cand a intrat/iesit. Se incrementeaza numarul de persoane afisat pe serverul web.
In mod asemanator se intampla si pe celalalt senzor doar ca operatia este de leave. Se decrementeaza numarul de pe serverul web doar in cazul in care acesta este mai mare ca 0.
Rezultate Obţinute
Scanare cartela succes
Acces neautorizat
Log-uri
Webserver
Concluzii
Proiectul este realizat integral, implementand toate functionalitatile propuse.
Permite utilizatorilor sa vizualizeze cate persoane sunt intrate intr-o firma.
Download
Bibliografie/Resurse