本篇主要为熟悉ESP32开发模块,MicroPython。使用软件为:uPyCraft。
一、ESP32部分
采用的ESP32模块为某果云的,模组为ESP-WROOM-32。
ESP32模块有两种工作模式。
station模式: 当ESP32连接到其他路由器时,
access point模式:用于其他设备与ESP32连接
二、MicroPyhton网络基础
用以下语句指令,可创建两种工作模式的对象的实例:
import network
sta_if = network.WLAN(network.STA_IF)
ap_if = network.WLAN(network.AP_IF)
可使用以下指令检查工作模式是否有效,有效时返回值:True;无效时返回值:False
sta_if.active()
ap_if.active()
可使用以下指令输出网络信息,返回值为:IP地址、网络掩码、网关、DNS。
ap_if.ifconfig()
('192.168.137.5', '255.255.255.0', '192.168.137.1', '192.168.137.1')
三、ESP32 STA模式的WIFI配置
1.首先激活station接口:
sta_if.active(True)
2.连接到具体的WiFi网络:
sta_if.connect('<your ESSID>', '<your password>')
3.可使用指令检查连接是否成功:
sta_if.isconnected()
4.若不再需要热点接口,可使用以下方式禁用该工作模式:
ap_if.active(False)
下面定义了一个WIFI连接函数,可调用此函数(传入wifi名称及密码),便可自动连接到您的WiFi网络:
#开启STA模式,连接到路由器上,并打印IP地址信息
def connect_wifi(ssid, password):
import network
sta_if = network.WLAN(network.STA_IF)#创键STA对象
if not sta_if.isconnected(): #如果未连接
print('connecting to network...')
sta_if.active(True)#激活STATION接口
sta_if.connect(ssid, password)
while not sta_if.isconnected():
pass
print("network config:", sta_if.ifconfig())
connect_wifi('<your SSID>', '<your password>')#这里需要换成自己的路由器SSID名及wifi密码