Az RFID angol rövidítés, azaz Radio Frequency IDentification tehát rádiófrekvenciás azonosítás. Magyarul érintő kártyákról lesz szó, azokról a plasztik lapokról vagy kulcstartókról, amelyeket cégek használnak beléptetésre, azonosításra. Több frekvencián működő létezik belőlük, ezt nem részletezem.
Egy beléptetőrendszer költöztetés miatt akadtam össze a fenti kártyákkal és néztem haragosan rájuk, mivel a két beléptető rendszer olvasója ugyanarról a kártyáról két különböző azonosítószámot olvasott be. Tehát nem lehetett kiexportálni csak úgy az adatokat a régiből és beimportálni az újba.
Az új rendszer egy Dahua Access Controller DHI-ASC3202B a régi egy noname kínai valami. És mint tudjuk sok kártyát kézzel felvenni nem az élvezet csúcsa.
A két különböző kártya azonosítószám megoldásának gyökere x-edik angol fórumban volt megtalálható.
Mint látjuk a fenti kártyán három szám található, de digitálisan leolvasva a kártya 1 számsort tartalmaz. A kártya azonosítója 9645512, ezt lehet kiolvasni a kártyából. Ez az azonosító áll egy létesítmény azonosítóból 96 (Facility code), mint a neve is mutatja ezt rendelik az adott épülethez ahova a kártya biztosítja a belépést. (Ha helyesen használnánk.) Valamint a kártya kód 45512 (card code) ezt rendelik az emberhez akinek a belépését biztosítja a kártya.
A valóságban az van, hogy némelyik kártyaolvasó eszköz a 9645512 jeleníti meg, másik pedig a 6336968 azonosítót. Hogyan lehetséges ez mikor a kártya csak és kizárólag a 9645512 számot tartalmazza? Ezt kérdeztem megvilágosodás előtt.
Ez úgy lehetséges, hogy a 09645512-ből ki kell számolni a 6336968-at.
Átváltjuk a 96 hexadecimálisba és a 45512 is átváltjuk hexadecimálisba, egymás mellé írjuk és visszaváltjuk decimálisra.
(96)HEX=60 (45512)HEX=B1C8 (60B1C8)DEC=6336968
Csodálatos innen már egyenes az út. Volt egy régi kártyaolvasó ami Wiegand (26) protokollal kommunikál, ez a legelterjedteb a kártyaolvasóknál. A hogyan és mikéntjéről itt tudsz olvasni. Ezt a kártyaolvasót rákötöttem egy Arduino UNO panelre, hogy a Wiegand(26) lefordítsa soros kimenetre.
Ahogy a képekből is látszik :
Olvasó D0 –> Arduino 2 láb
Olvasó D1 –> Arduino 3 láb
Tápellátás közvetlenül az Arduino DC csatlakozójáról, az olvasó 9-12V-al működik. A kimenete 5V.
A programot az Arduinoba erről az oldalról töltöttem le, csak a kimenetét változtattam hexadecimálisra és eltüntettem/módosítottam a hibaüzeneteket. Íme:
Kollégámmal visszafejtettük a Dahua Access Controller DHI-ASC3202B készülékből kiexportált fájlt, így írtam egy programot ami kártyalehúzásonként hozzáadja a kártyákat.
Ha ezzel megvagyunk , Excellben hozzá lehet adni a neveket és egyéb adatokat, majd a fájlt be lehet importálni a fenti Access Controller-be. Jól jön ha nem vagyunk helyben és távolról adjuk hozzá a kártyákat.
Program működése:
A mellékelt program soros portos RFID kártyaolvasóval kommunikál, és elmenti a beolvasott kártyákat egy Dahua Acess Controller-el kompatibilis fájlba.
Részletek: https://hirehamva.hu/wpblog/archivum/1713
OS: Windows 10, Windows 11