我将在这篇文章的开头加上一个事实,即我一直在此处和其他
论坛上寻找针对我的特定问题的解决方案大约一个星期,并且我已经尝试并丢弃了我已经找到的所有“解决方案”发现... 所以请不要以为我只是没有仔细看。
我正在做很多其他人似乎已经尝试过的事情(成功率有限),那就是制作一个电池供电的环境传感器,将温度和湿度数据发布到网络上。我们似乎都想做的是使用 DeepSleep 功能每隔几分钟唤醒一次采样、发布,然后再回到睡眠状态。根据似乎有多少人想要这样做,我很惊讶目前还没有一个简单的解决方案。
我只将 GPIO4 和 GPIO5 用于
通信,并用电线将 GPIO16 跳转到 RST。
没有其他联系。所以 GPIO0 和 2 有上拉,GPIO15 有下拉。
我的具体问题是,时不时地,当 8266 从深度睡眠中醒来时,它并没有重新启动,而是进入了类似于引导加载程序状态的模式,尽管它实际上并没有运行引导加载程序。这可能会在 10 分钟或 10 小时后发生。它看起来是随机的。
当发生不良唤醒时,红色 LED 以一半亮度点亮(就像在引导加载程序模式下)但它不会加载程序,并且按下重置按钮不会使它退出该状态。事实上,将其取出的唯一方法是将其断电。
无论我是否连接了终端,都会发生这种情况。如果我连接了终端,我可以在唤醒发生时看到典型的垃圾,但之后什么也看不到。如果我点击重置,我只会得到同样的垃圾。
如果我测量 GPIO2,我看到 1.8V,这解释了我猜 LED 点亮的原因。
我正在使用 Arduino IDE,我刚刚下载了最新的 Arduino 1.8 和最新的 ESP 内核(我记得是 3.0)。然而,当我拥有 1.5.6 版本时,这种情况就发生了。
我尝试了不同的重启连接 (GPIO16-res),例如电阻器和二极管。我也试过给重置线添加一个上限,但它仍然失败。
有没有人有任何具体的建议来解释我所看到的,或者我能做些什么?
0