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
...

构造函数

class network.WLANWiPy(id=0, ...)

创建一个 WLAN 对象,并可选择对其进行配置。请参阅 init() 配置参数。

笔记

The WLAN构造是在这个意义上,如果除了ID没有给出参数,它将返回已经存在的特殊WLAN情况下不重新配置它。这是因为WLAN 是 WiPy 的系统功能。如果已经存在的实例没有被初始化,它会像其他构造函数一样做同样的事情,并用默认值初始化它。

方法

WLANWiPy.init(mode, *, ssid, auth, channel, antenna)

设置或获取 WiFi 网络处理器配置。

参数是:

  • 模式可以是WLAN.STAWLAN.AP.

  • ssid是一个带有 ssid 名称的字符串。仅当 mode 为 时需要WLAN.AP.

  • auth是一个带有 (sec, key) 的元组。安能 None, WLAN.WEP, WLAN.WPAWLAN.WPA2。密钥是一个带有网络密码的字符串。如果 secWLAN.WEP键必须是表示十六进制值的字符串(例如'ABC1DE45BF')。仅当 mode 为 时需要WLAN.AP

  • 通道1-11 范围内的数字。仅当 mode 为 时需要WLAN.AP

  • 天线在内部和外部天线之间进行选择。可以是 WLAN.INT_ANTWLAN.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.WPAWLAN.WPA2。密钥是一个带有网络密码的字符串。如果secWLAN.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 对象。

常数

WLANWiPy.STA
WLANWiPy.AP

选择 WLAN 模式

WLANWiPy.WEP
WLANWiPy.WPA
WLANWiPy.WPA2

选择网络安全

WLANWiPy.INT_ANT
WLANWiPy.EXT_ANT

选择天线类型