0
以下代码将获取所有接入点并显示其SSID以及其Strength
属性。但是,我不知道这个属性是如何编码:如何使用Python获得WLAN的信号强度?
import NetworkManager
for dev in NetworkManager.NetworkManager.GetDevices():
if dev.DeviceType != NetworkManager.NM_DEVICE_TYPE_WIFI:
continue
aps = [ap for ap in dev.SpecificDevice().GetAccessPoints()]
for ap in sorted(aps, key=lambda ap: ap.Ssid):
print(u"%s:: %s" % (ap.Ssid, ap.Strength.encode("unicode_escape")))
我得到的是这样的:
blabla1:: 2 <- The strongest signal
blabla2:: \x0c <- The weakest signal
DarkRoom:: \x13
FRITZ!Box 6340 Cable:: \n
FRITZ!Box 6360 Cable:: \x0e
FRITZ!Box 7272:: \x0c
FRITZ!Box Fon WLAN 7270:: \t
blabla3:: \x07
blabla4:: \x11
blabla5:: \x0c
blabla6:: (
blabla7:: \x07
blabla8:: \n
teco:: \n
wkit-802.1x:: \x14
blabla9:: \t
如何获得有意义的值出来的呢?
它可能(有可能?)它实际上是一个二进制值,而不是一个编码的字符串。所以最强的是'50'和最弱的'12'。 – poke 2015-02-09 07:57:24