![]() So there are only 31 bits for the number of sleep cycles. And deep sleep can be not longer than 231 - 1 cycles. With 'cali systemrtcclockcaliproc ()/ (212)' you get the RTC cycle duration in µs. The 470 Ohm (or 1K) resistor also works, but it depends on the neighboring component values. In the espressif documentation I found that the sleep time is limited by the esp8266 design. It is also possible to wake up from predefined sleep time esp.deepsleep(time). The device wakes up reads the values from the bme280 and sends them via MQTT. No GPIOs need to be linked on ESP32 to enable deep sleep like they do on ESP8266. This sensor is very power efficient only drawing a few uA when idle and a couple of mA when being read. With this configuration it is possible to wake up the mcu from esp.deepsleep(0) by either pressing the tact button or by opening the magnetic switch. How to use Deep Sleep with bme280 and esp32. * SOLUTION: The trick is to add a (schottky) diode between the RST and GPIO16 (see updated circuit). Is it necessary for ESP8266-07 (or 12) to connect GPIO16 to RST (like we do for esp-01) in order to be able to use the deep sleep function for a predefined time period? Could someone propose how the ESP07 should be connected correctly? There is a lot of contradicting info on the Internet. Of course after disconnecting GPIO16 from RST, it is not possible any more to wake up from a predefined period deep sleep (in case that this is needed), e.g. I suppose that the GPIO LOW is not low enough to reset the mcu, because RST is pulled up to VCC. I realized that it is impossible to wake from ESP.deepSleep(0) using the magnetic reed switch, except if I disconnect GPIO16 from RST.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |