【ESP32运行MicroPython】连接无线网络、延迟和定时、实时时钟 (RTC)、WDT(看门狗定时器)

常用语法如下

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()
相关推荐
不瘦80斤不改名15 分钟前
05-vibe-coding-向agentic-engineering演进
人工智能·笔记·python·prompt
笨鸟先飞,勤能补拙36 分钟前
AI 安全的下一个 5 年:从 Agent 到 AGI 的攻防博弈
人工智能·python·安全·web安全·网络安全·github·agi
Logintern091 小时前
LangSmith如何根据id关系,在服务端把扁平列表重建为树形结构,用于页面渲染Trace视图
python
月光船幽幽1 小时前
呼吸孔设计重塑系统稳定性
python·科技·算法
Bryce学亮1 小时前
FileLine,基于 Qt 6 + QML 构建的跨平台文件传输与即时通讯工具
数据库·c++·人工智能·python·qt·github
拿铁铁1 小时前
2026实操场景下平板坡口机噪音问题注意事项梳理汇总
python·电脑
夜雪一千2 小时前
Python从HTML提取纯文本、去空格、比对内容是否变化:方案+合理性分析
开发语言·python·html
Zane19942 小时前
同一个 list 为什么能被两个 for 循环同时遍历?一文讲透可迭代对象与迭代器的真相
后端·python
月走乂山3 小时前
零依赖 GUI:把 OpenCode CLI 变成可视化 AI 任务流水线
python·自动化·ai编程·tkinter·opencode