network
— 网络配置
该模块提供网络驱动程序和路由配置。此模块中提供了特定硬件的网络驱动程序,用于配置硬件网络接口。然后,可以通过 usocket
模块使用已配置接口提供的网络服务。
函数
- network.phy_mode([mode])
设置PHY模式。定义的模式常量如下:
mode
MODE_11B
– IEEE 802.11b,1MODE_11G
– IEEE 802.11g,2MODE_11N
– IEEE 802.11n,4
WLAN类
此类为ESP32中的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
方法
- WLAN.active(is_active)
带有参数时,为是否激活,不带参数为查询当前状态。当激活WiFi功能后,功耗会增加。当不使用WiFi功能可使用 active
来真正关闭物理层的无线。
is_active
True
激活网络接口False
停用网络接口
- WLAN.connect(ssid, password)
使用指定的密码连接到指定的无线网络
ssid
:WiFi名称password
:WiFi密码
- WLAN.disconnect()
断开当前连接的无线网络。
- WLAN.scan([ssid,bssid,channel,RSSI,authmode,hidden])
扫描可用的无线网络(仅在STA接口上进行扫描),返回有关WiFi接入点信息的元组列表。
ssid
服务集标识。bssid
接入点的硬件地址,以二进制形式返回为字节对象。您可以使用ubinascii.hexlify()
将其转换为ASCII格式。channel
信道RSSI
信号强度authmode
AUTH_OPEN
= 0AUTH_WEP
= 1AUTH_WPA_PSK
= 2AUTH_WPA2_PSK
= 3AUTH_WPA_WPA2_PSK
= 4AUTH_MAX
= 6
hidden
False
可见True
隐藏
- WLAN.status()
返回无线连接的当前状态。
STAT_IDLE
– 没有连接,没有活动-1000
STAT_CONNECTING
– 正在连接-1001
STAT_WRONG_PASSWORD
– 由于密码错误而失败-202
STAT_NO_AP_FOUND
– 失败,因为没有接入点回复,201
STAT_GOT_IP
– 连接成功-1010
STAT_ASSOC_FAIL
– 203
STAT_BEACON_TIMEOUT
– 超时-200
STAT_HANDSHAKE_TIMEOUT
– 握手超时-204
- WLAN.isconnected()
在STA模式下,如果连接到WiFi接入点并具有有效的IP地址则返回True,否则返回False。
在AP模式下,当站点连接时返回True,否则返回False。
- WLAN.ifconfig([(ip, subnet, gateway, dns)])
不带参数时,返回一个4元组(ip, subnet_mask, gateway, DNS_server)。
ip
:IP地址subnet_mask
:子网掩码gateway
:网关DNS_server
:DNS服务器
带参数时,配置静态IP。例如:
wlan.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()
)。
这些包括特定于网络和硬件的参数。对于设置参数,应使用关键字参数语法,可以一次设置多个参数。
mac
MAC address (bytes)
essid
WiFi access point name (string)
channel
WiFi channel (integer)
hidden
Whether ESSID is hidden (boolean)
authmode
Authentication mode supported (enumeration, see module constants)
password
Access password (string)
对于查询,参数名称应该作为字符串引用,并且只有一个参数可以查询:
# Set WiFi access point name (formally known as ESSID) and WiFi channel
ap.config(essid='My AP', channel=11)
# Queey params one by one
print(ap.config('essid'))
print(ap.config('channel'))
Following are commonly supported parameters (availability of a specific parameter
depends on network technology type, driver, and MicroPython port).
示例
STA模式,接入WiFi网络:
import network
SSID = "yourSSID" #WiFi名称
PASSWORD = "yourPASSWD" #WiFi密码
wlan = network.WLAN(network.STA_IF) #创建WLAN对象
wlan.active(True) #激活界面
wlan.scan() #扫描接入点
wlan.isconnected() #检查站点是否连接到AP
wlan.connect(SSID, PASSWORD) #连接到AP
wlan.config('mac') #获取接口的MAC adddress
wlan.ifconfig() #获取接口的IP/netmask/gw/DNS地址
热点模式:
import network
ap = network.WLAN(network.AP_IF) #创建接入点界面
ap.active(True) #激活界面
ap.config(essid='micropython',password=b"micropython",channel=11,authmode=network.AUTH_WPA_WPA2_PSK) #设置接入点