RFID-Anwesenheitssystem mit Arduino & Python – Daten direkt in phpMyAdmin (XAMPP) speichern
Komponenten
- 1× Arduino UNO
- 1× RFID-Reader RC522 (mit Tags)
- Jumper-Kabel
- PC (Windows/Linux) oder Raspberry Pi für portablen Betrieb
Software-Voraussetzungen
- Arduino IDE (aktuelle Version)
- XAMPP (Apache, MySQL, phpMyAdmin) unter Windows – unter Linux stattdessen LAMP (
sudo apt-get install apache2 mysql-server php libapache2-mod-php phpmyadmin) - Python 3 + Bibliotheken
pyserial&mysqlclient(bzw.mysqldb)
Schaltplan (RC522 → Arduino UNO)
| RC522 Pin | Arduino UNO | Arduino Mega |
|---|---|---|
| RST | 9 | 9 |
| SDA (SS) | 10 | 53 |
| MOSI | 11 | 51 |
| MISO | 12 | 50 |
| SCK | 13 | 52 |
| VCC | 3,3 V | 3,3 V |
| GND | GND | GND |
| IRQ | nicht verbunden | nicht verbunden |
Wichtig: RC522 nur an 3,3 V betreiben!
Benötigte Arduino-Bibliothek
MFRC522 (über Bibliotheksverwalter installieren).
Funktionsweise
- Arduino liest UID vom RFID-Tag per SPI.
- UID wird über Serial (USB) an den PC gesendet.
- Ein Python-Skript läuft auf dem PC, liest die Serial-Daten und schreibt sie in die MySQL-Datenbank (phpMyAdmin).
- Kein Ethernet-Shield nötig – die USB-Verbindung überträgt die Daten.
Python-Skript (Ausschnitt)
import serial, MySQLdb, time
ser = serial.Serial('COM3', 9600) # Port anpassen
db = MySQLdb.connect(host='localhost', user='root', passwd='', db='attendance')
cursor = db.cursor()
while True:
if ser.in_waiting:
uid = ser.readline().decode().strip()
if uid:
cursor.execute("INSERT INTO logs (uid, timestamp) VALUES (%s, NOW())", (uid,))
db.commit()
print(f"Logged: {uid}")
time.sleep(0.1)
Der vollständige Arduino-Code & das Python-Skript sind auf GitHub verlinkt (im Originalprojekt). Ein Video erklärt die Einrichtung Schritt für Schritt.
Erweiterungsideen
- Raspberry Pi statt PC → tragbares System.
- Mehrere Reader an verschiedenen Türen (je ein Arduino, zentraler DB-Server).
- Web-Frontend für Echtzeit-Anwesenheitsanzeige.
Herstellungsprozess
- Integriertes QR-, RFID- und Temperatur-Verifikations-Zugangskontrollsystem
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Roboter mit Raspberry Pi und Python bauen: Komplette Anleitung
- Sicheres RFID-Türschloss mit Arduino & RC522 (MIFARE 13,56 MHz)
- Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
- Kompaktes FM-Radio mit Arduino Nano und RDA5807M selbst bauen
- Echtzeit-RFID-Anwesenheitssystem mit Arduino & Google Tabellen
- Präzise Regenvorhersage: Arduino-Wetterstation mit Python & Keras selbst bauen