RFID systém so správou on-line
Napsal: 26 led 2019, 10:56
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. Systém je vhodný pre haly, firemné vstupné vrátnice, elektronické dvere a pre podobné využitie.
Úlohou NodeMCU je 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, 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 druhej 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.
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, prípadne je možné kartu pridať aj zapísaním jej MAC adresy, ak ju dopredu poznáme.
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 mojom webe: https://arduino.php5.sk/rfid-system.php
Vyskúšať môžete na (vrátane NodeMCU programu): 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
Schéma predstavuje zjednodušené zapojenie. Namiesto LED použiť relé na jazýček. Prípadne ak jazýček spĺňa napäťové a prúdového charakteristiky pinu, možno zapojiť aj napriamo.
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.
Trošku ma mrzí, že sa projekt nedostal na arduino.cz, odoslal som ho do formulára, ale nedostal som odpoveď, článok bude onedlho aj na chiptron-e.
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
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. Systém je vhodný pre haly, firemné vstupné vrátnice, elektronické dvere a pre podobné využitie.
Úlohou NodeMCU je 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, 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 druhej 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.
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, prípadne je možné kartu pridať aj zapísaním jej MAC adresy, ak ju dopredu poznáme.
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 mojom webe: https://arduino.php5.sk/rfid-system.php
Vyskúšať môžete na (vrátane NodeMCU programu): 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
Schéma predstavuje zjednodušené zapojenie. Namiesto LED použiť relé na jazýček. Prípadne ak jazýček spĺňa napäťové a prúdového charakteristiky pinu, možno zapojiť aj napriamo.
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.
Trošku ma mrzí, že sa projekt nedostal na arduino.cz, odoslal som ho do formulára, ale nedostal som odpoveď, článok bude onedlho aj na chiptron-e.
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