From 788d463bbd962d0097d97a541611b4d6fd337b66 Mon Sep 17 00:00:00 2001 From: PWojtaszek <180088@stud.prz.edu.pl> Date: Wed, 14 Jan 2026 09:23:36 +0100 Subject: [PATCH] Add Readme.md --- Readme.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..e6f0853 --- /dev/null +++ b/Readme.md @@ -0,0 +1,62 @@ +# NFC University Gate Access System 馃帗馃殫 + +System kontroli dost臋pu do bramy lub drzwi na uczelni, wykorzystuj膮cy **Elektroniczn膮 Legitymacj臋 Studenck膮 (ELS)** oraz komunikacj臋 online z baz膮 danych MySQL. + +## 馃摑 Opis projektu +Projekt umo偶liwia autoryzacj臋 wjazdu na teren uczelni za pomoc膮 standardowych legitymacji studenckich (standard NFC/RFID 13.56MHz). System nie przechowuje listy uprawnionych os贸b lokalnie na urz膮dzeniu, lecz ka偶dorazowo odpytuje serwer bazy danych, co pozwala na natychmiastowe nadawanie lub odbieranie uprawnie艅. + +## 馃彈 Architektura systemu +1. **ESP32**: Odczytuje unikalny numer (UID) karty zbli偶eniowej. +2. **API (PHP)**: Skrypt po艣rednicz膮cy, kt贸ry odbiera UID od ESP32 i komunikuje si臋 z baz膮 danych. +3. **Baza Danych (MySQL)**: Przechowuje informacje o studentach, ich numerach UID oraz wa偶no艣ci uprawnie艅. +4. **Przeka藕nik**: Fizycznie zwiera styki w sterowniku bramy po otrzymaniu pozytywnej weryfikacji. + +## 馃洜 Wymagania sprz臋towe +- **Mikrokontroler**: ESP32 (lub ESP8266 z poprawkami w kodzie). +- **Czytnik NFC**: MFRC522 (RC522) lub PN532. +- **Modu艂 przeka藕nika**: 1-kana艂owy (Low/High level trigger). +- **Zasilanie**: 5V/12V (zale偶nie od sterownika bramy). +- **Pozosta艂e**: Diody LED (status), rezystory, przewody po艂膮czeniowe. + +## 馃捇 Struktura bazy danych +Wykonaj poni偶sze zapytanie SQL, aby przygotowa膰 baz臋 danych: + +```sql +CREATE TABLE students ( + id INT AUTO_INCREMENT PRIMARY KEY, + card_uid VARCHAR(20) UNIQUE NOT NULL, + full_name VARCHAR(100), + student_id_number VARCHAR(15), + is_active BOOLEAN DEFAULT 1, + expiry_date DATE, + last_entry TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP + ); +Instalacja i Konfiguracja +1. Serwer (Backend) +Skopiuj pliki z folderu /server na sw贸j hosting/serwer. +Skonfiguruj po艂膮czenie z baz膮 danych w pliku db_config.php. +Dodaj testowy rekord (UID swojej legitymacji) do tabeli students. +2. Urz膮dzenie (Firmware) +Otw贸rz projekt w Arduino IDE lub PlatformIO. +Zainstaluj biblioteki: MFRC522 oraz HTTPClient. +W pliku g艂贸wnym uzupe艂nij dane: +SSID i Password Twojej sieci WiFi. +API_URL (adres do Twojego skryptu PHP). +Wgraj program na ESP32. +馃攲 Po艂膮czenia (Pinout - ESP32 & RC522) +RC522 ESP32 +SDA GPIO 5 +SCK GPIO 18 +MOSI GPIO 23 +MISO GPIO 19 +IRQ N/C +GND GND +RST GPIO 22 +3.3V 3.3V +Przeka藕nik pod艂膮czony domy艣lnie pod GPIO 2. +馃敀 Bezpiecze艅stwo +HTTPS: Zaleca si臋 hostowanie skryptu API na serwerze z certyfikatem SSL. +API KEY: Warto doda膰 nag艂贸wek autoryzacji w zapytaniach HTTP, aby uniemo偶liwi膰 r臋czne wywo艂ywanie skryptu z przegl膮darki. +Fail-safe: System w przypadku braku po艂膮czenia z sieci膮 pozostaje w trybie zamkni臋tym. +馃搫 Licencja +Projekt udost臋pniony na licencji MIT. Mo偶esz go dowolnie modyfikowa膰 na potrzeby w艂asnych projekt贸w edukacyjnych. \ No newline at end of file