How should I convert Wifi signal strength from a Quality in percentage, usually 0% to 100% into an RSSI value, usually a negative dBm number (i.e. -96db
)?
相关问题
- Get SSID/ other network information in golang
- How to get the wifi name(SSID) of the currently co
- Getting WIFI signal strength- seeking the best way
- Get nearby BSSID and signal strength in Java
- Listening to WiFi packets
相关文章
- [iPhone]: How send output stream via wireless netw
- iphone problem receiving UDP packets
- is it possible to turn off wifi or switch iPhone t
- Checking if there is internet connection
- Google maps Android API getting wifi location
- iPhone VOIP in background
- ways for a client to identify the specific access
- Checking miracast compatible devices using android
Im glad I found this post cause I was looking for a way to convert the dbm to percentage. Using David's post, I wrote up a quick script in python to calculate the quality percentage.
In order to get the highest wifi quality from where my computer is located, I moved/rotated my antenna until I received the highest quality. To see real time quality, I ran the above script using:
This article is a more detailed explanation of mW, dBm and RSSI
http://madwifi-project.org/attachment/wiki/UserDocs/RSSI/Converting_Signal_Strength.pdf?format=raw
According to it RSSI do not have a unit. It's a value defined in 802.11 standard and calculated by nic card and sent to OS. The nic card vendor should provide a mapping table of dBm-RSSI values.
Sorry for the direct link, but I can not found the original page for the file link.
From RSSI vs RSS:
I know this may be late but this may help someone in the future.
I took the value of dBm 30-90 for RSSI and correlated it to 100-0 %.
I used the basic linear equation to get the answer.
We know our x values for dBm as 30 and 90. We know our y values for % as 100 and 0.
We just need to find the slope. So we can make it linear.
Final equation to put in code when you know the RSSI value.
Note I did take the RSSI value that is normally negative and multiplied by the absolute value to get positive numbers.