How can I query WiFi Access Points' original signal strength(1-meter RSSI) programmatically?
Does APs broadcast such information?
If then, how can I query them?
Context: I am trying to implement/use the indoor positioning system using WiFi APs around ESP32(Arduino) board. I can retrieve RSSI using WiFi.getRSSI();
, but I cannot find a way to get Original Transmit power or 1-meter RSSI using APIs.
Unfortunately you can not. Access points do not broadcast what power level they transmit at. You only have access to the the strength of the signal when it was received (RSSI). You would have to create some sort of API where you could query the transmit power of the access point. The open source firmware DD-WRT allows you to to set and query the transmit power of 2.4 GHz and 5 GHz spectrums using bash commands. You could possible create an SSH connection to the access point and run commands to set/query the transmit power like so ..
wl -i eth1 txpwr 70 # will set your adapter to 70 mW for the 5GHz
wl -i eth1 txpwr1 # check transmitt power for 5 GHz
You can read more about it here.