blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
3
SLEDUJETE BLOG
PHP, Arduino programátor
deadawp



RFID vrátnik so správou on-line
pridal deadawp 1.2. 2019 o 18:50



Vyhotovil som RFID systém na otváranie elektronických dverí. Systém je postavený na komponentoch pre Arduino, teda čítačka kariet a kľúčeniek na 13.56MHz RC522, kompatibilné karty a kľúčenky. Čítačka dokáže prečítať karty štandardu ISO/IEC 14443 A. 

Tento štandard funguje i na ISIC kartách, bankomatových kartách, či autobosových, zamestnaneckých a je ich možné taktiež prečítať a využiť pre takýto projekt. Nie je potrebné nakupovať nové karty, stačí použiť existujúce. Čítačkou RC522 čítam MAC adresy kariet a tie prevádzam na špecifický DEC formát, aby som sa vyhol kolíziám a pod. 

V úlohe mikrokontroléru pre spracovanie a odosielanie dát som použil dosku NodeMCU v3 Lolin, ktorá disponuje wifi konektivitou a je pre tento účel viac než dostačujúca. Neskôr som systém doplnil aj o možnosť použitia následovníka ESP8266 a to ESP32. Objavila sa aj verzia pre použitie Arduina s Ethernet shieldom (modulom) od Wiznetu. Systém je vhodný pre haly, firemné vstupné vrátnice, elektronické dvere a pre podobné využitie. 

Úlohou mikrokontroléraje odosielať dáta na web vždy, keď zaznamená kartu (v nečinnosti neodosiela nič) a na základe navrátenej odpovede z webservera (štandardne OK/NO) otvorí, alebo neotvorí dvere. Vo dverách sa okrem klasického mechanizmu s kľučkou nachádza aj elmg. jazýček, princíp solenoidu ktorý je otváraný mikrokontrolérom na určitú dobu po úspešnej odpovedi z webservera (nastavené v programe na 5500ms). Z vonkajšej strany dverí je guľa, z vnútornej strany kľučka, ktorá je prepojená i na jazýček. Z tohto dôvodu teda nie je nutné inštalovať dve čítačky a pod. Zaznamenáva sa iba príchod. Používateľ odchádza bez priloženia karty. Po stlačení kľučky zvnútra sa vtiahne aj elektromagnetický jazýček - solenoid.

Dáta sa odosielajú na server a spracujú sa v jazyku PHP. Všetky karty, ktoré boli kedy priložené sú archivované a z administračného rozhrania, kde je možné vidieť i real-time vstupy do objektu je možné dané karty povoliť - autorizovať, alebo zamietnuť - deautorizovať jedným kliknutím do dynamickej tabuľky. Aby nebolo ľahké určiť zdrojovú adresu karty. Prevádza sa na špecifickú adresu už na strane mikrokontroléra a na strane webservera sa adresa pozmení algoritmom druhý krát.

Klienta je teda možné autorizovať do 1 sekundy od prvotného priloženia karty, ktoré jeho prístup odmietne, keďže sa jeho MAC adresa karty nenachádza v systéme. Real-time aktualizácia dát sa realizuje AJAX-ovým volaním .php súboru, ktorý vracia tabuľku.

Systém je rýchly a pravidlá pre karty na jej autorizáciu, alebo deautorizáciu je možné vykonať pohodlne odkiaľkoľvek a pravidlo platí ihneď. Je teda veľmi jednoduché takýto systém spravovať i pre laikov. V prípade nedostupnosti webu/výpadku internetu je možné vždy do objektu vstúpiť kľúčom, ktorý dokáže jazýček odtiahnuť spolu s jazýčkom mechanizmu zámku. 


Obšírnejšie info o projekte je možné nájsť i na: https://arduino.php5.sk/rfid-system.php
Vyskúšať môžete na (vrátane programu pre mikrokontróler): https://arduino.php5.sk/rfid/
Datasheet čítačky RC522: https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf
Datasheet NodeMCU (ESP8266): http://www.handsontec.com/pdf_learn/esp8266-V10.pdf

Projekt je zdarma dostupný pod MIT licenciou bez supportu. Je to vlastne okresaná verzia pôvodného projektu bez overenia mikrokontroléru na strane servera a bez loginu do webového rozhrania. Každý, kto má adresu, kde sa rozhranie nachádza vie ho spravovať. Nemá teda všetky bezpečnostné prvky pôvodného projektu. V ostatných veciach je identický s pôvodnou verziou. Systém si môžete rozšíriť o vaše funkcie, vytvoriť úrovne prístupu, pridať mená pre karty, aby ste vedeli aj menovite koho systém pustil/nepustil do objektu.

Zhrnutie možností z pohľadu používateľov:

Administrátor Používateľ 
Spravuje webové rozhranie Fyzicky prikladá NFC tag/kľúčenku/náramok/kartu
V reálnom čase vidí priloženie karty s výsledkom overenia Pri overeni sú mu odistené dvere na 5 sekúnd
Historicky vidí 100 posledných priložení Pri neoverení používateľa sa jazýček nevtiahne
Jedným klikutím môže schváliť už priloženú kartu Používateľ o overení/neoverení nie je informovaný (led/buzzer)
Manuálne zadanie adresy karty Používateľ použije bankomatovú kartu, ISIC kartu, spĺňajú štandard ISO/IEC 14443 A
Odstránenie karty jedným kliknutím Informovanie používateľa o výsleku overenia cez diódu/buzzer (len platená verzia)
Grafická reprezentácia prístupov + štatistika vrátnika  
Vidí zdrojový kód pre NodeMCU  


Projekt na Githube: https://github.com/martinius96/RFID-otvaranie-dveri
Video pre lepšiu predstavu (farby sa javia o dosť tmavšie ako v skutočnosti na webe sú): https://www.youtube.com/watch?v=u2VE5SCkHs0



Prístupov 1527
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Mastermind - Logik - cez Arduino a LCD
[ 22.8.2019] (príspevkov 0)
Bicyklovanie po Google mapách - Arduino ...
[ 23.6.2019] (príspevkov 0)
Nerov (v)zostup v Caldárii
[ 3.6.2019] (príspevkov 0)
Prepočet atmosférického tlaku na hladinu...
[ 17.5.2019] (príspevkov 0)
Včelárska váha - Arduino + HX711
[ 6.5.2019] (príspevkov 0)
Hladinomer - Arduino, ESP32, ESP8266 + u...
[ 29.4.2019] (príspevkov 0)
Meteostanica - ESP32 - Webclient
[ 19.4.2019] (príspevkov 0)
Webportál - Vykurovanie cez internet - o...
[ 24.3.2019] (príspevkov 0)
Capture points (DOMINATION) - Arduino + ...
[ 23.2.2019] (príspevkov 0)
Notifikátor udalostí cez mikrokontróler
[ 22.2.2019] (príspevkov 0)