WIFI 相关功能

WIFI 操作相关功能属于实验性功能,我们仅介绍部分实现的可用功能,您可以通过相关接口实现获取设备的 WIFI 状态,以及获取 WIFI 扫描结果,获取信号强度和拉黑 BSSID 等功能。

获取 WIFI 实例

首先,您仍然需要先获取一个 WIFI 功能实例,可以使用如下方式获取。

wifi = d.stub("Wifi")

获取 WIFI 状态

获取 wifi bssid, ssid ip 等相关信息。

wifi.status()
>>> wifi.status()
id: "0"
address: "c1:c2:c3:c4:c5:c6"
bssid: "00:12:34:56:78:90"
freq: "2447"
group_cipher: "TKIP"
ip_address: "192.168.1.158"
key_mgmt: "WPA2-PSK"
mode: "station"
pairwise_cipher: "CCMP"
ssid: "TPLINK_AE86"
wifi_generation: "4"
wpa_state: "COMPLETED"
>>> result = wifi.status()
>>> print (result.ssid)
TPLINK_AE86

加入 WIFI 黑名单

将 bssid 加入 WIFI 黑名单(此后该 WIFI 将不会显示在 WIFI 列表)。

wifi.blacklist_add("3c:06:aa:8a:55:66")

获取 WIFI 黑名单

获取在 WIFI 黑名单中的所有 bssid。

wifi.blacklist_get_all()
>>> wifi.blacklist_get_all()
['3c:06:aa:8a:55:66']

清空 WIFI 黑名单

清空 WIFI 黑名单中的所有拉黑 BSSID。

wifi.blacklist_clear()

执行 WIFI 扫描

执行 WIFI 扫描,调用后将会尝试扫描周边的 WIFI 网络。

wifi.scan()

获取 WIFI 扫描结果

调用该接口将会返回周边 WIFI 的扫描结果。

wifi.scan_results()
>>> wifi.scan_results()
[id: "0"
bssid: "00:12:34:56:78:90"
ssid: "TPLINK_AE86"
freq: "2447"
noise: "-89"
level: "-62"
tsf: "0000001234567890"
flags: "[WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]"
, id: "6"
bssid: "00:12:34:56:78:90"
ssid: "MIFI-97A5"
freq: "2437"
noise: "-89"
level: "-59"
tsf: "0000001234567890"
flags: "[WPA2-PSK-CCMP][WPS][ESS]"
...
>>> result = wifi.scan_results()
>>> print (result[0].bssid)
00:12:34:56:78:90

获取 WIFI 信号强度

调用如下接口来获取 WIFI 的信号强度、链接速度和频率等信息。

wifi.signal_poll()
>>> wifi.signal_poll()
RSSI: "-59"
LINKSPEED: "39"
NOISE: "9999"
FREQUENCY: "2447"
>>> result = wifi.signal_poll()
>>> print (result.LINKSPEED)
39

获取 WIFI MAC

调用此接口来获取当前 WIFI 的 MAC 地址。

wifi.get_mac_addr()
>>> wifi.get_mac_addr()
'c1:c2:c3:c4:c5:c6'