常用语法如下
python
import network
wlan = network.WLAN(network.STA_IF) #创建工作站接口
wlan.active(True) #激活接口
Wlan.scan() #扫描接入点
wlan.isconnected() #检查站点是否连接到AP
wlan.connect('ssid', 'key') #连接AP wifi名称与密码
wlan.config('mac') #获取接口的mac地址
wlan.ifconfig() #获取接口的IP/netmask/gw/DNS地址
# AP热点模式
ap = network.WLAN(network.AP_IF) #创建接入点接口
ap.config(ssid='ESP-AP') #设置接入点的ssid
Ap.config (max_clients=10) #设置可以连接到网络的客户端数量
ap.active(True) #激活接口
连接wifi
封装函数,运行后ESP32将连接到名称为test的wifi,wifi密码为12345678
默认始终重新连接,指导连上为止
python
def do_connect():
import network
wlan = network.WLAN(network.STA_IF) # 创建一个名为wlan的无线局域网对象,使用network.STA_IF作为其接口
wlan.active(True) # 激活wlan对象,使其处于活动状态
if not wlan.isconnected(): #检查wlan对象是否已连接到网络。如果没有连接,则执行以下代码块。
print('connecting to network...')
wlan.connect('test', '12345678')
while not wlan.isconnected(): # 使用while循环检查wlan对象是否已连接到网络。只要尚未连接,就会一直执行循环内的代码。
pass
print('network config:', wlan.ifconfig())
mac = wlan.config('mac')
mac_address = ':'.join(['{:02x}'.format(b) for b in mac])
print('mac:', mac_address) # 打印设备的mac地址
延迟和定时
python
import time
Time.sleep(1) #休眠1秒
Time.sleep_ms(500) #休眠500毫秒
Time.sleep_us(10) #睡眠10微秒
Start = time.ticks_ms() #获取毫秒计数器
Delta = time.ticks_diff(time.ticks_ms(), start) #计算时间差
实时时钟 (RTC)
python
from machine import RTC
rtc = RTC()
rtc.datetime() # get date and time
WDT(看门狗定时器)
python
from machine import WDT
# 启用WDT,超时时间为5s(最小为1s)。
wdt = WDT(timeout=5000)
wdt.feed()