WLAN STA —— 控制内置 WiFi 接口。
该类提供用于 WiFi STA 网络处理器的驱动程序。
MicroPython 应用示例:
1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8import network 9 10 11title0 = None 12label0 = None 13label1 = None 14label2 = None 15wlan = None 16 17 18def setup(): 19 global title0, label0, label1, label2, wlan 20 21 M5.begin() 22 Widgets.fillScreen(0x222222) 23 title0 = Widgets.Title( 24 "WLAN STA CoreS3 Example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18 25 ) 26 label0 = Widgets.Label("label0", 2, 81, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 27 label1 = Widgets.Label("label1", 2, 114, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 28 label2 = Widgets.Label("label2", 2, 143, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 29 30 wlan = network.WLAN(network.STA_IF) 31 wlan.config(reconnects=3) 32 wlan.connect("your-wlan", "your-password") 33 34 35def loop(): 36 global title0, label0, label1, label2, wlan 37 M5.update() 38 label0.setText(str((str("Connected?:") + str((wlan.isconnected()))))) 39 label1.setText(str((str("RSSI:") + str((wlan.status("rssi")))))) 40 label2.setText(str((str("IP:") + str((wlan.ifconfig()[0]))))) 41 42 43if __name__ == "__main__": 44 try: 45 setup() 46 while True: 47 loop() 48 except (Exception, KeyboardInterrupt) as e: 49 try: 50 from utility import print_error_msg 51 52 print_error_msg(e) 53 except ImportError: 54 print("please update to latest firmware")
UiFlow2 应用示例
构造函数
- class network.WLAN(interface_id)
创建 WLAN 网络接口对象。支持的接口为“network.STA_IF”(站点,也称为客户端,连接到上游 WiFi 接入点)。
UiFlow2:
Methods
- WLAN.status([param])
返回无线连接的当前状态。
当不带参数调用时,返回值用于描述网络链路状态。可能的状态被定义为常量:
STAT_IDLE—— 无连接且无活动。STAT_CONNECTING—— 正在连接中。STAT_WRONG_PASSWORD—— 因密码错误而失败。STAT_NO_AP_FOUND—— 失败,因为没有接入点响应。STAT_CONNECT_FAIL—— 由于其他问题导致失败。STAT_GOT_IP—— 连接成功。
当使用一个参数调用时,param 应为一个字符串,用于指定要获取的状态参数名称。
WiFI STA 模式下支持的参数为:
'rssi'。UiFlow2:


- WLAN.isconnected()
在 STA 模式下,如果已连接到 WiFi 接入点并具有有效的 IP 地址,则返回
True。UiFlow2:

- WLAN.active([is_active])
如果传入布尔参数,则启用(“up”)或禁用(“down”)网络接口。否则,在未提供参数时查询当前状态。大多数其他方法需要接口处于活动状态。

- WLAN.connect(ssid=None, key=None, *, bssid=None)
使用指定的密钥连接到指定的无线网络。如果给定 bssid,则连接将被限制为具有该 MAC 地址的接入点(此时也必须指定 ssid)。

- WLAN.disconnect()
断开与当前已连接的无线网络的连接。

- WLAN.ifconfig([(ip, subnet, gateway, dns)])
获取/设置 IP 层网络接口参数:IP 地址、子网掩码、网关和 DNS 服务器。当不带参数调用时,该方法返回一个包含上述信息的 4 元组。要设置上述值,请传入一个包含所需信息的 4 元组。




- WLAN.config('param')
- WLAN.config(param=value, ...)
获取或设置通用网络接口参数。这些方法允许使用超出标准 IP 配置(由 AbstractNIC.ipconfig() 处理)之外的附加参数。这些参数包括网络特定参数和硬件特定参数。对于设置参数,应使用关键字参数语法,并且可以一次设置多个参数。对于查询,应将参数名称用字符串形式加引号,并且一次只能查询一个参数:
以下为常见支持的参数(具体参数的可用性取决于网络技术类型、驱动程序以及 MicroPython port)。
Parameter
Description
mac
MAC 地址(bytes)
ssid
WiFi 接入点名称(字符串)。
频道
WiFi 信道(整数)
hidden
SSID 是否隐藏(布尔值)。
安全
支持的安全协议(枚举,参见模块常量)。
key
访问密钥(string)
hostname
将发送到 DHCP(STA 接口)和 mDNS(如果支持,STA 和 AP 均适用)的主机名。(已弃用,请改用
network.hostname()。)重新连接
要进行的重新连接尝试次数(整数,0 = 不尝试,-1 = 不限制)。
txpower
最大发射功率,单位为 dBm(整数或浮点数)。
pm
WiFi 电源管理设置(允许的取值见下文)。







- WLAN.scan()
扫描可用的无线网络。如果 WLAN 接口允许,也会扫描隐藏网络(即不广播 SSID 的网络)。
扫描仅可在 STA 接口上进行。返回包含 WiFi 接入点信息的元组列表:
(ssid, bssid, channel, RSSI, security, hidden)
bssid 是接入点的硬件地址,以二进制形式表示,并以 bytes 对象形式返回。你可以使用 binascii.hexlify() 将其转换为 ASCII 形式。
安全性有五个取值:
0 – 打开
1 – WEP
2 – WPA-PSK
3 – WPA2-PSK
4 – WPA/WPA2-PSK
以及两个用于 hidden:
0 – 可见
1 – hidden



