Trasforma la tua macchina del caffè in un sistema smart con controllo RFID
È un sistema smart che trasforma una normale macchina del caffè in un distributore intelligente usando un ESP32 e la tecnologia RFID. Immaginalo come un sistema di "caffè card" fatto in casa 🎯
Funzionalità:
- Tenere traccia di chi beve quanto caffè ☕️
- Gestire gli accessi alla macchinetta del caffè in modo intelligente 🔐
- Vedere statistiche in tempo reale sui consumi ⚡️
- Tutto questo con un'interfaccia web moderna e responsive! 💻
Un sistema innovativo per gestire l'accesso alla macchina del caffè tramite tecnologia RFID.
Coffee Flow™ è un sistema intelligente che permette di:
- Controllare gli accessi alla macchina del caffè
- Monitorare il consumo di caffè per utente
- Gestire le autorizzazioni in modo sicuro
- Avvicina il tuo badge RFID alla macchina
- Il sistema legge il tag e verifica la tua identità
- Un LED ti indica subito lo stato dell'operazione
- Generazione sicura dell'identificativo
- Comunicazione crittografata con il server
- Verifica immediata delle autorizzazioni
Utente autorizzato:
- Attivazione della macchina ✅
- Registrazione dell'erogazione 📊
- LED verde di conferma 💚
- Preparazione del caffè ☕
Utente non autorizzato:
- Macchina non operativa ⛔
- LED rosso lampeggiante 🚫
- Registrazione del tentativo 📝
Il sistema utilizza:
- Comunicazione HTTPS
- Hashing sicuro dei tag RFID
- Logging di tutti i tentativi di accesso
- LED multicolore per feedback immediato
- Sistema intuitivo "tap and go"
- Nessuna configurazione richiesta da parte dell'utente
- ESP32 per il controllo hardware
- RFID reader
- Server sicuro per l'autenticazione
- Sistema di logging avanzato
-
Modalità Sync 🔄
- Per aggiungere nuovi tag
- Cliccando nella pagina di admin l'apposito pulsante per la sincronizzazione
- Perfetta per configurare nuovi utenti
-
Modalità Admin 👑
- Dashboard web completa
- Gestione utenti
-
Il Cervello 🧠
- ESP32 DevKit
- Flash memory per il firmware
- WiFi integrato per la connettività
-
Gli Occhi 👀
- Lettore RFID RDM6300 (125KHz)
- Range di lettura ottimale: 3-5cm
-
I Muscoli 💪
- Relè 5V per controllare la macchina
- Può gestire carichi fino a 10A
-
Le Luci 💡
- LED RGB (comune catodo)
- 3x resistenze 220Ω
- Effetti luminosi personalizzabili
-
Il Cuore ❤️
- Alimentatore 5V/2A
- Protezione da sovratensioni
ESP32 Pin | Componente
------------|-------------
GPIO16 (RX) | RDM6300 TX
GPIO17 (TX) | RDM6300 RX
GPIO18 | Relè IN
GPIO19 | LED R
GPIO20 | LED G
GPIO21 | LED B
GND | GND comune
5V | VCC componenti
-
Backend 🏢
- Node.js + Express
- API RESTful
- SQLite per i dati
- Redis per le sessioni (veloce come un caffè espresso)
-
Frontend 🎨
- HTML5 + CSS3
- Design responsive
- Dark mode
-
Firmware ESP32 ⚡️
- Arduino framework
- Watchdog timer
- Power management
-- La tabella principale per i tag RFID
CREATE TABLE tags (
id INTEGER PRIMARY KEY AUTOINCREMENT,
tag_id TEXT UNIQUE NOT NULL, -- ID univoco del tag
tag_hash TEXT, -- Hash per sicurezza
description TEXT, -- Chi sei?
authorized BOOLEAN DEFAULT true, -- Puoi bere caffè?
last_used DATETIME, -- Ultimo caffè
coffee_count INTEGER DEFAULT 0, -- Quanti ne hai bevuti?
created_at DATETIME DEFAULT datetime('now','localtime')
);
GET /api/check-rfid
: Verifica autorizzazionePOST /api/increment-coffee
: Aggiorna contatore
GET /api/tags
: Lista tagPOST /api/tags
: Nuovo tagPUT /api/tags/:id/authorize
: Gestione permessiDELETE /api/tags/:id
: Rimozione tagGET /api/stats
: Statistiche
-
Crittografia 🔐
- HTTPS per tutte le comunicazioni
- Certificati SSL/TLS
- Hash dei tag RFID
-
Autenticazione 👤
- Session based con Redis
- Timeout automatico
- Protezione CSRF
-
Validazione ✅
- Sanitizzazione input
- Rate limiting
- IP whitelisting per ESP32
-
Statistiche Avanzate 📊
- Grafici di consumo
- Ore di punta
- Previsioni (basate su ML, perché no?)
-
Notifiche 📱
- Promemoria pulizia
-
Setup Hardware
# Collega tutto secondo lo schema
-
Setup Software
git clone [https://github.com/tuouser/espresso32](https://github.com/gregpetru/ESPresso32.git) cd espresso32 npm install # Fatti un caffè mentre installa
-
Configurazione
cp .env.example .env # Modifica le variabili d'ambiente nano .env
-
Avvio
npm start # Profit! ☕️
- Attendere almeno 2 minuti alla prima accensione
Questo progetto è rilasciato sotto Licenza MIT - usalo come vuoi, ma offri un caffè a chi lo ha creato! 😉
- Andrea Iannoli - https://github.com/AndreaIannoli/PollDB
- Mario Sabatini - https://github.com/MarioSabatini