Projekt ten to system autoryzacji oparty na technologii RFID, zrealizowany za pomocą płytki ESP8266 i czytnika RFID RC522. Po zarejestrowaniu odpowiedniej karty RFID, system aktywuje zieloną diodę LED na określony czas, demonstrując zastosowanie w kontroli dostępu lub identyfikacji użytkowników.
Aby zrealizować projekt systemu autoryzacji dostępu z użyciem technologii RFID na płytce ESP8266, będziesz potrzebował następujących elementów:
- Płyta Rozwojowa ESP8266: To mikrokontroler z wbudowanym modułem Wi-Fi, który służy jako mózg całego projektu.
- Moduł Czytnika RFID RC522: Urządzenie służące do komunikacji z kartami RFID. Wykorzystuje częstotliwości radiowe do odczytywania i zapisywania danych na kartach RFID.
- Karty RFID lub Tagi RFID: Karty lub tagi, które zawierają unikalne identyfikatory (UID), które będą odczytywane przez czytnik RC522.
- Przewody Połączeniowe (Jumper Wires): Do połączenia czytnika RFID RC522 z płytą ESP8266.
- Diody LED: Służące jako wskaźnik wizualny, która zapalają się, gdy zostanie wykryta zarejestrowana karta RFID.
- Rezystor: Rezystor o odpowiedniej wartości (np. 220 Ω) do ograniczenia prądu płynącego przez diodę LED, zapobiegając jej uszkodzeniu.
- Płytka Doświadczalna (Breadboard): Opcjonalnie, do łatwego i bezlutowego połączenia wszystkich komponentów.
- Oprogramowanie i Narzędzia Programistyczne: Oprogramowanie do programowania ESP8266, takie jak Arduino IDE lub inne środowisko obsługujące MicroPython, oraz odpowiednie sterowniki i biblioteki dla modułu RFID RC522.
- Komputer: Do programowania i przesyłania kodu na płytkę ESP8266.
Czym jest czytnik RFID? Jak on działa?
Czytnik RFID (Radio-Frequency Identification) to urządzenie używane do identyfikacji obiektów, osób lub zwierząt za pomocą technologii radiowej. Składa się zwykle z dwóch głównych części: czytnika oraz transpondera (często nazywanego tagiem RFID).
Oto jak działa czytnik RFID:
-
Transponder RFID (Tag): Tagi RFID są małymi urządzeniami, które mogą być dołączone do lub wbudowane w obiekty, które mają być śledzone. Tagi te zawierają mikrochip z informacjami oraz antenę do komunikacji radiowej. Istnieją różne typy tagów, w tym pasywne (bez własnego źródła zasilania), aktywne (z własnym źródłem zasilania) i półaktywne.
-
Czytanie i Zapisywanie Danych: Gdy tag znajduje się w zasięgu czytnika RFID, czytnik wysyła sygnał radiowy. W przypadku tagów pasywnych, ten sygnał radiowy jest jednocześnie źródłem energii, która aktywuje tag. Tag następnie odpowiada, wysyłając z powrotem sygnał radiowy z zawartymi w nim danymi. W przypadku tagów aktywnych, mają one własne źródło zasilania, co pozwala na wysyłanie sygnału na większe odległości.
-
Przetwarzanie Danych: Czytnik odbiera sygnał zwrotny od tagu i przetwarza informacje. Może on na przykład odczytać numer seryjny tagu lub inne zapisane na nim dane. Czytnik może także zapisywać informacje na tagu, jeśli tag jest przystosowany do zapisu.
-
Komunikacja z Systemem Komputerowym: Czytnik przesyła odczytane dane do centralnego systemu komputerowego, który może dalej przetwarzać, analizować lub przechowywać informacje. System ten może być wykorzystywany do zarządzania zapasami, śledzenia lokalizacji obiektów, kontrolowania dostępu, identyfikacji osób i zwierząt itp.
Technologia RFID jest szeroko stosowana w wielu branżach, od logistyki i zarządzania łańcuchem dostaw, przez kontrolę dostępu, po identyfikację zwierząt domowych i dzikiej przyrody. Ze względu na swoją zdolność do szybkiego i automatycznego zbierania danych, RFID jest bardzo efektywną metodą śledzenia i identyfikacji.
Sam projekt polega na stworzeniu systemu autoryzacji dostępu, który wykorzystuje technologię RFID (Radio-Frequency Identification) do identyfikacji i weryfikacji kart RFID. System oparty jest na płytce rozwojowej ESP8266, która komunikuje się z modułem czytnika RFID RC522. Głównym celem jest odczyt unikalnego identyfikatora (UID) z przyłożonej karty RFID, a następnie wykonanie określonej akcji w przypadku rozpoznania zarejestrowanego UID. W naszym przypadku, po wykryciu konkretnej, zdefiniowanej karty RFID, system aktywuje zieloną diodę LED na płytce ESP8266 na okres dwóch sekund. W przypadku wykrycia karty o nierozpoznanym UID zapala się czerwona dioda. Projekt ten znajduje zastosowanie w systemach kontroli dostępu, gdzie kluczowe jest zapewnienie bezpieczeństwa i identyfikacja użytkowników na podstawie kart RFID.
from machine import Pin, SoftSPI
import mfrc522
import time
# Definicja pinów zgodnie ze schematem ESP8266
sck = Pin(14, Pin.OUT) # D5
mosi = Pin(13, Pin.OUT) # D7
miso = Pin(12, Pin.IN) # D6
rst = Pin(5, Pin.OUT) # D1
cs = Pin(2, Pin.OUT) # D4 (tutaj również zdefiniowana dioda LED)
pz = Pin(15, Pin.OUT)
pc = Pin(4, Pin.OUT)
# Utworzenie instancji SoftSPI
spi = SoftSPI(sck=sck, mosi=mosi, miso=miso, baudrate=1000000)
# Utworzenie instancji klasy MFRC522
rfid = mfrc522.MFRC522(sck, mosi, miso, rst, cs)
# Funkcja do zapalania diody
def light_led(seconds):
led = Pin(2, Pin.OUT) # Możliwe, że trzeba będzie zmienić numer pinu dla diody LED
led.on() # Włącz diodę LED
time.sleep(seconds) # Czekaj określoną liczbę sekund
led.off() # Wyłącz diodę LED
# Funkcja do odczytu karty
def do_read():
print("Przyłóż kartę RFID do czytnika.")
while True:
# Wykrywanie karty
stat, tag_type = rfid.request(rfid.REQIDL)
if stat == rfid.OK:
# Odczyt UID karty
stat, raw_uid = rfid.anticoll()
if stat == rfid.OK:
uid = "-".join(["%02x" % i for i in raw_uid])
print("Odczytano ID karty RFID:", uid)
if uid == "94-a2-db-2b-c6":
print("Wykryto zarejestrowaną kartę, zapalanie diody.")
pz.value(1)
time.sleep(1)
pz.value(0)
else:
print("Brak dostępu.")
pc.value(1)
time.sleep(1)
pc.value(0)
break
try:
do_read()
except KeyboardInterrupt:
print("Program zakończony.")