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'