Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wavey

Wavey

Real-time 3D Wi-Fi signal heatmapper with rogue AP detection and physical localization. Walk around, click your position, and watch the heatmap build like a live thermal camera.

Python PyQt6 VisPy NumPy SciPy License Platform OpenGL Status

Features

3D Heatmapper

  • 3D OpenGL heatmap — GPU-accelerated Phong-shaded surface via VisPy
  • Auto router detection — signal-weighted centroid from your clicks
  • Connected device mapping — live device names + positions around the router
  • Real-time RSSI — last point updates automatically when signal changes
  • Wall drawing — drag to add drywall, brick, or concrete obstacles
  • Scrolling waterfall — live RSSI history overlay
  • Turntable camera — arrow keys rotate the 3D view
  • Tokyo Night theme — dark UI throughout

Threat Scanner

Toggle the Threat Scanner panel to access the AP scanner and rogue AP localization tool:

  • AP Scanner — enumerate all nearby networks (SSID, BSSID, channel, security, RSSI)
  • Rogue Detector — whitelist-based heuristics flag evil twins, open corporate SSIDs, hidden APs
  • Survey Mode — click floor points around a target AP to collect RSSI samples
  • Localization Engine — nonlinear least-squares fit with error ellipse and GDOP
  • 3D Threat Overlay — red ceiling marker, confidence ellipse, drop line on the 3D canvas
  • Reporting — export survey sessions as JSON/CSV/HTML reports

Quick Start

python main.py

Usage

Action Result
Click on floor Record signal measurement
Click-drag Draw a wall
Arrow keys Rotate camera
Auto-sample checkbox Auto-record every 1s
Demo Data button 20 synthetic points instantly
⚡ Threat Scanner Open AP scanner + rogue AP survey

Architecture

Three decoupled pipelines on separate threads:

  1. Wi-Fi (wifi/networking.py) — OS-level RSSI polling with automatic simulated fallback
  2. Heatmap (heatmap/) — Gaussian blob kernel regression, physics path-loss model, router estimation
  3. UI (ui/) — PyQt6 window with VisPy OpenGL 3D canvas

Platform Support

OS Method Permissions
Linux /proc/net/wireless, iw, iwconfig None needed
Windows netsh wlan show interfaces None needed
macOS airport -I May be missing on Ventura+

Calibration

Edit heatmap/math.py:

  • CELL_METERS (default 0.3): real-world meters per grid cell
  • TX_POWER_DBM (default -30.0): RSSI at 1 cell from router

About

Real-time 3D Wi-Fi signal heatmapper

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages