การอ่านและเขียนข้อมูล WIFI¶
ฟังก์ชันที่เกี่ยวข้องกับการทำงานของ WIFI เป็นฟังก์ชันทดลอง (experimental) เราจะแนะนำเฉพาะฟังก์ชันที่ใช้งานได้บางส่วนที่ได้ถูกพัฒนาขึ้น คุณสามารถใช้ interface ที่เกี่ยวข้องเพื่อรับสถานะ WIFI ของอุปกรณ์, รับผลการสแกน WIFI, รับความแรงของสัญญาณ และเพิ่ม BSSID เข้าใน blacklist เป็นต้น
การรับ Instance ของ WIFI¶
ก่อนอื่น คุณยังคงต้องรับ instance ของฟังก์ชัน 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 เข้าใน Blacklist¶
เพิ่ม bssid เข้าไปใน WIFI blacklist (หลังจากนี้ WIFI ดังกล่าวจะไม่แสดงในรายการ WIFI)
wifi.blacklist_add("3c:06:aa:8a:55:66")
การรับข้อมูล WIFI Blacklist¶
รับ bssid ทั้งหมดที่อยู่ใน WIFI blacklist
wifi.blacklist_get_all()
>>> wifi.blacklist_get_all()
['3c:06:aa:8a:55:66']
การล้างข้อมูล WIFI Blacklist¶
ล้าง BSSID ทั้งหมดที่ถูกบล็อกใน WIFI blacklist
wifi.blacklist_clear()
การสแกน WIFI¶
ทำการสแกน WIFI หลังจากเรียกใช้ จะพยายามสแกนเครือข่าย WIFI ที่อยู่โดยรอบ
wifi.scan()
การรับผลการสแกน WIFI¶
การเรียกใช้ interface นี้จะส่งคืนผลการสแกน 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¶
เรียกใช้ interface ต่อไปนี้เพื่อรับข้อมูลความแรงของสัญญาณ WIFI, ความเร็วในการเชื่อมต่อ และความถี่ เป็นต้น
wifi.signal_poll()
>>> wifi.signal_poll()
RSSI: "-59"
LINKSPEED: "39"
NOISE: "9999"
FREQUENCY: "2447"
>>> result = wifi.signal_poll()
>>> print (result.LINKSPEED)
39
การรับ MAC Address ของ WIFI¶
เรียกใช้ interface นี้เพื่อรับ MAC address ของ WIFI ปัจจุบัน
wifi.get_mac_addr()
>>> wifi.get_mac_addr()
'c1:c2:c3:c4:c5:c6'