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 对象。