Retour aux mises à jour
New releaseAug 18, 2026

espectre snapshot-dev

ESPectre - Système de détection de mouvement basé sur l'analyse du spectre Wi-Fi (CSI), avec intégration Home Assistant.

Partager

License SoC CI main C++ coverage Python coverage Web coverage

ESPectre Logo ESPectre

Transformez un ESP32 en capteur de mouvement Wi-Fi privé et local.

Lorsqu'une personne se déplace dans une pièce, elle modifie la façon dont les signaux Wi-Fi la traversent. ESPectre lit ces changements et signale le mouvement en temps réel. Pas de caméra, pas de microphone, pas d'appareil portable et pas de matériel radar dédié : juste un ESP32 pris en charge et le réseau Wi-Fi déjà présent dans la pièce.

ESPectre est une plateforme open source qui réunit un firmware prêt à flasher, un SDK C++ embarquable, une implémentation MicroPython, des outils navigateur, un CLI hôte, un jeu de données ouvert, des poids de modèles ouverts et le flux de travail de recherche utilisé pour construire et valider les détecteurs.

Flasher depuis votre navigateur · Voir les outils en direct · Lire la documentation · Explorer le SDK

Applications et intégrations

ESPectre peut allumer un écran ou des lumières lorsqu'il détecte un mouvement, ajuster le chauffage et la climatisation en fonction de l'activité de la pièce, déclencher une alarme ou une notification lorsqu'un mouvement se produit dans une zone qui devrait être vide, et piloter d'autres automatisations de la pièce. Il se connecte à Home Assistant via ESPHome ou MQTT, expose un capteur d'occupation Matter standard et une API HTTP Direct locale, et peut être intégré dans un firmware ESP32 personnalisé via le SDK C++.

ESPectre traite le CSI sur l'appareil et signale un état de mouvement et un score de déplacement. Les applications peuvent réagir sans envoyer de données de détection brutes à un service cloud. Une carte couvre une zone de détection ; une couverture au niveau de la pièce nécessite normalement une carte par pièce.

ESPectre détecte les changements dans l'environnement radio. Il n'identifie pas les personnes, ne les compte pas, ne prouve pas qu'une pièce est vide et ne remplace pas un système de sécurité, médical ou d'urgence certifié.

Matériel pris en charge

  • ESP32-C6, ESP32-C5, ESP32-C3, ESP32-S3, ESP32-S2 et ESP32 classique
  • un réseau Wi-Fi 4 (802.11n) normal sur 2,4 GHz

Choisissez un chemin de firmware

CheminIdéal pourCommencez ici
NatifCapteurs autonomes, intégrations MQTT, y compris Home Assistant MQTT Discovery, et applications personnaliséesFrontend natif
ESPHomeUtilisateurs de Home Assistant qui souhaitent des entités natives, le provisionnement ESPHome et les mises à jour Device BuilderFrontend ESPHome
MatterContrôleurs Matter avec prise en charge du capteur d'occupation ; la validation des contrôleurs reste limitéeFrontend Matter
Micro-ESPectreDétection légère en MicroPython avec surveillance HTTP Direct locale en lecture seuleREADME Micro-ESPectre

Les chemins Natif, ESPHome et Matter peuvent choisir entre un détecteur lightweight, qui apprend un seuil spécifique à la pièce au démarrage et laisse plus de ressources au reste de l'application, et un détecteur high_accuracy, qui exécute le modèle entraîné inclus dans le dépôt. Leur comportement et leurs compromis mesurés sont documentés dans SETUP.md, ALGORITHMS.md et le rapport de performance.

Démarrage rapide

Le chemin le plus rapide utilise le navigateur et ne nécessite aucun environnement de compilation local. Utilisez Chrome 151 ou ultérieur sur ordinateur pour le flux hébergé complet. Edge prend en charge le flashage par navigateur, mais la compatibilité avec les paramètres de l'appareil et Monitor n'est pas garantie :

  1. Ouvrez Flash dans Chrome ou Edge sur ordinateur.
  2. Connectez un ESP32 pris en charge via USB, puis choisissez un firmware et un canal de version.
  3. Terminez le provisionnement Wi-Fi à l'écran, ou commissionnez Matter avec un contrôleur pris en charge.
  4. En option, ouvrez Paramètres de l'appareil pour épingler un point d'accès préféré ou configurer MQTT.
  5. Ouvrez Monitor pour observer le mouvement, régler la détection et inspecter l'appareil.

ESPectre Monitor

