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-password')
# now use sockets as usual

构造函数

class network.WLAN(interface_id)

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

方法

WLAN.active([is_active])

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

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

使用带有安全性 security 的密钥 key 连接到一个带有 ssid 的wifi网络。 连接到网络后,使用 usocket – socket模块 模块来打开TCP/UDP端口,以发送与接收数据。

WLAN.disconnect()

断开与wifi网络的连接。

WLAN.scan()

扫描可用的网络

扫描功能只在STA接口适用。返回WIFI热点的信息元组。

(ssid, bssid, channel, RSSI, authmode, hidden)

bssid 是热点的硬件地址,是字节格式,并以自己对象返回。您能用 ubinascii.hexlify() 转换为ASCII字符。

authmode 有五个值:

  • 0 – open

  • 1 – WEP

  • 2 – WPA-PSK

  • 3 – WPA2-PSK

  • 4 – WPA/WPA2-PSK

and two for hidden:

  • 0 – 可见

  • 1 – 隐藏

WLAN.status([param])

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

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

  • STAT_IDLE – 无连接,无活动,

  • STAT_CONNECTING – 正在进行连接,

  • STAT_WRONG_PASSWORD – 由于密码错误而失败,

  • STAT_NO_AP_FOUND – 失败,因为没有接入点回复,

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

  • STAT_GOT_IP – 连接成功。

当使用一个参数调用时,param应该是一个字符串,命名要检索的状态参数。WiFI STA 模式支持的参数有:'rssi'.

WLAN.isconnected()

在 STA 模式的情况下,True 如果连接到 WiFi 接入点并具有有效的 IP 地址,则返回。在 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 ESSID) and WiFi channel
ap.config(essid='My AP', channel=11)
# Query params one by one
print(ap.config('essid'))
print(ap.config('channel'))

以下是通常支持的参数(特定参数的可用性取决于网络技术类型、驱动程序和 MicroPython port 端口)。

参数

描述

mac

MAC地址(字节) (bytes)

essid

WiFi 接入点名称(字符串)

channel

WiFi通道(整数)

hidden

ESSID 是否隐藏(布尔值)

authmode

支持认证模式(枚举,见模块常量)

password

访问密码(字符串)

dhcp_hostname

要使用的 DHCP 主机名