讀寫 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'