[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72014":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},72014,"espectre","francescopace\u002Fespectre","francescopace","🛜 ESPectre 👻  - Motion detection system based on Wi-Fi spectre analysis (CSI), with Home Assistant integration.","https:\u002F\u002Fespectre.dev",null,"Python",8471,642,79,4,0,802,869,1223,2406,39.42,"GNU General Public License v3.0",false,"main",true,[27,28,29,5,30,31,32,33],"csi","diy","esp-32","home-assistant","motion-detection","wifi","wifi-sensing","2026-06-12 02:02:57","[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-GPLv3-blue.svg)](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Fblob\u002Fmain\u002FLICENSE)\n[![ESPHome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FESPHome-Component-blue.svg)](https:\u002F\u002Fesphome.io\u002F)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-ESP32-red.svg)](https:\u002F\u002Fwww.espressif.com\u002Fen\u002Fproducts\u002Fsocs)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ffrancescopace\u002Fespectre)](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Freleases\u002Flatest)\n[![CI](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Ffrancescopace\u002Fespectre\u002Fci.yml?branch=main&label=CI)](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Factions\u002Fworkflows\u002Fci.yml?query=branch%3Amain)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffrancescopace\u002Fespectre\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffrancescopace\u002Fespectre)\n\n# 🛜 ESPectre 👻\n\n**Motion detection system based on Wi-Fi spectre analysis (CSI), with native Home Assistant integration via ESPHome.**\n\n> [!TIP]\n> **New in v2.5 — ML Detector**: Neural network-based motion detection. No calibration required, runs on-device. This is an experimental feature, feedback is welcome in the [discussion](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Fdiscussions\u002F84). A [snapshot build](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Freleases\u002Ftag\u002Fsnapshot) with the latest changes is also available (use `-ml` assets for the machine learning based detector), or follow [Setup guide](SETUP.md#choosing-detection-algorithm) for custom configuration. \n\n---\n\n## Table of Contents\n\n- [In 3 Points](#in-3-points)\n- [What You Need](#what-you-need)\n- [Quick Start](#quick-start)\n- [How It Works](#how-it-works-simple-version)\n- [What You Can Do With It](#what-you-can-do-with-it)\n- [Sensor Placement Guide](#where-to-place-the-sensor)\n- [System Architecture](#system-architecture)\n- [FAQ](#faq-for-beginners)\n- [Security and Privacy](#security-and-privacy)\n- [Technical Deep Dive](#technical-deep-dive)\n- [Two-Platform Strategy](#two-platform-strategy)\n- [Future Evolution](#future-evolution)\n- [Documentation](#documentation)\n- [Media](#media)\n- [Related Projects](#related-projects)\n- [Acknowledgments](#acknowledgments)\n- [License](#license)\n- [Author](#author)\n\n---\n\n## In 3 Points\n\n1. **What it does**: Detects movement using Wi-Fi (no cameras, no microphones)\n2. **What you need**: A ~€10 ESP32 device (S3 and C6 recommended, other variants supported)\n3. **Setup time**: 10-15 minutes\n\n---\n\n## What You Need\n\n### Hardware\n\n- **2.4GHz Wi-Fi Router** - the one you already have at home works fine\n- **ESP32 with CSI support** - ESP32-C6, ESP32-S3, ESP32-C3, ESP32 (original) or other variants. See [SETUP.md](SETUP.md) for the complete platform comparison table.\n\n![3 x ESP32-S3 DevKit bundle with external antennas](images\u002Fhome_lab.jpg)\n*ESP32-S3 DevKit with external antennas*\n\n### Software (All Free)\n\n- **Home Assistant** (on Raspberry Pi, PC, NAS, or cloud)\n- **ESPHome** (integrated in Home Assistant or standalone)\n\n### Required Skills\n\n- **Basic YAML knowledge** for configuration\n- **Home Assistant familiarity** (optional but recommended)\n- **NO** programming required\n- **NO** router configuration needed\n\n---\n\n## Quick Start\n\n**Setup time**: ~10-15 minutes  \n**Difficulty**: Easy (YAML configuration only)\n\n1. **Setup & Installation**: Follow the complete guide in [SETUP.md](SETUP.md)\n2. **Tuning**: Optimize for your environment with [TUNING.md](TUNING.md)\n\n![ESPectre Home Assistant Dashboard](images\u002Fespectre-home-assistant.png)\n*Home Assistant dashboard with real-time motion detection, threshold control, and debug sensors*\n\n---\n\n## How It Works\n\nWhen someone moves in a room, they \"disturb\" the Wi-Fi waves traveling between the router and the sensor. It's like when you move your hand in front of a flashlight and see the shadow change.\n\nThe ESP32 device \"listens\" to these changes and understands if there's movement.\n\n### Advantages\n\n- **No cameras** (total privacy)\n- **No wearables needed** (no bracelets or sensors to wear)\n- **Works through walls** (Wi-Fi passes through walls)\n- **Very cheap** (~€10 total)\n\nWant to understand the technical details? See [ALGORITHMS.md](micro-espectre\u002FALGORITHMS.md) for CSI explanation and signal processing documentation.\n\n---\n\n## What You Can Do With It\n\n### Practical Examples\n\n- **Home security**: Get an alert if someone enters while you're away\n- **Elderly care**: Monitor activity to detect falls or prolonged inactivity\n- **Smart automation**: Turn on lights\u002Fheating only when someone is present\n- **Energy saving**: Automatically turn off devices in empty rooms\n- **Child monitoring**: Alert if they leave the room during the night\n- **Climate control**: Heat\u002Fcool only occupied zones\n\n---\n\n## Where to Place the Sensor\n\nOptimal sensor placement is crucial for reliable movement detection.\n\n### Recommended Distance from Router\n\n**Optimal range: 3-8 meters**\n\n| Distance | Signal | Multipath | Sensitivity | Noise | Recommendation |\n|----------|--------|-----------|-------------|-------|----------------|\n| \u003C 2m | Too strong | Minimal | Low | Low | ❌ Too close |\n| 3-8m | Strong | Good | High | Low | ✅ **Optimal** |\n| > 10-15m | Weak | Variable | Low | High | ❌ Too far |\n\n### Placement Tips\n\n**Do:**\n- Position sensor in the area to monitor (not necessarily in direct line with router)\n- Height: 1-1.5 meters from ground (desk\u002Ftable height)\n- External antenna: Use IPEX connector for better reception\n\n**Don't:**\n- Avoid metal obstacles between router and sensor (refrigerators, metal cabinets)\n- Avoid corners or enclosed spaces (reduces multipath diversity)\n\n---\n\n## System Architecture\n\n### Processing Pipeline\n\nESPectre uses a focused processing pipeline for motion detection:\n\n```\n┌─────────────┐\n│  CSI Data   │  Raw Wi-Fi Channel State Information\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│  Gain Lock  │  AGC\u002FFFT stabilization (~3 seconds)\n│             │  Locks hardware gain for stable measurements\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│    Auto     │  Automatic subcarrier selection (once at boot)\n│ Calibration │  Selects optimal 12 subcarriers (NBVI)\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│  Adaptive   │  auto: P95 × 1.1 | min: P100\n│  Threshold  │  or fixed manual value\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│   Hampel    │  Turbulence outlier removal\n│   Filter    │  (enabled by default)\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│  Low-pass   │  Noise reduction (smoothing)\n│   Filter    │  (optional, disabled by default)\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│Segmentation │  MVS algorithm\n│    (MVS)    │  IDLE ↔ MOTION\n└──────┬──────┘\n       │\n       ▼\n┌─────────────┐\n│ Home        │  Native ESPHome integration\n│ Assistant   │  Binary sensor + Movement\u002FThreshold\n└─────────────┘\n```\n\n### Single or Multiple Sensors\n\n```\n┌─────────┐  ┌─────────┐  ┌─────────┐\n│ ESP32   │  │ ESP32   │  │ ESP32   │\n│ Room 1  │  │ Room 2  │  │ Room 3  │\n└────┬────┘  └────┬────┘  └────┬────┘\n     │            │            │\n     └────────────┴────────────┘\n                  │\n                  │ ESPHome Native API\n                  ▼\n         ┌────────────────────┐\n         │   Home Assistant   │\n         │   (Auto-discovery) │\n         └────────────────────┘\n```\n\nEach sensor is automatically discovered by Home Assistant with:\n- Binary sensor for motion detection\n- Movement score sensor\n- Adjustable threshold (number entity)\n\n### Automatic Subcarrier Selection\n\nESPectre implements **NBVI** (Normalized Band Variance Index) for automatic subcarrier selection, achieving near-optimal performance (F1>96%) with **zero manual configuration**. The algorithm selects 12 non-consecutive subcarriers based on stability metrics and spectral diversity.\n\n> ⚠️ **IMPORTANT** (MVS mode): Keep the room **quiet and still** for 10 seconds after device boot. The auto-calibration runs during this time and movement will affect detection accuracy. ML mode skips calibration.\n\nFor algorithm details, see [ALGORITHMS.md](micro-espectre\u002FALGORITHMS.md#subcarrier-selection-nbvi).\n\n---\n\n## FAQ for Beginners\n\n\u003Cdetails>\n\u003Csummary>Click to expand FAQ\u003C\u002Fsummary>\n\n**Q: Do I need programming knowledge to use it?**  \nA: No! ESPectre uses YAML configuration files. Just download the example, flash it, and configure WiFi via the ESPHome app or web interface.\n\n**Q: Does it work with my router?**  \nA: Yes, if your router has 2.4GHz Wi-Fi (virtually all modern routers have it).\n\n**Q: How much does it cost in total?**  \nA: Hardware: ~€10 for an ESP32 device (S3\u002FC6 recommended, other variants also work). Software: All free and open source. You'll also need Home Assistant running somewhere (Raspberry Pi ~€35-50, or any existing PC\u002FNAS).\n\n**Q: Do I need to modify anything on the router?**  \nA: No! The router works normally. The sensor \"listens\" to Wi-Fi signals without modifying anything.\n\n**Q: Does it work through walls?**  \nA: Yes, the 2.4GHz Wi-Fi signal penetrates drywall. Reinforced concrete walls reduce sensitivity but detection remains possible at reduced distances.\n\n**Q: How many sensors are needed for a house?**  \nA: It depends on size. One sensor can monitor ~50 m². For larger homes, use multiple sensors (1 sensor every 50-70 m² for optimal coverage).\n\n**Q: Can it distinguish between people and pets?**  \nA: The system uses a 2-state segmentation model (IDLE\u002FMOTION) that identifies generic movement without distinguishing between people, pets, or other moving objects. For more sophisticated classification (people vs pets, activity recognition, gesture detection), trained AI\u002FML models would be required (see [Future Evolution](#future-evolution) section).\n\n**Q: Does it work with mesh Wi-Fi networks?**  \nA: Yes, it works normally. Make sure the ESP32 connects to the 2.4 GHz band.\n\n**Q: How accurate is the detection?**  \nA: Detection accuracy is highly environment-dependent and requires proper tuning. Factors affecting performance include: room layout, wall materials, furniture placement, distance from router (optimal: 3-8m), and interference levels. In optimal conditions with proper tuning, the system provides reliable movement detection. Adjust the `segmentation_threshold` parameter to tune sensitivity for your specific environment.\n\n**Q: What's the power consumption?**  \nA: ~500mW typical during continuous operation. The firmware includes support for power optimization, and deep sleep modes can be implemented for battery-powered deployments, though this would require custom modifications to the code.\n\n**Q: If it doesn't work, can I get help?**  \nA: Yes, open an [Issue on GitHub](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fespectre\u002Fissues) or contact me via email.\n\n\u003C\u002Fdetails>\n\n---\n\n## Security and Privacy\n\n\u003Cdetails>\n\u003Csummary>Privacy, Security & Ethical Considerations (click to expand)\u003C\u002Fsummary>\n\n### Nature of Collected Data\n\nThe system collects **anonymous data** related to the physical characteristics of the Wi-Fi radio channel:\n- Amplitudes and phases of OFDM subcarriers\n- Statistical signal variances\n- **NOT collected**: personal identities, communication contents, images, audio\n\nCSI data represents only the properties of the transmission medium and does not contain direct identifying information.\n\n### Privacy Advantages\n\n- **No cameras**: Respect for visual privacy\n- **No microphones**: No audio recording\n- **No wearables**: Doesn't require wearable devices\n- **Aggregated data**: Only statistical metrics, not raw identifying data\n\n### ⚠️ Disclaimer and Ethical Considerations\n\n**WARNING**: Despite the intrinsic anonymity of CSI data, this system can be used for:\n\n- **Non-consensual monitoring**: Detecting presence\u002Fmovement of people without their explicit consent\n- **Behavioral profiling**: With advanced AI models, inferring daily life patterns\n- **Domestic privacy violation**: Tracking activities inside private homes\n\n### Usage Responsibility\n\n**The user is solely responsible for using this system and must:**\n\n1. **Obtain explicit consent** from all monitored persons\n2. **Respect local regulations** (GDPR in EU, local privacy laws)\n3. **Clearly inform** about the presence of the sensing system\n4. **Limit use** to legitimate purposes (home security, personal home automation)\n5. **Protect data** with encryption and controlled access\n6. **DO NOT use** for illegal surveillance, stalking, or violation of others' privacy\n\n\u003C\u002Fdetails>\n\n---\n\n## Technical Deep Dive\n\nFor algorithm details (MVS, NBVI calibration, Hampel filter), see [ALGORITHMS.md](micro-espectre\u002FALGORITHMS.md).\n\nFor performance metrics (confusion matrix, F1-score, benchmarks), see [PERFORMANCE.md](PERFORMANCE.md).\n\n---\n\n## Two-Platform Strategy\n\nThis project follows a **dual-platform approach** to balance innovation speed with production stability:\n\n### ESPectre (This Repository) - Production Platform\n\n**Target**: End users, smart home enthusiasts, Home Assistant users\n\n- **ESPHome component** with native Home Assistant integration\n- **YAML configuration** - no programming required\n- **Auto-discovery** - devices appear automatically in Home Assistant\n- **Production-ready** - stable, tested, easy to deploy\n- **Demonstrative** - showcases research results in a user-friendly package\n\n### [Micro-ESPectre](micro-espectre\u002F) - R&D Platform\n\n**Target**: Researchers, developers, academic\u002Findustrial applications\n\n- **Python\u002FMicroPython** implementation for rapid prototyping\n- **MQTT-based** - flexible integration (not limited to Home Assistant)\n- **Fast iteration** - test new algorithms in seconds, not minutes\n- **Analysis tools** - comprehensive suite for CSI data analysis\n- **Use cases**: Academic research, industrial sensing, algorithm development\n\nMicro-ESPectre gives you the fundamentals for:\n- **People counting**\n- **Activity recognition** (walking, falling, sitting, sleeping)\n- **Localization and tracking**\n- **Gesture recognition**\n\n### Development Flow\n\n```\n┌─────────────────────┐     Validated      ┌──────────────────────┐\n│   Micro-ESPectre    │ ─────────────────► │      ESPectre        │\n│   (R&D Platform)    │    algorithms      │ (Production Platform)│\n│                     │                    │                      │\n│ • Fast prototyping  │                    │ • ESPHome component  │\n│ • Algorithm testing │                    │ • Home Assistant     │\n│ • Data analysis     │                    │ • End-user ready     │\n│ • MQTT flexibility  │                    │ • Native API         │\n└─────────────────────┘                    └──────────────────────┘\n```\n\n**Innovation cycle**: New features and algorithms are first developed and validated in Micro-ESPectre (Python), then ported to ESPectre (C++) once proven effective.\n\n---\n\n## Future Evolution\n\nWhile ESPectre v2.x focuses on **motion detection** (MVS + automatic subcarrier selection), the project is exploring machine learning capabilities for advanced applications:\n\n| Capability | Status | Description |\n|------------|--------|-------------|\n| **ML Detector** | Experimental | Neural network (MLP 12→16→8→1, 97-100% F1), ~3s boot time |\n| **Gesture Recognition** | Planned | Detect hand gestures (swipe, push, circle) for smart home control |\n| **Human Activity Recognition** | Planned | Identify activities (sitting, walking, falling) |\n| **People Counting** | Planned | Estimate number of people in a room |\n| **3D Localization** | Research | Indoor positioning (30-50cm accuracy) via phase-coherent antenna array |\n\nThe ML Detector is already available with `detection_algorithm: ml` in your YAML configuration. For algorithm details, see [ALGORITHMS.md](micro-espectre\u002FALGORITHMS.md#ml-neural-network-detector). \nThe ML data collection and training infrastructure is documented in [ML_DATA_COLLECTION.md](micro-espectre\u002FML_DATA_COLLECTION.md).\n\nSee [ROADMAP.md](ROADMAP.md) for detailed plans, timelines, and how to contribute.\n\n---\n\n## Documentation\n\n### ESPectre (Production)\n\n| Document | Description |\n|----------|-------------|\n| [Intro](README.md) | (This file) Project overview, quick start, FAQ |\n| [Setup Guide](SETUP.md) | Installation and configuration with ESPHome |\n| [Tuning Guide](TUNING.md) | Parameter tuning for optimal detection |\n| [Performance](PERFORMANCE.md) | Benchmarks, confusion matrix, F1-score |\n| [The Game](docs\u002Fgame\u002FREADME.md) | Browser game, USB streaming API, interactive threshold tuning |\n| [Test Suite](test\u002FREADME.md) | PlatformIO Unity test documentation |\n\n### Micro-ESPectre (R&D)\n\n| Document | Description |\n|----------|-------------|\n| [Intro](micro-espectre\u002FREADME.md) | R&D platform overview, CLI, MQTT, Web Monitor |\n| [Algorithms](micro-espectre\u002FALGORITHMS.md) | Scientific documentation of MVS, NBVI calibration, Hampel filter |\n| [Analysis Tools](micro-espectre\u002Ftools\u002FREADME.md) | CSI analysis and optimization scripts |\n| [ML Data Collection](micro-espectre\u002FML_DATA_COLLECTION.md) | Building labeled datasets for machine learning |\n| [References](micro-espectre\u002FREADME.md#references) | Academic papers and research resources |\n\n### Project\n\n| Document | Description |\n|----------|-------------|\n| [Roadmap](ROADMAP.md) | Project vision and ML plans |\n| [Contributing](CONTRIBUTING.md) | How to contribute (code, data, docs) |\n| [Changelog](CHANGELOG.md) | Version history and release notes |\n| [Security](SECURITY.md) | Security policy and vulnerability reporting |\n| [Code of Conduct](CODE_OF_CONDUCT.md) | Community guidelines |\n\n---\n\n## Media\n\n| Articles | Title |\n|-------------|-------|\n| Medium | [How I Turned My Wi-Fi Into a Motion Sensor - Part 1](https:\u002F\u002Fmedium.com\u002F@francesco.pace\u002Fhow-i-turned-my-wi-fi-into-a-motion-sensor-61a631a9b4ec?sk=c7f79130d78b0545fce4a228a6a79af3&utm_source=github&utm_medium=readme&utm_campaign=espectre) |\n| Medium | [How I Turned My Wi-Fi Into a Motion Sensor - Part 2](https:\u002F\u002Fmedium.com\u002F@francesco.pace\u002Fhow-i-turned-my-wi-fi-into-a-motion-sensor-part-2-62038130e530?sk=7c8b6f11cf3fcb8d279648016ebff72a&utm_source=github&utm_medium=readme&utm_campaign=espectre) |\n| IoT For All | [How I Turned My Wi-Fi Into a Motion Sensor](https:\u002F\u002Fwww.iotforall.com\u002Fwifi-motion-sensor-iot) |\n| Hackaday | [Make Your Own ESP32-Based Person Sensor, No Special Hardware Needed](https:\u002F\u002Fhackaday.com\u002F2026\u002F01\u002F28\u002Fmake-your-own-esp32-based-person-sensor-no-special-hardware-needed\u002F) |\n| Adafruit Learn | [ESPectre Human Detector for Feather](https:\u002F\u002Flearn.adafruit.com\u002Fespectre-human-detector-for-feather) |\n| Seeed Studio Wiki | [Deploying Espectre on Seeed Studio XIAO ESP32 Series with ESPHome](https:\u002F\u002Fwiki.seeedstudio.com\u002Fxiao-esp32--series-espresense\u002F) |\n\n| Blog | Discussion |\n|----------|------------|\n| Home Assistant | [ESPectre - Wi-Fi Motion Detection for Home Assistant](https:\u002F\u002Fcommunity.home-assistant.io\u002Ft\u002Fespectre-wi-fi-motion-detection-for-home-assistant\u002F961251) |\n\n| Videos | Video |\n|---------|-------|\n| @GithubAwesome | [ESPectre](https:\u002F\u002Fwww.youtube.com\u002Fshorts\u002FiQ_DPHLn8ms) |\n\n| Podcasts | Episode |\n|-------------|---------|\n| Hackaday | [Podcast Episode 355: Person Detectors, Walkie Talkies, Open Smartphones...](https:\u002F\u002Fhackaday.com\u002F2026\u002F01\u002F30\u002Fhackaday-podcast-episode-355-person-detectors-walkie-talkies-open-smartphones-and-a-wifi-traffic-light\u002F) |\n\n---\n\n## Related Projects\n\n- [radio-presence-scanner](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fradio-presence-scanner): complementary presence-sensing project focused on BLE radio observations from host devices (Python), with optional HTTP dashboard.\n- [micropython-esp32-csi](https:\u002F\u002Fgithub.com\u002Ffrancescopace\u002Fmicropython-esp32-csi): custom MicroPython fork exposing ESP32 CSI APIs, used as the firmware foundation for rapid CSI prototyping in the Micro-ESPectre workflow.\n\n---\n\n## Acknowledgments\n\nESPectre leverages the native Wi-Fi CSI capabilities of ESP32 chips. Thanks to [Espressif](https:\u002F\u002Fwww.espressif.com\u002F) for making CSI accessible in the ESP-IDF framework and for recognizing ESPectre as a [community project](https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-csi#6-related-resources) in their [esp-csi](https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-csi) repository.\n\n---\n\n## License\n\nThis project is released under the **GNU General Public License v3.0 (GPLv3)**.\n\nGPLv3 ensures that:\n- The software remains free and open source\n- Anyone can use, study, modify, and distribute it\n- Modifications must be shared under the same license\n- Protects end-user rights and software freedom\n\nSee [LICENSE](LICENSE) for the full license text.\n\nContributions are submitted under GPLv3 and must include a DCO\n`Signed-off-by` trailer on each commit (`git commit -s`).\n\n## Author\n\n**Francesco Pace**  \nEmail: [francesco.pace@espectre.dev](mailto:francesco.pace@espectre.dev)  \nLinkedIn: [linkedin.com\u002Fin\u002Ffrancescopace](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Ffrancescopace\u002F)\n\nIf you find ESPectre useful and want to support its development, you can buy me a coffee. It's completely optional.\nI work on this project because I'm passionate about it. Contributions help me buy new hardware to expand the list of tested and supported devices, and dedicate more time to new features.\n\n\u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fespectre\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fcdn.buymeacoffee.com\u002Fbuttons\u002Fv2\u002Fdefault-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" >\u003C\u002Fa>\n","ESPectre 是一个基于Wi-Fi频谱分析（CSI）的运动检测系统，支持与Home Assistant集成。其核心功能是通过Wi-Fi信号变化来检测环境中的移动，无需摄像头或麦克风，从而提供了一种低成本且隐私友好的解决方案。该项目利用了ESP32微控制器的强大处理能力，并引入了基于机器学习的运动检测算法作为实验性功能，进一步提升了检测准确性。适用于智能家居安全监控、老人看护等场景，特别适合那些对隐私保护有较高要求的应用场合。用户只需花费约10-15分钟即可完成基础设置。",2,"2026-06-11 03:39:59","high_star"]