-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calibrating the heat map #11
Comments
Hey, thanks for the feedback. I think you are hitting some kind of fundamental properties of heatmaps and their settings in general. They are inherently imprecise because they interpolate and the scale matters, and there is no "standard" or "right" setting. E.g.:
is definitely possible with heatmaps, is it not? Like, say, you measure 20 degrees celsius in London. Depending on your heatmap settings, you will have London to be the "hottest" (e.g. most red) in London and gradually going weaker as you go further. You do another measurement in Berlin, and you measure 30 degrees. You max is now 30, so the reddest is no Berlin, while London gets whatever color your heatmap interpolates in London (yellow?). Ideas for how to do these are surely welcome. Android NetSpot clearly setups maximum and minimum on -96 and max on -10 dBm, a design choice 🤷 , which we definitely could do as well. As for your map, it seems that parameters could be changed there so it's not doing one huge blob but a more nuanced spots. You can achieve that by going to advanced settings for the heatmap (hidden under the toggle). |
Hmmm.... I had expected that the readings/colors were absolute values... That way, if I'm in a room far from the router, the closest corner won't be red while the far corner is blue. I'd expect the entire room to be about the same middlin' color. It looks as if the current Advanced Configuration shows a percentage from the range 0..1. (weakest signal .. highest signal). I think it could help if they were switched to use the thresholds below (These come from ChatGPT):
You probably know this, but I also learned this from ChatGPT: A common formula to approximate percentage from dBm: Signal Percentage=2×(dBm+100)
Thanks again |
Valid expectation. I would like to support both, so skilled as well as inexperienced users could use this well. The problem with absolute values you gave is that as soon as someone e.g. has a router by default too far from everywhere, they will not see nuances in their coverage (which might be OK/good tradeoff). I.e. everything will be between -75 and -60, and that might still be a totally working wifi and fine signal (but would show here as somewhat bad). I use some conversion to signal here: https://github.com/hnykda/wifi-heatmapper/blob/main/src/lib/utils.ts#L24. Every such conversion is a simplification and effectively imprecise, but I am committed to finding the most useful way (or, again, have a sane default and then some advanced option) |
I'm not sure I understand what WiFi Heatmap is showing me... In particular, as I add more measurements, the "hot places" seem to move: areas that were hot become "cooler" when there are new measurements.
I started with this floor plan, and made the four measurements (locations in magenta). The APs are shown as turquoise rectangles: the center one is on the same floor, the other two are on the floor above.
The resulting heat maps (no heat map for the first measurement) are shown below:
Note that adding the second point moved the hottest point near the bottom; adding a third point pretty far away didn't change it, but adding the fourth point (6 feet from the AP) shifted the hottest point close to that last measurement.
Note too that the area near #2 (10 feet below the hotspot) got "cooler" after adding #4. This confuses me - why would a new measurement make an earlier one get cooler? What other information could I provide?
(Here's the list of measurements)
And here's a map generated by the Android NetSpot app (about $7, I think). I can't say whether I believe it or not...
The text was updated successfully, but these errors were encountered: