news 2026/6/25 5:28:36

“休眠当关机”,实现不动硬件的一键开关机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
“休眠当关机”,实现不动硬件的一键开关机

方案选择(按硬件改动量从小到大)

方案 A:板上已经有一个按键接到 GPIO(最理想,0 改硬件)

你只要确认这个 GPIO 是RTC GPIO(S3 支持 EXT0/EXT1 唤醒的那类脚),然后固件做:

  • 短按:正常业务(或开机进入系统)

  • 长按 2~3 秒:保存状态 → 进 deep sleep

  • 休眠中按一下:GPIO 触发唤醒 → 开机

✅ 优点:不动硬件
⚠️ 前提:你确实有一个“按键=GPIO”,而不是只有 EN 键


方案 B:只有 EN 键(需要最小飞线/改一个电阻位)

如果你现在唯一的按键就是 EN 复位键,那没法做“休眠唤醒键”,因为:

  • 休眠时芯片已经停了,按 EN 只会复位;

  • 复位 ≠ 唤醒逻辑(也无法区分短按/长按“关机”)

此时最小改动是:

  • 仍然保留 EN 键做复位

  • 再加一个小按键接到某个 RTC GPIO(甚至飞线焊一个贴片按键都行)

✅ 这是“最低代价换来一键开关机体验”的现实做法。


固件实现步骤(不依赖 UI,通用)

1)选一个“唤醒按键 GPIO”

要求:

  • 必须是RTC IO(能做 EXT0/EXT1 唤醒)

  • 不要用启动绑带脚/关键外设脚(比如你正在用的 USB/屏/flash 等)

如果你告诉我:你现在空闲的 GPIO 列表(或原理图全图),我能直接帮你选最安全的那一个。

按键接法建议(最稳):

  • 按键一端接GPIO

  • 另一端接GND

  • GPIO 开内部上拉(不加外部电阻也能跑)

  • 休眠唤醒用低电平唤醒


2)长按关机逻辑(运行态)

  • 轮询或中断都行,建议用轮询+去抖更简单可靠

  • 连续按下超过 2s → 执行go_to_sleep()

go_to_sleep()要做三件事:

  1. 关掉 Wi-Fi/BLE,停止不必要外设

  2. 配置唤醒源(EXT0/EXT1)

  3. esp_deep_sleep_start()


3)唤醒后区分“第一次上电”还是“按键唤醒”

用:

  • esp_sleep_get_wakeup_cause()

唤醒后你可以:

  • 如果是按键唤醒:正常进入系统

  • 如果是上电复位:也正常进入系统(可显示不同开机动画)

  • EXT0 唤醒脚必须是 RTC IO
    否则配置成功但无法唤醒/或者直接报错。

  • 按键电平要和唤醒 level 对上
    你是“按下接地”就用ACTIVE_LEVEL=0+ 上拉。

  • 外设没断电也会耗电
    deep sleep 很省,但如果你的屏、电源IC、传感器一直供电,整机电流可能仍然很高。

  • 如果你只有 EN 键
    真正“一键体验”必须新增一个 GPIO 按键(飞线都行),否则只能“复位键=重启”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 19:05:37

adb: unable to connect for root: more than one device/emulator

意思是 当前 ADB 同时连着不止一个设备/模拟器,所以 adb root 不知道该对哪一台执行。解决方式就是 先列出设备,然后 指定目标设备序列号 再执行。 1) 先看当前连了哪些设备 bat adb devices -l 你会看到类似: text List of devices attachedemulator-5554 device ..…

作者头像 李华
网站建设 2026/6/15 18:20:28

破局增长!AI+本地化双轮驱动客户管理,软件公司CRM应用实战指南

——从客户管理到智能决策,打造高效增长引擎 一、软件公司为何必须拥抱CRM? 在需求迭代加速、客户价值深化的今天,传统Excel微信的管理模式正成为软件企业发展的桎梏: 客户资产流失风险:项目信息散落于个人电脑/群聊&a…

作者头像 李华
网站建设 2026/6/17 8:42:36

详解银狐远控源码中那些C++编码问题

特别申明: 本文内容仅限于用作技术交流,请勿使用本文介绍的技术做任何其他用途,否则后果自负,与本号无关。 原始的银狐远程控制软件中,存在大量C编码问题,大多数错误都属于低级错误。这些错误造成银狐远控…

作者头像 李华
网站建设 2026/6/13 20:05:30

入校申报审批系统的设计与实现毕业论文+PPT(附源代码+演示视频)

文章目录入校申报审批系统的设计与实现一、项目简介(源代码在文末)1.运行视频2.🚀 项目技术栈3.✅ 环境要求说明4.包含的文件列表(含论文)数据库结构与测试用例系统功能结构后端运行截图项目部署源码下载入校申报审批系…

作者头像 李华