Initial commit: RF Mapper v0.3.0-dev
WiFi & Bluetooth signal mapping tool for Raspberry Pi with: - WiFi scanning via iw command - Bluetooth Classic/BLE device discovery - RSSI-based distance estimation - OUI manufacturer lookup - Web dashboard with multiple views: - Radar view (polar plot) - 2D Map (Leaflet/OpenStreetMap) - 3D Map (MapLibre GL JS with building extrusion) - Floor-based device positioning - Live BT tracking mode (auto-starts on page load) - SQLite database for historical device tracking: - RSSI time-series history - Device statistics (avg/min/max) - Movement detection and velocity estimation - Activity patterns (hourly/daily) - New device alerts - Automatic data retention/cleanup - REST API for all functionality Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
105
TASKS.md
Normal file
105
TASKS.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# RF Mapper - Active Tasks
|
||||
|
||||
**Sprint:** v0.3.0 - 3D Visualization
|
||||
**Updated:** 2026-01-31
|
||||
|
||||
---
|
||||
|
||||
## Priority Levels
|
||||
- **P0** - Critical / Blocking
|
||||
- **P1** - High / Current sprint
|
||||
- **P2** - Medium / Next sprint
|
||||
- **P3** - Low / Backlog
|
||||
|
||||
## Status Legend
|
||||
- `[ ]` Todo
|
||||
- `[~]` In Progress
|
||||
- `[x]` Done
|
||||
- `[-]` Blocked
|
||||
|
||||
---
|
||||
|
||||
## P0 - Critical
|
||||
|
||||
| Status | Task | Notes |
|
||||
|--------|------|-------|
|
||||
| [-] | Fix Bluetooth RSSI acquisition | `hcitool rssi` only works for connected devices; `bluetoothctl` doesn't expose RSSI for cached devices |
|
||||
|
||||
---
|
||||
|
||||
## P1 - High Priority (Current Sprint)
|
||||
|
||||
| Status | Task | Notes |
|
||||
|--------|------|-------|
|
||||
| [x] | MapLibre GL JS integration | 3D map with building extrusion |
|
||||
| [x] | Floor-based positioning | Devices assigned to floors |
|
||||
| [x] | Floor selector UI | Dropdown to filter by floor |
|
||||
| [x] | Custom distance override | Set manual distance via popup |
|
||||
| [x] | Live BT tracking mode | 4-second scan interval |
|
||||
| [x] | Moving device detection | Purple markers for RSSI changes |
|
||||
| [x] | Filter-aware scanning | Skip WiFi/BT based on toggle |
|
||||
| [~] | Improve BT discovery reliability | Try alternative scanning methods |
|
||||
| [ ] | Document API endpoints | docs/API.md |
|
||||
| [ ] | Create CHEATSHEET.md | Quick reference guide |
|
||||
|
||||
---
|
||||
|
||||
## P2 - Medium Priority (Next Sprint)
|
||||
|
||||
| Status | Task | Notes |
|
||||
|--------|------|-------|
|
||||
| [ ] | Position smoothing | Average RSSI over multiple samples |
|
||||
| [ ] | Device trails | Show movement history on map |
|
||||
| [ ] | Signal strength graph | Per-device RSSI over time |
|
||||
| [ ] | Scan history browser | View past scans in UI |
|
||||
| [ ] | Export functionality | Download scan data as CSV |
|
||||
|
||||
---
|
||||
|
||||
## P3 - Low Priority (Backlog)
|
||||
|
||||
| Status | Task | Notes |
|
||||
|--------|------|-------|
|
||||
| [x] | SQLite persistence | Historical device tracking enabled |
|
||||
| [x] | Device labeling | Custom names via API |
|
||||
| [ ] | Home Assistant integration | MQTT/webhook |
|
||||
| [ ] | Docker container | Containerized deployment |
|
||||
| [ ] | Unit tests | pytest coverage |
|
||||
|
||||
---
|
||||
|
||||
## Completed This Sprint
|
||||
|
||||
| Task | Completed |
|
||||
|------|-----------|
|
||||
| 3D map view with MapLibre | 2026-01-31 |
|
||||
| Floor assignment in popup | 2026-01-31 |
|
||||
| Custom distance setting | 2026-01-31 |
|
||||
| Live tracking button | 2026-01-31 |
|
||||
| Purple moving indicators | 2026-01-31 |
|
||||
| Smart scanning (filter-aware) | 2026-01-31 |
|
||||
|
||||
---
|
||||
|
||||
## Blockers
|
||||
|
||||
### BT RSSI Acquisition
|
||||
**Problem:** Cannot get reliable RSSI values for Bluetooth devices
|
||||
- `hcitool rssi <addr>` - Only works for connected devices
|
||||
- `bluetoothctl info` - No RSSI for cached devices
|
||||
- `btmgmt find` - Not providing output
|
||||
- BLE scan (`hcitool lescan`) - I/O errors on this adapter
|
||||
|
||||
**Potential Solutions:**
|
||||
1. Use D-Bus BlueZ API directly (needs dbus-python)
|
||||
2. Keep devices paired/connected for RSSI polling
|
||||
3. Focus on WiFi-based tracking instead
|
||||
4. Use dedicated BLE beacon hardware
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- Bluetooth scanning is unreliable on Raspberry Pi 5 with built-in adapter
|
||||
- WiFi scanning works well with `iw` command
|
||||
- Consider external USB Bluetooth adapter for better BLE support
|
||||
Reference in New Issue
Block a user