Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。
Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台
Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。
Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。
micropython esp32睡眠与唤醒
最近想要研究一下esp32的睡眠与唤醒,原因很简单,看图:
如图可见,light-sleep的电流只有平常工作的150分之一!!!,而deep-sleep都几乎可以跟关机持平了,如果是采用电池的项目又对续航有要求的话,那么对睡眠的需求可以说是非常高了,不过前提是工作时有长时间的休眠等待状态,一直在跑的不用考虑这个功能了。
于是上网搜了一下,esp32睡眠,又全是c的,几乎没有micropython的,直接去micropython官网查了docs,结果只有睡眠的,唤醒只给了理论没有具体代码。。。micropython国内的资源真是太少了,从事这个的很少吗?还是大佬都很低调不发博呢?
求人不如求己,翻遍全网找了方法并且实验成功,上代码:
#by:jd3096 20210722 import machine,esp32 from machine import Pin import time wake1 = Pin(14, mode = Pin.IN) #level parameter can be: esp32.WAKEUP_ANY_HIGH or esp32.WAKEUP_ALL_LOW esp32.wake_on_ext0(pin = wake1, level = esp32.WAKEUP_ALL_LOW) print('Im awake. Going to sleep in 2 seconds') time.sleep(2) print('Going to sleep now') time.sleep_ms(100) #这里不加延迟的话打印到一半就睡了。。。真羡慕esp32的睡眠速度 machine.lightsleep() #OR machine.deepsleep()
简单讲解:
1.睡眠 分为 lightsleep 和 deepsleep 层级不一样
2.唤醒方式 ext0 ext1环境 RTC唤醒 WLAN唤醒
ext0 ext1的区别是 ext0是单pin ext1是多pin 而且这个pin是有要求的不是随便一个Pin都可以,多试几个吧
3.可以获取唤醒原因,有5个常量表示
来源:https://blog.csdn.net/jd3096/article/details/118991113
Copyright © 2014 ESP56.com All Rights Reserved
执行时间: 0.012019872665405 seconds