Návod: Jak používat RFID čtečku RC522 s Raspberry Pi
RFID čtečky jsou skvělým nástrojem pro identifikaci a sledování různých objektů pomocí RFID čipů. V tomto blogovém příspěvku vám ukážu, jak jednoduše propojit a používat čtečku RFID RC522 s Raspberry Pi a zároveň si ukážeme základní Python skript pro čtení RFID karet.
Raspberry Pi RC522 Reader
---------------------------------------
3.3V VCC
GND GND
GPIO8 (SPI0 CE0) RST
GPIO9 (SPI0 MISO) MISO
GPIO10 (SPI0 MOSI) MOSI
GPIO11 (SPI0 SCLK) SCK
Python Script:
Dále nainstalujte potřebné knihovny pro čtení RFID čtečky RC522 a použijte následující Python skript pro čtení RFID karet a jeho odeslání na URL:
import requests
import random
import time
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
url_local = "http://127.0.0.1/terminalAPK.php"
def format_card_id(card_id):
# Převod decimálního ID na hexadecimální, ořezání na prvních 8 znaků (4 bajty)
hex_id = format(card_id, 'x') # Převádí na hexadecimální bez doplnění nul
hex_id = hex_id.zfill(8) # Doplní nuly na začátek, pokud je délka menší než 8 znaků
return hex_id[:8] # Vrátí pouze prvních 8 znaků
def send_card_id_to_server(card_id, action_id):
try:
data = {"card_id": card_id, "action": action_id}
response_local = requests.post(url_local, data=data, timeout=5)
if response_local.status_code == 200:
print("Data byla úspěšně uložena na lokálním serveru.")
return True
return False
except requests.exceptions.RequestException as e:
print("Chyba při komunikaci se serverem:", e)
return False
def main():
while True:
try:
print("Prosím, přiložte kartu")
card_id, text = reader.read()
formatted_card_id = format_card_id(card_id)
print("Formátované ID karty:", formatted_card_id)
test_id = random.randint(1, 9)
if send_card_id_to_server(formatted_card_id, 0):
print("Data byla úspěšně odeslána na server. Test ID: " + str(test_id))
else:
print("Data nelze odeslat na žádný server.")
time.sleep(3)
except KeyboardInterrupt:
print("Program byl ukončen.")
break
except Exception as e:
print("Chyba:", e)
continue
if __name__ == "__main__":
main()
Tento skript neustále čte přítomnost RFID karet a zobrazuje jejich UID v terminálu a zároveň se snaží odeslat POST do PHP třídy.
Závěr:
S pomocí této jednoduchého návodu můžete snadno začít používat RFID čtečku RC522 s Raspberry Pi a integrovat ji do svých projektů. Tato kombinace poskytuje spolehlivé a efektivní řešení pro identifikaci a sledování objektů v různých aplikacích, od přístupového řízení po sledování inventáře.
Napsat komentář