Statut Matter : Le frontend Matter est encore en cours de validation sur les écosystèmes de contrôleurs. Un contrôleur peut prendre en charge les capteurs d'occupation Matter standard sans avoir été testé avec le firmware actuel. Voir Compatibilité des contrôleurs Matter pour la matrice actuelle.

Configuration locale

Pour les compilations locales, le flashage depuis ce dépôt et le reste du parcours opérateur, commencez par SETUP.md. Le wrapper du dépôt expose les flux de travail disponibles via :

./espectre --help

Documentation

SujetCe qu'il couvreGuides
Installer et exploiterConfiguration de l'appareil, flux de travail CLI et réglage du détecteurSETUP.md, CLI.md, TUNING.md
Comprendre et intégrerArchitecture d'exécution, API, découverte, algorithmes et SDK C++ARCHITECTURE.md, API.md, DISCOVERY.md, ALGORITHMS.md, SDK.md
Collecter et entraînerCollecte CSI, entraînement de modèles, historique des caractéristiques, performance et littératureML_DATA_COLLECTION.md, ML_TRAINING.md, FEATURES.md, rapport de performance, LITERATURE.md
Recherche et orientationFeuille de route, décisions d'architecture et historique des versionsROADMAP.md, index ADR, CHANGELOG.md
Référence des frontendsREADME des chemins de firmware pour ESPHome, Natif, Matter et Micro-ESPectreESPHome, Natif, Matter, Micro
ContribuerComment contribuer et où discuter du projetCONTRIBUTING.md, Discussions GitHub

Jeux de données, modèles et validation

ESPectre publie les ressources de recherche et les preuves de validation derrière ses détecteurs :

RessourceCe qu'elle vous apporteCommencez ici
Jeu de données CSIEnregistrements réels pour pièces vides, présence statique et mouvement, avec catalogue et provenance dans dataset_info.jsondata/
Poids des modèlesPoids entraînés en C++ et Python, plus le flux de travail d'entraînement, d'export et de validationML_TRAINING.md
Registre des caractéristiquesCaractéristiques testées, promues ou rejetées, y compris les expériences infructueusesFEATURES.md
Algorithmes et rapportsComportement du détecteur, rapport de performance généré et rapport de qualité du jeu de donnéesALGORITHMS.md
Littérature et orientationRecherche externe, registres de décisions d'architecture et feuille de route publiqueLITERATURE.md

Sécurité, confidentialité et transparence

Un capteur capable de révéler une présence ne devrait pas être une boîte noire. La détection Wi-Fi évite les images et l'audio, mais les données de mouvement et d'occupation peuvent encore révéler des routines, le sommeil ou l'absence du domicile. ESPectre traite ce risque comme faisant partie du travail d'ingénierie :

  • la détection de mouvement est locale et la connectivité cloud n'est pas requise ;
  • la collecte de CSI brut est facultative et destinée à des besoins de recherche et de débogage définis ;
  • le guide de sécurité et d'utilisation responsable documente les limites de déploiement, le consentement, la minimisation des données, le signalement des abus et le signalement privé des vulnérabilités ;
  • les versions de firmware incluent des SBOM spécifiques à la compilation, des avis et des archives de licences afin que leur contenu puisse être inspecté ;
  • le site web public et chaque outil navigateur font partie de ce dépôt sous docs/web, y compris leur source, leurs règles de confidentialité, leur contrat d'analyse et leurs dépendances navigateur épinglées ;
  • les protocoles, algorithmes, preuves de performance, limites, décisions de feuille de route et limites de validation connues sont documentés publiquement.

Utilisez ESPectre uniquement dans des espaces et des réseaux où vous avez le droit de le déployer. Informez les personnes concernées, obtenez le consentement lorsque cela est requis, protégez l'accès à l'appareil et à ses données, et respectez les lois applicables sur la confidentialité.

Remerciements

Licence

Le code propriétaire d'ESPectre est disponible sous GPLv3, et les parties éligibles sont également disponibles sous un accord commercial distinct :

  • Choisissez GPLv3 lorsque votre firmware ou application peut se conformer à la GPLv3, y compris la mise à disposition du code source correspondant. Voir LICENSE.
  • Si vous souhaitez intégrer ESPectre dans un firmware propriétaire ou à code source fermé sans les obligations de divulgation du code source de la GPLv3, voir LICENSING.md pour la licence commerciale. La licence commerciale couvre le matériel éligible et ne remplace pas les conditions des tiers ; le frontend C++ ESPHome reste exclusivement sous GPLv3.

Les conditions des tiers et les artefacts de conformité spécifiques à la compilation sont décrits dans THIRD_PARTY_NOTICES.md.

Catégories