🕐 System rejestracji czasu pracy z autoryzacją ESP32-CAM
System składa się z dwóch głównych komponentów:
- ESP32 WROOM32 - główny kontroler z czytnikiem RFID RC522, wyświetlaczem TFT ILI9341 i interfejsem dotykowym
- ESP32-CAM - backend autoryzacyjny z bazą danych w Google Sheets
- RFID Reader: RC522 (SPI)
- Display: ILI9341 TFT 320x240 z kontrolerem dotykowym XPT2046
- Komunikacja: UART Serial2 (RX:16, TX:17) do ESP32-CAM
- Obsługa bazy danych Google Sheets
- Autoryzacja użytkowników na podstawie ID karty RFID
- Komunikacja przez UART z głównym kontrolerem
- Interaktywny system testowania komunikacji z ESP32-CAM
- TFT Debug Console - 12-liniowy system debugowania na wyświetlaczu
- Menu testowe:
- 🔍 Monitor - podgląd komunikatów w czasie rzeczywistym
- 🏓 Test Ping - sprawdzenie połączenia
- 🔐 Test Auth - test autoryzacji z przykładowym ID
- ✉️ Custom Message - wysyłanie własnych wiadomości
- Odczyt kart RFID RC522
- Wyświetlanie ID karty na TFT i Serial
- Ekrany bezczynności z animacjami
- Klawiatura numeryczna do wprowadzania PESEL
- Kalibracja dotyku TFT
- Pełna integracja z ESP32-CAM
RC522 ESP32 WROOM32
------------------------
SDA GPIO 5
SCK GPIO 18
MOSI GPIO 23
MISO GPIO 19
IRQ -
GND GND
RST GPIO 22
3.3V 3V3
TFT/Touch ESP32 WROOM32
---------------------------
TFT_MISO GPIO 19
TFT_MOSI GPIO 23
TFT_SCLK GPIO 18
TFT_CS GPIO 15
TFT_DC GPIO 2
TFT_RST GPIO 4
TOUCH_CS GPIO 21
LED 3V3
VCC 3V3
GND GND
ESP32-CAM ESP32 WROOM32
--------------------------
TX RX (GPIO 16)
RX TX (GPIO 17)
GND GND
// Autoryzacja
{"authorization": "1234567890"}
// Ping test
{"ping": "test"}// Autoryzacja zaakceptowana
{confirm;Jan;Kowalski}
// Autoryzacja odrzucona
{denide}
// Ping response
{pong}- PlatformIO IDE
- ESP32 Arduino Core
- Biblioteki:
MFRC522(RFID)TFT_eSPI(Display + Touch)ArduinoJson(Komunikacja)
Sprawdź plik include/User_Setup.h dla konfiguracji pinów TFT.
# Sklonuj repozytorium
git clone https://github.com/[username]/esp32-rfid-time-logger.git
cd esp32-rfid-time-logger
# Kompiluj projekt
pio run
# Upload do ESP32
pio run --target upload
# Monitor Serial (opcjonalnie)
pio device monitor- 12 linii tekstu z przewijaniem
- Timestampy dla każdej wiadomości
- Kategoryzacja wiadomości:
[AUTH]- autoryzacja[TEST]- testy komunikacji[WIFI]- logi WiFi ESP32-CAM[BOOT]- inicjalizacja systemu
- Monitor Mode - podgląd wszystkich komunikatów
- Test Ping - weryfikacja połączenia z ESP32-CAM
- Test Authorization - test procesu autoryzacji
- Custom Message - wysyłanie dowolnych wiadomości
- Ekran główny z instrukcjami
- Animowane ekrany bezczynności
- Klawiatura PESEL z walidacją
- Kalibracja dotyku przy pierwszym uruchomieniu
- Potwierdzenie autoryzacji z przyciskami Zatwierdź/Odrzuć
Kiedy ESP32-CAM jest podłączony do pinów UART (RX:16, TX:17), nie można używać Serial Monitor do debugowania.
- Klasa TFTDebug - wyświetla logi bezpośrednio na TFT
- Real-time monitoring komunikacji UART
- Filtrowanie wiadomości - ukrywa logi startowe ESP32-CAM
- Kategoryzacja - ułatwia identyfikację źródła wiadomości
src/
├── main.cpp # Aktualny TFT Tester (interaktywne menu)
├── local_communication.* # Protokół komunikacji z ESP32-CAM
├── tft_debug.* # System debugowania na TFT
├── keypad.cpp # Klawiatura numeryczna
└── screens.cpp # Ekrany bezczynności
test/
└── main_original.cpp # Oryginalna aplikacja RFID
include/
├── *.h # Pliki nagłówkowe
└── User_Setup.h # Konfiguracja TFT_eSPI
- Upload kodu do ESP32 WROOM32
- Podłącz ESP32-CAM do UART (RX:16, TX:17)
- Uruchom "1. Monitor" aby obserwować komunikaty
- Użyj "2. Test Ping" do weryfikacji połączenia
- Testuj autoryzację przez "3. Test Auth"
# Skopiuj oryginalną aplikację z powrotem
cp test/main_original.cpp src/main.cpp
pio run --target upload- Fork repozytorium
- Utwórz branch dla nowej funkcji (
git checkout -b feature/amazing-feature) - Commit zmian (
git commit -m 'Add amazing feature') - Push do branch (
git push origin feature/amazing-feature) - Otwórz Pull Request
Ten projekt jest udostępniony na licencji MIT - zobacz plik LICENSE dla szczegółów.
Projekt: https://github.com/[username]/esp32-rfid-time-logger
⚡ ESP32 + RFID + TFT + ESP32-CAM = Complete Time Logging System!