- README.md: Quick start, API endpoints, ports - PROJECT.md: Architecture, components, data models - ROADMAP.md: Version milestones (v0.1.x - v1.0.0) - TASKS.md: Current sprint tasks - TODO.md: Backlog items - docs/INSTALL.md: Setup and deployment - docs/USAGE.md: API examples - docs/CHEATSHEET.md: Quick reference
59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# ESP32-Web Project
|
|
|
|
## Overview
|
|
|
|
REST API backend for ESP32 CSI sensor fleet. Collects and stores sensor data (BLE, WiFi probes, alerts, events) for OPSEC/OSINT/Purple team operations.
|
|
|
|
## Goals
|
|
|
|
- Aggregate data from multiple ESP32 sensors
|
|
- Provide REST API for querying devices, alerts, events
|
|
- Track device presence and movement across zones
|
|
- Enable fleet management (commands, OTA, calibration)
|
|
|
|
## Architecture
|
|
|
|
```
|
|
ESP32 Sensors (UDP 5500) ──▶ UDP Collector ──▶ SQLite/PostgreSQL
|
|
│
|
|
▼
|
|
Flask REST API (TCP 5500)
|
|
│
|
|
▼
|
|
Clients / Dashboards
|
|
```
|
|
|
|
## Components
|
|
|
|
| Component | Path | Description |
|
|
|-----------|------|-------------|
|
|
| App Factory | `src/esp32_web/__init__.py` | Flask application factory |
|
|
| Config | `src/esp32_web/config.py` | Configuration classes |
|
|
| Models | `src/esp32_web/models/` | SQLAlchemy ORM models |
|
|
| API | `src/esp32_web/api/` | REST API blueprints |
|
|
| Collector | `src/esp32_web/collector/` | UDP listener + parsers |
|
|
|
|
## Data Models
|
|
|
|
| Model | Description |
|
|
|-------|-------------|
|
|
| Sensor | ESP32 sensor node (hostname, IP, status) |
|
|
| Device | Discovered BLE/WiFi device (MAC, vendor, name) |
|
|
| Sighting | Device seen by sensor (RSSI, timestamp) |
|
|
| Alert | Security alert (deauth, flood) |
|
|
| Event | Sensor event (motion, presence, calibration) |
|
|
| Probe | WiFi probe request (SSID, channel) |
|
|
|
|
## Dependencies
|
|
|
|
- Flask 3.x
|
|
- SQLAlchemy 2.x
|
|
- Flask-Migrate
|
|
- Flask-CORS
|
|
- gunicorn
|
|
|
|
## Related Projects
|
|
|
|
- [esp32-hacking](~/git/esp32-hacking/) - ESP32 firmware
|
|
- [esp-tools](~/git/esp-tools/) - CLI tools (esp-ctl, esp-fleet)
|