ESP32 & Embedded SystemsPlatformIO & C++

AutoPass

Sistema IoT basato su ESP32 per l'apertura automatica di cancelli o garage tramite rilevamento di vicinanza iBeacon con supporto per aggiornamenti firmware Wi-Fi OTA.

NimBLEBluetooth Stack Leggero
Wi-Fi OTAArduinoOTA Wireless
CooldownProtezione Anti-Rimbalzo
C++Framework Arduino / PIO

La Sfida

Aprire il cancello di casa o del garage richiede tipicamente la ricerca di un telecomando dedicato o l'interazione manuale con uno smartphone. Questo genera distrazioni alla guida, attese davanti al varco e la necessità di riprogrammare l'hardware via cavo USB ogni volta che si desidera aggiornare il firmware.

La Soluzione AutoPass

Un microcontrollore ESP32 esegue una scansione BLE in background ad alte prestazioni tramite la libreria leggera NimBLE. Riconosce i dispositivi iBeacon (smartphone, smartwatch o tag) ed aziona il relè in prossimità. Integra un timer di cooldown anti-rimbalzo e la libreria ArduinoOTA per aggiornare il codice via Wi-Fi in locale senza cavi.

Caratteristiche & Architettura Tecniche

Esplora i moduli del firmware sviluppato in C++ su PlatformIO.

Libreria NimBLE-Arduino

Utilizzo dello stack BLE NimBLE, estremamente più leggero ed efficiente in termini di memoria RAM rispetto allo stack BLE di default di Arduino per ESP32.

Advertising iBeacon & Parsing

Analisi dei pacchetti di advertising BLE per identificare UUID, Major e Minor dei trasmettitori iBeacon (smartphone, smartwatch, tag dedicati).

Scansione in Background

Ciclo di scansione continuo e non bloccante che intercetta immediatamente l'arrivo dell'utente nelle vicinanze dell'ESP32.

Struttura del Progetto

AutoPass/
├── include/
│   └── config.h.example
├── src/
│   └── main.cpp
├── platformio.ini
└── README.md

Compilazione & Flashing (PlatformIO)

# 1. Primo flashing via USBpio run -t upload
# 2. Configurazione OTA in platformio.iniupload_protocol = espotaupload_port = IP_DEL_TUO_ESP32
# 3. Deployment wireless via Wi-Fipio run -t upload

Stack Tecnologico

ESP32 MCU
PlatformIO
C++ / Arduino
NimBLE-Arduino
ArduinoOTA
iBeacon BLE

Esplora la repository su GitHub

Puoi visionare liberamente il codice sorgente completo di AutoPass su GitHub oppure contattarmi per discutere di progetti in ambito IoT ed Embedded.