我正在使用 esp8266 构建 IR 到 wifi 桥接器。基本上,我正在构建一个连接到红外遥控器内的 esp8266 的红外接收器,以通过 wifi 将接收到的红外远程按键转发到服务器。我使用的是 Wemos D1 Mini。
我已经让 IR 解码和网络转发部分正常工作,但它始终处于开启状态,这会消耗大量电池,特别是考虑到 99% 的时间没有按下任何按钮。
我希望它在一段时间内没有按下按钮时进入深度睡眠。
如果我将IR接收器连接到RST引脚,这可以将esp从深度睡眠中唤醒,但这样做的问题是,随着IR不断进入,它会不断地重置esp,这将使esp无法使用实际解码 IR 命令,因为它不断被重置。
我需要它通过 RST 将 esp 从深度睡眠中唤醒,然后忽略进一步的 RST 激活,直到我以编程方式再次将其发送到深度睡眠。
我真正需要的是一个适当的 gpio 中断,这样我就可以忽略进一步的重置,直到进入深度睡眠状态,但据我所知 esp8266 不支持从深度睡眠中唤醒 gpio 中断。
我需要某种可重置的一次性触发器,只发出一次重置,直到你告诉它你要再次睡觉。
我不确定我如何能够实现这个?有人有主意吗?我宁愿不必使用另一个外部微控制器来重置 esp8266,而且遥控器内部的空间也很紧张,所以我不想使用很多外部部件。
这是我用来允许一次性中断从 ESP8266 深度睡眠中唤醒的电路。它的工作原理是仅在深度睡眠定时器激活(D0 被拉低)后才允许中断复位。对深度睡眠功能设置一个短暂的超时,以便立即启用中断。
经过一些测试,我发现上面的电路并没有像我想象的那样省电,因为它只是阻止芯片启动,但 ESP 的内部部分处于活动状态并消耗大约 15ma 等待复位。这比深度睡眠时的 60ua 多得多!
如果您的信号在激活后保持几秒钟(例如 PIR 运动传感器),那么下面的电路可能会起作用。它使用电容器仅允许边沿触发,然后运行代码可以检查 GPIO4 上的输入信号。然而,由于 ESP8266 最大睡眠时间约为 1 小时,整体功耗仍然不佳。这意味着 ESP8266 仍会唤醒并使用 15ma 几秒钟,然后再返回睡眠状态。在 5 分钟的深度睡眠周期中,1500mah 的电量可以维持大约 5 天。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)