AutoPass Γ¨ un sistema IoT basato su ESP32 progettato per l'apertura automatica di cancelli o garage tramite rilevamento di vicinanza di dispositivi iBeacon (smartphone, tag BLE o smartwatch) con supporto per aggiornamenti del firmware wireless via Wi-Fi (ArduinoOTA).
- π‘ Rilevamento iBeacon Continuo: Scansione Bluetooth ad alte prestazioni in background tramite libreria NimBLE.
- β±οΈ Protezione Anti-Rimbalzo (Cooldown): Timer configurabile per prevenire attivazioni ripetute del relΓ¨ mentre ci si trova nel raggio del cancello.
- πΆ Wi-Fi OTA (ArduinoOTA): Aggiornamento del firmware wireless ad alta velocitΓ tramite rete locale senza dover collegare cavi USB.
- π Gestione Sicura delle Credenziali: Credenziali di rete esternalizzate tramite file di configurazione per prevenire il caricamento involontario di informazioni sensibili su GitHub.
- Firmware: C++ su framework Arduino per ESP32 (PlatformIO).
- Bluetooth Stack: NimBLE-Arduino (stack BLE leggero ed efficiente).
- OTA Library: ArduinoOTA.
AutoPass/
βββ include/
β βββ config.h.example # Template per le credenziali Wi-Fi
βββ src/
β βββ main.cpp # Logica principale ESP32 (Scansione iBeacon, RelΓ¨, ArduinoOTA)
βββ platformio.ini # Configurazione PlatformIO e dipendenze
βββ README.md # Documentazione di progetto
Rinominare include/config.h.example in include/config.h (o crearne uno nella cartella src/) inserendo le credenziali della propria rete Wi-Fi:
#ifndef CONFIG_H
#define CONFIG_H
#define WIFI_SSID "NOME_RETE_WIFI"
#define WIFI_PASS "PASSWORD_WIFI"
#endifpio run -t uploadUna volta caricato il primo firmware via USB, Γ¨ possibile aggiornare l'ESP32 via Wi-Fi:
- Modificare il file
platformio.inidecommentando ed inserendo l'IP dell'ESP32:upload_protocol = espota upload_port = YOUR_ESP32_IP
- Eseguire l'upload wireless:
pio run -t upload
Questo progetto Γ¨ distribuito sotto licenza MIT.