2.2 network 模块API手册
前言
概述
本文档主要介绍network模块API。
读者对象
本文档(本指南)主要适用于以下人员:
- 技术支持工程师
- 软件开发工程师
缩略词定义
简称 | 说明 |
---|---|
修订记录
文档版本号 | 修改说明 | 修改者 | 日期 |
---|---|---|---|
V1.0 | 初版 | 软件部 | 2023-11-09 |
1. 概 述
本模块主要用于配置查看网络参数,配置完后才可以使用socket模块。
2. lan api
详见:https://docs.micropython.org/en/latest/library/network.LAN.html
此类为有线网络配置接口。用法示例:
import network
nic = network.LAN()
print(nic.ifconfig())
# now use socket as usual
...
2.1构造函数
-
classnetwork.LAN()¶
创建有线以太网对象。
2.2方法
-
LAN.active([state])¶
如果传递布尔参数,则激活(“向上”)或停用(“向下”)网络接口。否则,如果没有提供参数,则查询当前状态。
-
LAN.isconnected()¶
返回
True
如果连接到网络,否则返回False
。 -
LAN.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'))
-
LAN.config(config_parameters)¶
获取或设置网络接口mac地址,例如:
import network
lan=network.LAN()
#设置网口mac地址
print(lan.config(mac="42:EA:D0:C2:0D:83"))
#查看 网口mac地址
print(lan.config("mac"))
2. wlan api
详见:https://docs.micropython.org/en/latest/library/network.WLAN.html
此类为 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
构造
- classnetwork.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, password=None, bssid=None)
使用指定的密码连接到指定的无线网络。如果给出 了bssid,则连接将被限制为具有该 MAC 地址的接入点(在这种情况下还必须指定ssid)。
-
WLAN.disconnect()
断开当前连接的无线网络。
-
WLAN.scan()
扫描可用的无线网络。扫描只能在 STA 接口上进行。返回包含 WiFi 接入点信息,内容类似如下。
#print(sta.scan())
bssid / frequency / signal level / flags / ssid
da:c5:47:12:80:ab 2462 -30 [WPA2-PSK-CCMP][ESS] Redmi Note 11 Pro
72:a8:d3:ab:c8:2c 2412 -42 [WPA2-PSK-CCMP][WPS][ESS] wifi_test
e4:4e:2d:42:ee:60 2412 -61 [WPA2-EAP-CCMP][ESS] CAN
e4:4e:2d:43:0a:a1 2437 -61 [WPA2-EAP-CCMP][ESS] Canaan
e4:4e:2d:43:0a:a4 2437 -61 [WPA2-PSK-CCMP][ESS] -
WLAN.status([param])
返回无线连接的当前状态。当不带参数调用时,返回值描述网络链接状态,类似内容如下:
#print(sta.status())
bssid=c6:b5:b6:86:64:d7
freq=2462
ssid=wjx_pc
id=2
mode=station
wifi_generation=4
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.137.221
p2p_device_address=0a:fb:ea:2b:7b:1a
address=08:fb:ea:2b:7b:1a
uuid=f483700c-e90e-58a6-90f5-8d8312ec7412 -
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 SSID) and WiFi channel
ap.config(ssid='k230_ap_wjx', channel=11, key='12345678')
# Query params one by one
print(ap.config('ssid'))
print(ap.config('channel'))以下是支持的参数:
参数 描述 mac MAC地址(字节) (bytes) ssid WiFi 接入点名称(字符串) channel WiFi通道(整数) hidden SSID 是否隐藏(布尔值) password 访问密码(字符串)