class WLAN – 控制内置 WiFi 接口

此类提供了 WiFi 网络处理器的驱动程序。示例用法:

import network
# enable station interface and connect to WiFi access point
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('your-ssid', 'your-key')
# now use sockets as usual

构造函数

class network.WLAN(interface_id)

创建 WLAN 网络接口对象。支持的接口有 network.STA_IF (站点,即客户端,连接到上游 WiFi 接入点)和 network.AP_IF (访问点,允许其他 WiFi 客户端连接)。下面的方法的可用性取决于接口类型。例如,只有 STA 接口可以 WLAN.connect() 到一个接入点。

方法

WLAN.active([is_active])

如果传递布尔参数,则激活(“up”)或停用(“down”)网络接口。否则,在未提供参数的情况下查询当前状态。大多数其他方法都需要激活接口。

WLAN.connect(ssid=None, key=None, *, bssid=None)

使用指定的密钥连接到指定的无线网络。如果提供了 bssid ,则连接将限制在具有该 MAC 地址的接入点(在这种情况下 ssid 也必须被指定)。

WLAN.disconnect()

断开当前连接的无线网络。

WLAN.scan()

扫描可用的无线网络。如果 WLAN 接口允许,还将扫描隐藏网络(SSID 不广播)。

只有在 STA 接口上扫描是可能的。返回一个包含 WiFi 接入点信息的元组列表:

(ssid、bssid、通道、RSSI、安全性、隐藏)

bssid 是一个接入点的硬件地址,以二进制形式返回,作为字节对象。您可以使用 binascii.hexlify() 将其转换为 ASCII 形式。

安全性有五个值:

  • 0 – open

  • 1 – WEP

  • 2 – WPA-PSK

  • 3 – WPA2-PSK

  • 4 – WPA/WPA2-PSK

两个值用于隐藏:

  • 0 – visible

  • 1 – hidden

WLAN.status([param])

返回无线连接的当前状态。

不带参数调用时,返回值描述了网络链接状态。可能的状态定义为常量:

  • STAT_IDLE – 无连接和无活动,

  • STAT_CONNECTING – 连接中,

  • STAT_WRONG_PASSWORD – 因密码错误而失败,

  • STAT_NO_AP_FOUND – 由于没有接入点回复而失败,

  • STAT_CONNECT_FAIL – 由于其他问题而失败,

  • STAT_GOT_IP – 连接成功。

带有一个参数 param 调用时,param 应为一个字符串,命名为要检索的状态参数。在 WiFi STA 模式下支持的参数是:'rssi'

WLAN.isconnected()

在 STA 模式下,如果连接到 WiFi 接入点并且具有有效的 IP 地址,则返回 True。在 AP 模式下,当有台设备连接时返回 True。否则返回 False

WLAN.ifconfig([(ip, subnet, gateway, dns)])

获取/设置 IP 级网络接口参数:IP 地址、子网掩码、网关和 DNS 服务器。当不带参数调用时,此方法返回包含上述信息的 4 元组。要设置上述值,请传递包含所需信息的 4 元组。例如:

nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
WLAN.config('param')
WLAN.config(param=value, ...)

获取或设置通用网络接口参数。这些方法允许处理标准 IP 配置之外的附加参数(由 WLAN.ifconfig() 处理)。这些参数包括网络特定和硬件特定参数。对于设置参数,应使用关键字参数语法,可以一次设置多个参数。对于查询,参数名应作为字符串引用,并且一次只能查询一个参数:

# Set WiFi access point name (formally known as SSID) and WiFi channel
ap.config(ssid='My AP', channel=11)
# Query params one by one
print(ap.config('ssid'))
print(ap.config('channel'))

以下是常见支持的参数(特定参数的可用性取决于网络技术类型、驱动程序和 MicroPython 移植版本)。

参数

描述

mac

MAC地址(字节)

ssid

WiFi接入点名称(字符串)

通道

WiFi信道(整数)

隐藏

SSID 是否隐藏(布尔值)

安全

支持的安全协议(枚举,见模块常量)

访问密钥(字符串)

hostname

将发送到 DHCP(STA 接口)和 mDNS(如果支持,STA 和 AP)的主机名。(已弃用,改用 network.hostname()

重新连接

尝试重新连接的次数(整数,0=无,-1=无限)

发射功率

最大发射功率 dBm(整数或浮点数)

pm

WiFi 电源管理设置(允许的值见下文)

常量

WLAN.PM_PERFORMANCE
WLAN.PM_POWERSAVE
WLAN.PM_NONE

WLAN.config(pm=...) 网络接口参数的允许值:

  • PM_PERFORMANCE: 启用 WiFi 电源管理以平衡功耗节约和 WiFi 性能

  • PM_POWERSAVE: 启用 WiFi 电源管理,额外节约电量并降低 WiFi 性能

  • PM_NONE: 禁用 WiFi 电源管理