WLANWiPy 类 – WiPy 特定的 WiFi 控制¶
笔记
此类是 WiPy 的非标准 WLAN 实现。它network.WLAN 与 WiPy一样可用,但在下面的文档中命名,network.WLANWiPy 以区别于更通用的network.WLAN 类。
此类为 WiPy 中的 WiFi 网络处理器提供驱动程序。用法示例:
import network
import time
# setup as a station
wlan = network.WLAN(mode=WLAN.STA)
wlan.connect('your-ssid', auth=(WLAN.WPA2, 'your-key'))
while not wlan.isconnected():
time.sleep_ms(50)
print(wlan.ifconfig())
# now use socket as usual
...
构造函数¶
笔记
The WLAN构造是在这个意义上,如果除了ID没有给出参数,它将返回已经存在的特殊WLAN情况下不重新配置它。这是因为WLAN 是 WiPy 的系统功能。如果已经存在的实例没有被初始化,它会像其他构造函数一样做同样的事情,并用默认值初始化它。
方法¶
-
WLANWiPy.init(mode, *, ssid, auth, channel, antenna)¶ 设置或获取 WiFi 网络处理器配置。
参数是:
模式可以是
WLAN.STA或WLAN.AP.ssid是一个带有 ssid 名称的字符串。仅当 mode 为 时需要
WLAN.AP.auth是一个带有 (sec, key) 的元组。安能
None,WLAN.WEP,WLAN.WPA或WLAN.WPA2。密钥是一个带有网络密码的字符串。如果sec是WLAN.WEP键必须是表示十六进制值的字符串(例如'ABC1DE45BF')。仅当 mode 为 时需要WLAN.AP。通道1-11 范围内的数字。仅当 mode 为 时需要
WLAN.AP。天线在内部和外部天线之间进行选择。可以是
WLAN.INT_ANT或WLAN.EXT_ANT.
例如,您可以执行以下操作:
# create and configure as an access point wlan.init(mode=WLAN.AP, ssid='wipy-wlan', auth=(WLAN.WPA2,'www.wipy.io'), channel=7, antenna=WLAN.INT_ANT)
或者:
# configure as an station wlan.init(mode=WLAN.STA)
-
WLANWiPy.connect(ssid, *, auth=None, bssid=None, timeout=None)¶ 使用给定的 SSID 和其他安全参数连接到 WiFi 接入点。
auth是一个带有 (sec, key) 的元组。安能
None,WLAN.WEP,WLAN.WPA或WLAN.WPA2。密钥是一个带有网络密码的字符串。如果sec是WLAN.WEP键必须是表示十六进制值的字符串(例如'ABC1DE45BF')。bssid是要连接的 AP 的 MAC 地址。当有多个具有相同 ssid 的 AP 时很有用。
timeout是等待连接成功的最长时间(以毫秒为单位)。
-
WLANWiPy.scan()¶ 执行网络扫描并返回命名元组列表(ssid、bssid、sec、channel、rssi)。请注意,频道始终
None是,因为 WiPy 不提供此信息。
-
WLANWiPy.disconnect()¶ 断开与 WiFi 接入点的连接。
-
WLANWiPy.isconnected()¶ 在 STA 模式的情况下,
True如果连接到 WiFi 接入点并具有有效的 IP 地址,则返回。在 AP 模式下,True当站点连接时返回,False否则返回。
-
WLANWiPy.ifconfig(if_id=0, config=['dhcp' or configtuple])¶ 如果没有给出参数,则返回(ip, subnet_mask, gateway, DNS_server)的 4 元组。
如果
'dhcp'作为参数传递,则启用 DHCP 客户端并与 AP 协商 IP 参数。如果给出 4 元组配置,则配置静态 IP。例如:
wlan.ifconfig(config=('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
-
WLANWiPy.mode([mode])¶ 获取或设置 WLAN 模式。
-
WLANWiPy.ssid([ssid])¶ 在 AP 模式下获取或设置 SSID。
-
WLANWiPy.auth([auth])¶ 在 AP 模式下获取或设置身份验证类型。
-
WLANWiPy.channel([channel])¶ 获取或设置通道(仅适用于AP模式)。
-
WLANWiPy.antenna([antenna])¶ 获取或设置天线类型(外部或内部)。
-
WLANWiPy.mac([mac_addr])¶ 获取或设置具有 MAC 地址的 6 字节长字节对象。
-
WLANWiPy.irq(*, handler, wake)¶ 创建在
machine.SLEEP模式期间发生 WLAN 事件时触发的回调。事件由套接字活动或 WLAN 连接/断开连接触发。handler是触发 IRQ 时调用的函数。
唤醒必须
machine.SLEEP.
返回一个 IRQ 对象。