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

  1. Modul RFID cu card si tag
  2. Key Tag 13.56 Mhz
  3. RFID Sticker de 13.56MHz NTAG213
  4. Modul adaptor SD
  5. Placă de expansiune Ethernet W5100
  6. Senzor IR
  7. Modul Releu 1 canal 5V HIGH Level
  8. Sursă de alimentare 3.3-5V
  9. Arduino Uno R3 ATmega328P
  10. Breadboard 830 puncte MB102

Schema electrica

Poze hardware

Software Design

Mediu de dezvoltare

Arduino IDE si VSCode

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

pm/prj2021/amocanu/visitorcounter.txt · Last modified: 2021/06/01 23:52 by mihai.ghita3001
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0