
ESPectre - Sistema di rilevamento del movimento basato sull'analisi dello spettro Wi-Fi (CSI), con integrazione con Home Assistant.
Trasforma un ESP32 in un sensore di movimento Wi-Fi privato e locale.
Quando qualcuno si muove in una stanza, cambia il modo in cui i segnali Wi-Fi viaggiano al suo interno. ESPectre legge questi cambiamenti e segnala il movimento in tempo reale. Nessuna telecamera, nessun microfono, nessun dispositivo indossabile e nessun hardware radar dedicato: solo un ESP32 supportato e la rete Wi-Fi già presente nella stanza.
ESPectre è una piattaforma open-source che riunisce firmware pronto da flashare, un SDK C++ integrabile, un'implementazione MicroPython, strumenti per il browser, una CLI host, un dataset aperto, pesi dei modelli aperti e il flusso di ricerca utilizzato per costruire e validare i rilevatori.
Flash dal tuo browser · Vedi gli strumenti live · Leggi la documentazione · Esplora l'SDK
Usa ESPectre per accendere luci o un display quando qualcuno entra, regolare il riscaldamento quando una stanza è occupata o inviare un avviso quando c'è movimento dove non dovrebbe esserci nessuno. Funziona con Home Assistant (tramite ESPHome o MQTT), appare come un sensore di occupazione Matter standard, offre un'API HTTP locale e può essere integrato nel tuo firmware ESP32 con l'SDK C++.
Tutto viene eseguito sul dispositivo: misura il canale Wi-Fi (channel state information, o CSI) e segnala il movimento e un punteggio di movimento. Nulla deve andare nel cloud. Una scheda copre un'area, quindi prevedi una scheda per stanza.
ESPectre rileva i cambiamenti nell'ambiente radio. Non identifica le persone, non le conta, non dimostra che una stanza è vuota e non sostituisce un sistema di sicurezza, medico o di emergenza certificato.
Il modo più rapido richiede solo un browser. Usa Chrome desktop 151 o successivo; Edge può eseguire il flash, ma Device settings e Monitor potrebbero non funzionare.
Per trovare i tuoi dispositivi sulla rete, usa Find devices negli strumenti del browser o ./espectre devices. Consulta il riferimento discovery per requisiti e limiti.

Stato Matter: il supporto Matter è ancora in fase di test con i diversi ecosistemi di controller. Un controller che supporta i sensori di occupazione potrebbe non essere ancora stato testato con ESPectre. Consulta la compatibilità dei controller Matter per la matrice attuale.
Per compilare ed eseguire il flash da questo repository, inizia con la guida di configurazione. Per vedere tutti i comandi disponibili, esegui:
./espectre --help
ESPectre pubblica le risorse di ricerca e le prove di validazione alla base dei suoi rilevatori:
Un sensore che può rivelare la presenza non dovrebbe essere una scatola nera. Il rilevamento Wi-Fi non registra immagini né audio, ma i dati di movimento possono comunque rivelare routine, sonno o quando non c'è nessuno in casa. ESPectre considera questo rischio parte del design:
Usa ESPectre solo dove ne hai il diritto. Informa le persone coinvolte, ottieni il consenso dove richiesto, proteggi l'accesso al dispositivo e ai suoi dati e rispetta le leggi sulla privacy.
network.WLAN mainline.Il codice di prima parte di ESPectre è disponibile sotto GPLv3, e le parti idonee anche sotto una licenza commerciale separata:
I termini di terze parti e gli artefatti di conformità specifici per build sono descritti nelle note di terze parti.
| Percorso | Ideale per | Inizia da qui |
|---|
| Native | Sensori standalone, integrazioni MQTT, inclusa Home Assistant MQTT Discovery, e applicazioni personalizzate | Frontend Native |
| ESPHome | Utenti Home Assistant che desiderano entità native, provisioning ESPHome e aggiornamenti Device Builder | Frontend ESPHome |
| Matter | Controller Matter con supporto ai sensori di occupazione; la validazione dei controller è ancora limitata | Frontend Matter |
| Micro-ESPectre | Rilevamento leggero in MicroPython con monitoraggio Direct HTTP locale e in sola lettura | README di Micro-ESPectre |
| Argomento | Cosa copre | Guide |
|---|
| Installare e utilizzare | Configurazione del dispositivo, flussi di lavoro CLI e risoluzione dei problemi | Guida di configurazione, Riferimento CLI, Guida alla risoluzione dei problemi |
| Comprendere e integrare | Architettura runtime, acquisizione CSI, API, discovery, algoritmi e SDK C++ | Panoramica dell'architettura, Guida CSI, Riferimento API, Riferimento discovery, Riferimento algoritmi, Guida SDK |
| Raccogliere e addestrare | Raccolta CSI, addestramento dei modelli, cronologia delle feature, prestazioni e letteratura | Guida alla raccolta dati, Guida all'addestramento ML, Registro delle feature, Report sulle prestazioni, Revisione della letteratura |
| Ricerca e direzione | Roadmap, decisioni architetturali e cronologia delle release | Roadmap, Indice ADR, Changelog |
| Riferimento frontend | Guide per ciascun firmware: ESPHome, Native, Matter e Micro-ESPectre | ESPHome, Native, Matter, Micro |
| Contribuire | Contributi, procedure di rilascio e discussioni del progetto | Guida ai contributi, Guida al rilascio, GitHub Discussions |
| Risorsa | Cosa ti offre | Inizia da qui |
|---|
| Dataset CSI | Registrazioni reali per stanze vuote, presenza statica e movimento, con catalogo e provenienza in dataset_info.json | Data/ |
| Pesi dei modelli | Pesi addestrati in C++ e Python, più il flusso di addestramento, esportazione e validazione | Guida all'addestramento ML |
| Registro delle feature | Feature testate, promosse o rifiutate, inclusi gli esperimenti non riusciti | Registro delle feature |
| Algoritmi e report | Comportamento dei rilevatori, il report sulle prestazioni generato e il report sulla qualità del dataset | Riferimento algoritmi |
| Letteratura e direzione | Ricerca esterna, architecture decision records e la roadmap pubblica | Revisione della letteratura |