RFID kártyaolvasóval automatizált munkaidő-nyilvántartás – órás szemmel nézve
Sokan talán furcsállnák, ha egy órás a mikrovezérlők és adatkapcsolatok világában kezd barkácsolni, pedig ha mélyebben belegondolunk, a precizitás, az időmérés, a megbízhatóság és a rendszerelvű gondolkodás már régóta az órásmesterség alappillérei. Az alábbiakban bemutatok egy RFID-alapú kártyaolvasós projektet, amely pontosan ezeket az elveket viszi tovább egy modern, hálózatba kapcsolt alkalmazásban.

Az alkalmazott eszközök műszaki paraméterei
A rendszer célja egyszerű: RFID kártyával történő azonosítás, majd az esemény időpontjának rögzítése és továbbítása egy adatbázisba Etherneten keresztül. Ehhez a következő főbb komponenseket használtam:
1. Arduino Pro Mini (3,3V)
Tápfeszültség (RAW): 5V
Üzemi feszültség: 3,3V
Órajel: 8 MHz
Kisméretű, de megbízható mikrokontroller, ideális 3,3V-os perifériákhoz.
2. RFID olvasó modul: RDM6300
Frekvencia: 125 kHz
Kommunikáció: UART (TTL)
Tápfeszültség: 5V
TX kimenet: 5V jelszint
A modul ASCII formátumban küldi a kártya azonosítóját (10 karakteres hexadecimális kód).
3. Tesztelt kártya: EM4100 chip
Fizikai forma: vastag műanyag belépőkártya
Azonosító kód (példa):
0A00372959(hexadecimális, a soros monitoron így jelenik meg)A modul minden olvasásnál pontosan ezt a karakterláncot küldi sorosan.
4. Szintillesztés a TX vonalon
Mivel a RDM6300 TX vonala 5V-on kommunikál, az Arduino RX bemenete viszont csak 3,3V-ig tolerálható, feszültségosztót alkalmaztam:
TX és D8 közé: 1,5 kΩ
D8 és GND közé: 3 kΩ Ez kb. 3,3V-ra osztja le a jelet, ami biztonságosan értelmezhető.
5. ENC28J60 Ethernet modul
Kommunikáció: SPI
Tápellátás: 3,3V
Funkció: a belső hálózatra juttatja az azonosítási adatokat (eseménykód + időbélyeg).
Hogyan működik az eszköz?
A kártyaolvasó beolvassa a kártyát. Az Arduino C-ben megrt program blokkolja ugyanannak a kártyának a rövid időn (5s) belüli ismételt beolvasását. Sikeres kártyaolvasás esetén felvillan egy ZÖLD led és megszólal egy BUZZER röviden. Ha a kártyát nem sikerül beovasni vagy rövid időn belül többször kísérlik meg beolvasni a PIROS led villan fel. Ha a kártyaszám bekerült az adatbázisba, akkor a KÉK led villan fel és a BUZZER is megszólal hosszan.
Hogyan kerül át az adat az MSSQL adatbázisba?
Az Arduino a kártyaszám kiolvasása után lefuttat egy php scriptet. A php script építi fel a kapcsolatot SQL Authentikáció (felhasználónév, jelszó) alkalmazásával az adatbázissal, ahol a felhasználó által létrehozott adatbázis megfelelő táblájába beírja a kártyaszámot, amit időbélyeggel lát el.
XAMPP és SQL Server beállítási útmutató
- XAMPP telepítése
- A következő 2 db fájlt másold be ebbe a könyvtárba:
C:\xampp\php\ext\php_sqlsrv_82_ts_x64.dllphp_pdo_sqlsrv_82_ts_x64.dll
Csak ez a két fájl szükséges, amit ehhez a levélhez mellékeltem!
- php.ini fájl módosítása:
Útvonal:C:\xampp\php\php.ini
Bele kell írni:extension=php_sqlsrv_82_ts_x64.dll extension=php_pdo_sqlsrv_82_ts_x64.dll
- A
xamp/htdocskönyvtárba másold be a mellékelt fájlokat:check_datainsert_data
- SQL autentikáció beállítása (felhasználónév és jelszó)
- Tanúsítvány figyelés kikapcsolása:
Pipáld ki a Trust server certificate opciót. - Felhasználó jogosultságainak beállítása
- Adatbázis létrehozása:
CardDatabase - Adatbázistábla létrehozása:
CardReadings
Struktúra:CardNumber–varchar(50), NOT NULLReadTime–datetime, NULLDeviceID–varchar(50), NULL
- Server IP-címének lekérdezése
- Ethernet kártya IP- és MAC-címe
Az MSSQL adatbázist kezelő PHP scripteket itt találod: https://www.watchrepair.hu/index.php/download/sql-adatbazis-kezelese-php-scriptekkel/
Ne felejtsed el beírni a saját user nevedet és jelszavadat ahhoz, hogy az SQL hitelesítés működjön!
A böngészőből így hívhatod meg a php scriptet: pl.: http://localhost/log_card.php
A DLL filekat innen töltheted le:
Csak a szükséges 2db file-t másold be a C:\xampp\php\ext\ könyvtárba! A többit nem szabad bemásolni!
Miért órás szakmai feladat ez?
1. Időmérés: más formában, ugyanazzal a céllal
A rendszerben az idő kulcsfontosságú: mikor olvasta le a dolgozó a kártyát? Az időbélyeg nem hajszálrugós billegőtől származik, hanem a rendszer digitális órájából, de az idő rögzítése és reprodukálhatósága ugyanúgy elsődleges.
2. Rendszerszintű precizitás
Ahogy egy kronográfban sem fér bele a túlzott holtjáték vagy kontaktushiba, úgy ebben a rendszerben is elengedhetetlen a stabil tápellátás, megbízható adatkapcsolat és megfelelő szintillesztés. Hibás ellenállás? Nem olvas a kártya. Rosszul huzalozott SPI? Nincs Ethernet. Itt minden „fogaskeréknek” működnie kell.
3. Diagnosztika, mint rutin
Az órás is „hallgatja” a szerkezetet, figyeli a billegő ütemét. Ugyanígy itt is figyeljük a soros monitort, feszültségeket, LED-ek villanását. Ha nincs visszajelzés vagy zajos az adat, akkor jön a műszer és a logikai gondolkodás.
4. Digitális időgazdálkodás, automatizálás
A rendszer segít az automatikus munkaidő-nyilvántartásban, pl. műhelybe való érkezés és távozás idejének rögzítésében, akár több munkatársra is. Ez nem csupán technikai fejlesztés, hanem precíziós adminisztrációs eszköz, amely az időmérés szakmai méltóságát hozza el a modern adatkezelés világába.
Összegzés
Ez a kis rendszer nem csupán elektronikai barkácsolás. Egy órás szemlélettel tervezett időalapú regisztrációs rendszer, amely az RFID technológiát ötvözi a pontos adatkezeléssel. Az ilyen típusú projektek jó példái annak, hogy az órásmesterek tudása hogyan vihető át a digitális korba – akár egy műhelyen belüli munkaidő-kezelés, akár egy szélesebb rendszer részeként.




