RC522 RFID kapu használata authentikációra

A cikksorozatnak ez lesz az utolsó egyben befejező része. Itt egy előre elkészített library-vel bemutatom a legegyszerűbb példával, azt hogy, hogyan is lehet ezt a kaput authentikácóra használni. Hozzáteszem, hogy itt is a teljesség igénye nélkül. Nem kötöttem be a relét csak egy ledet a helyére, és a soros monitoron ellenőriztem le a program működését.

De lássuk is a könyvtárat, amiben az előre megírt programok vannak a beléptetéshez. Az előbb megosztott linken letölthető a Githubról.

Ha a könyvtár telepítésével készen vagyunk akkor nézzük milyen példaprogramok vannak a könyvtárban.

– Van az EEPROM verzió

– SD kártya verzió

– És a Beágyazott verzió

Ezek közül én csak a legegyszerűbbel az EEPROM verzióval foglalkoznék, ahol a kártyák UID azonosítóját az Arduino saját 512 Kbyte-os EEPROM memóriájában tároljuk. Mivel ez a verzió csak az UID adatok alapján azonosít, annak pedig 4 byte-os a mérete, nagyjából ki tudjuk számolni, hogy hány rekordot tudunk tárolni az EEPROM-ban. Abban az esetben ha real time követni akarjuk a kártyák mozgását, akkor SD verzió erre tökéletesen megfelel, itt minden egyes UID-hoz tartozik egy file az SD kártyán, és abba rögzíthetjük az időpontokat. A legprofibb a Beágyazott verzió, itt webes felületen érhetjük el a beléptetési adatokat, bár bevallom, ahogy a kódot átnéztem, elég kezdetleges ez a webes felület, szóval csodákat és skynetet ne várjunk tőle.

Viszont térjünk vissza, a bemutatni kívánt példához.

Itt a bekötés roppant egyszerűen kihámozható a kódból, mivel a könyvtárhoz nem jár külön schematikus bekötési vázlat.

 

#define COMMON_ANODE
#ifdef COMMON_ANODE
#define LED_ON LOW
#define LED_OFF HIGH
#else
#define LED_ON HIGH
#define LED_OFF LOW
#endif
#define redLed 7		// Set Led Pins
#define greenLed 6
#define blueLed 5

#define relay 4			// Set Relay Pin
#define wipeB 3			// Button pin for WipeMode

Itt jól látható, hogy az RGB led melyik lába melyik lábra kerül plusz definiálva van mind a két változatú RGB ledhez is a megfelelő állapot (közös anód vagy közös katód), illetve az is hogy melyik pinre kerül a relé és a törlő gomb. Továbbá a kódból az is jól kihámozható, hogy az RGB led éppen milyen állapotban van, illetve, hogy a relé meghúzott állapotban van az induláskor. Szerintem erről ennyi elég is, ezt mindenki ki tudja bogarászni a kódból maga is.

Ha a bekötéssel végeztünk, futassuk le a kódot, és ellenőrizzük a Serial monitoron a funkciókat.

A program elindulása után, megjelenik a soros monitoron a képen látható felső 4 sor. Ezután azt a kártyát amit mesterkártyaként kívánunk használni, érintsük az antennához, és az alábbiak jelennek meg.

define master card

Ha ezzel megvagyunk a soros monitor újbóli megnyitása után már ez a kép fogad minket.

master_card_is_defined

Abban az esetben, ha itt egy másik kártyát, amit nem mentettünk még el hozzáérintünk az antennához, akkor ezt fogjuk látni.

no_card

Ezután a mesterkártyát “húzzuk le”, ezzel belépünk a program módba, és abban az esetben ha a kártya még nem volt elmentve az EEPROM-ba, akkor a mentés megtörténik.

added_card

A követketkező mesterkártya lehúzásnál, kilépünk a program módból.

out_program_mode

Az előzőek analógiája mentén haladva ugyan így kell a nem kívánt IUD-t is törölni. A következő képen ez látható, illetve pirossal jelölve, hogy a törlés után megváltozik az EEPROM-ba mentett rekordok száma.

delete_UID

Abban az esetben, ha már el van mentve a lehúzott kártya UID-ja az EEPROM-ba akkor a következőt kell látnunk.

access_ok

A törlés gomb megnyomása és nyomva tartása után, ez a kép fogad minket. Abban az esetben, ha nem szeretnénk törölni még sem a memóriát, akkor csak elég ha felengedjük a gombot, még 5 mp-en belül.

delete_eeprom

 

Ennek a modulnak a bemutatására és tesztelésére szánt időkeretet, így is vastagon túlléptem, ezért remélem mindenki megelégszik azzal, ha ezt a könyvtárat csak ilyen szűkszavúan mutatom be. Remélem azért ezzel is segítettem minden kedves Arduinos társamnak.

 

(Statisztika: 39 megtekintés)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé.