Currently the WnDb data display consists of a pin point for each AP location. How do we display an empirical graph of the power output in order to see what area a particular node covers?
The raw data required comes from a gps receiver correlated with power output readings from a wifi card. This can be recorded by NetStumbler, Dstumbler or Kismet. Another approach would be to hack the WirelessPowerMeter) or use linux wireless-tools and gpstrans directly.
<Insert some sample data here>
The data set consists of measurements of signal to noise ratio (or some other measure of AP power output) for each GPS reading.
The next step is to use this point map data to produce a rough surface approximation of AP coverage. One way to do this is outlined at University of Kansas ITTC Wireless Network Visualization Project. The Inverse Distance Weighted (IDW) interpolation they mention can be computed by a modified Shepard's Method routine from Netlib. The beginning of the file contains a lot of test code so search for PRECISION FUNCTION CS2VAL for relevant comments. This function returns approximate values for a surface based on point map data.
- How quickly does AP coverage change? The coverage will change based on weather so we may want to track when the data was collected. This leads into collecting several maps for a location that record performance in different seasons. Or perhaps some sort of averaging of all data available. This depends on how much it varies.
- How much data is required for a reasonable map? What to do about conflicting spatial or temporal data?
- How to we get the SNR and Signal Strenght from the AP in real-time? Is it queried then cached in a centralized server like Nagios?
Long term ideas:
Display AP range as a semi-transparent layer above WnDb street node maps.
- Do mapping as part of a Public Node Audit.
Possible use for the SatelliteTruck; drive around inside the MAN to collect city wide data.
- Allow node clients to contribute raw data to a central data collector and map generator.
- Display real-time point map as node clients upload new data. Useful feedback loop for data collectors while in the field.