Skip to content

ecoAPM/WiFiSurveyor

Wi-Fi Surveyor

Latest Release Build Status

App App Coverage App Maintainability App Reliability App Security

Server Server Coverage Server Maintainability Server Reliability Server Security

Visualize Wi-Fi signal strength over a geographic area

Quick Start

  1. Download and extract the latest release for your operating system

  2. Extract the archive to your directory of choice

  3. Launch the executable for your OS:

    • WiFiSurveyor.exe on Windows
    • WiFiSurveyor on MacOS
    • sudo ./WiFiSurveyor on Linux (must be root)
  4. Wait for the app to appear in your browser

  5. Under "Background", select a floorplan or map image representing the area to survey

  6. Select your SSID from the "Access Point" dropdown menu

  7. Traverse the area to survey, clicking on corresponding map points that represent your location

  8. Once data has been collected, select other access points or change filters to display updated coverage

  9. Save your data to be loaded again later, or shared with other users

Access Point Filters

  • The default selection of both "Group by SSID" and "Combine 2.4 + 5GHz" will show one option per SSID

  • Selecting only "Group by SSID" will show one option for each frequency that an SSID receives

  • Unselecting both "Group by SSID" (which also disables "Combine 2.4 + 5GHz") will show every device for every SSID available, on both frequencies

Selecting a background

  • Supports all file types used for CSS background-image

  • The "Pixelate" option is good for floor plans with low resolutions (less than 1px/in²) so straight lines maintain hard edges

Saving/loading data

  • Saves all signal data as a JSON file

  • Loading this file again will restore all data points and signal info from the file

  • See limitation about browser window sizes below

Limitations

Contibutions are welcome for improving the following:

  • Linux uses the device named wlan0

  • Windows uses the "first" Wi-Fi adapter

  • Resizing the browser window will not scale readings with the background image: once you start taking readings, don't resize your window (rotating your device and rotating back should be OK)

Contributing

Requirements

  • .NET SDK 7
  • Node.JS with yarn

Building from source

  • Run dotnet run --project {Linux|Mac|Windows} -- dev (with sudo for Linux) from the repo root directory to start the back-end server
  • Run yarn dev from the repo root directory to start the front-end development server
  • Browse to http://localhost:3000
  • Back-end and front-end can be stopped and restarted independently during inner dev loop

Running tests

  • Run dotnet test from the repo root directory for back-end tests
  • Run yarn test from the repo root directory for front-end tests