network 模块 API 手册#
概述#
本模块主要用于配置和查看网络参数,配置完成后,方可使用 socket 模块进行网络通信。
LAN 类#
参考文档: Micropython LAN
此类为有线网络的配置接口。示例代码如下:
import network
nic = network.LAN()
print(nic.ifconfig())
# 配置完成后,即可像往常一样使用 socket
...
构造函数#
class
network.LAN()¶创建一个有线以太网对象。
方法#
LAN.active([state]) ¶
激活或停用网络接口。传递布尔参数
True表示激活,False表示停用。如果不传参数,则返回当前状态。LAN.isconnected() ¶
返回
True表示已连接到网络,返回False表示未连接。LAN.ifconfig([(ip, subnet, gateway, dns)]) ¶
获取或设置 IP 级别的网络接口参数,包括 IP 地址、子网掩码、网关和 DNS 服务器。无参数调用时,返回一个包含上述信息的四元组;如需设置参数,传入包含 IP 地址、子网掩码、网关和 DNS 的四元组。例如:
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
LAN.config(config_parameters) ¶
获取或设置网络接口参数。当前仅支持设置或获取 MAC 地址。例如:
import network lan = network.LAN() # 设置 MAC 地址 lan.config(mac="42:EA:D0:C2:0D:83") # 获取 MAC 地址 print(lan.config("mac"))
WLAN 类#
参考文档: Micropython WLAN
此类为 WiFi 网络配置接口。示例代码如下:
import network
import time
SSID = "TEST"
PASSWORD = "12345678"
sta = network.WLAN(network.STA_IF)
sta.connect(SSID, PASSWORD)
timeout = 10 # 单位:秒
start_time = time.time()
while not sta.isconnected():
if time.time() - start_time > timeout:
print("连接超时")
break
time.sleep(1) # 请稍等片刻再连接
print(sta.ifconfig())
print(sta.status())
# 这里的断开网络,只是一个测试。实际应用可不断开
sta.disconnect()
print("断开网络")
print(sta.status())
构造函数#
class
network.WLAN(*interface_id*)创建 WLAN 网络接口对象。支持的接口类型包括
network.STA_IF(即站模式,连接到上游 WiFi 接入点)和network.AP_IF(即接入点模式,允许其他设备连接)。不同接口类型的方法有所不同,例如,只有 STA 模式支持通过WLAN.connect()连接到接入点。
方法#
WLAN.active()
查询当前接口是否激活
WLAN.connect(ssid=None, key=None, [info = None])
连接到指定
ssid或者info,info是通过scan返回的结果。仅
Sta模式可用WLAN.disconnect()
Sta模式时断开当前的 WiFi 网络连接。Ap模式时,可传入指定mac来断开设备的连接。WLAN.scan()
扫描可用的 WiFi 网络。此方法仅在 STA 模式下有效,返回的列表包含每个网络的信息,例如:
# print(sta.scan()) [{"ssid":"XCTech", "bssid":xxxxxxxxx, "channel":3, "rssi":-76, "security":"SECURITY_WPA_WPA2_MIXED_PSK", "band":"2.4G", "hidden":0},...]
WLAN.status([param])
返回当前网络连接的信息。当不传参数时,返回当前的连接状态。例如:
# 查看连接状态 等同与 sta.isconnected() print(sta.status()) # 查看连接的信号质量 print(sta.status("rssi"))
支持的配置参数包括:
Sta模式时rssi: 连接信号质量ap: 连接的热点名称
Ap模式时stations: 返回连接的设备信息
WLAN.isconnected()
返回是否连接到热点
仅
Sta模式可用WLAN.ifconfig([(ip, subnet, gateway, dns)])
获取或设置 IP 级别的网络接口参数。无参数调用时,返回包含 IP 地址、子网掩码、网关和 DNS 服务器的四元组;传入参数则设置这些值。例如:
sta.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
WLAN.config(param)
获取或设置网络接口的配置参数。设置参数时使用关键字参数语法;查询参数时,传递参数名即可。例如:
# 查看 auto_reconnect 配置 print(sta.config('auto_reconnect')) # 设置自动重连 sta.config(auto_reconnect = True)
支持的配置参数包括:
Sta模式时mac:mac地址auto_reconnect: 是否自动重连
Ap模式时ssid: 热点名称。传入该参数时会配置并启动热点,可同时使用key和security指定密码及安全类型key: 热点密码,加密模式下长度应为 8 到 64 个字符;开放模式下省略该参数security: 热点安全类型。配置时须同时传入ssid,也可通过ap.config('security')查询当前值info: 当前热点信息,仅可查询country: 国家代码
AP 模式常用的安全类型如下。具体可用类型取决于开发板使用的 WiFi 驱动,不支持的类型会导致配置失败并返回
False。SECURITY_OPEN: 开放热点,不使用密码SECURITY_WPA_TKIP_PSK: WPA-PSK(TKIP)SECURITY_WPA2_AES_PSK: WPA2-PSK(AES),推荐使用SECURITY_WPA2_MIXED_PSK: WPA2-PSK(AES/TKIP 混合模式)
创建 WPA2 加密热点:
import network ap = network.WLAN(network.AP_IF) result = ap.config( ssid='CanMV_AP', key='12345678', security=ap.SECURITY_WPA2_AES_PSK, ) print(result) print(ap.config('security'))
创建开放热点时省略
key,并将安全类型设为SECURITY_OPEN:ap.config(ssid='CanMV_Open', security=ap.SECURITY_OPEN)
未指定
security时,传入key默认使用SECURITY_WPA2_AES_PSK;未传入key默认使用SECURITY_OPEN。WLAN.stop()
停止开启热点
仅
Ap模式可用WLAN.info()
查询当前热点信息
仅
Ap模式可用
