Anyone trying to do wireless with low power should be using other protocols. Zigbee, Bluetooth, Z-Wave, ANT... anything but WiFi. I mean, WiFi just wasn't designed for low-power like these other protocols.
Hell, you might do better with LoRa (long-range, ~3-miles) signals than WiFi.
> Other ESP8266 dev boards (e.g. D1 Mini, NodeMCU) do support waking up from Deep Sleep. But these dev boards often contain a voltage regulator which consumes a quiescent current. On my D1 Mini boards, I get about 0.22 mA in Forced Deep Sleep mode. In theory, that's enough for 1 year of life on a single charge of a 2000 mAh battery. But waking it up every 15 minutes, for 5-6 seconds of WiFi time, reduces the battery life to about 4-5 months. At this point, the active power usage during the 5-6 seconds of WiFi is already 2X the power consumption of the 15 minutes of Deep Sleep, so I have not attempted to reduce the idle consumption any further.
Have you tried going even slower? You can cut your current usage in half by going every 30-minutes, and then in a quarter by connecting every 60-minutes (etc. etc.) until your current consumption is as low as you want.
There are practical limits (is one connection per day sufficient?), but 15 minutes still has some leeway depending on the application.
If you need low-power but still wireless and more updates than that... having a faster-to-initialize and lower power usage to boot (10mA for those 30ms, rather than for 100mA for 2000mS), you'll grossly cut down your power consumptions.
You are not wrong about WiFi. But sometimes worse is better. :-)
With WiFi, I don't need any other technology stack, no hubs, no bridges. I can use my existing network infrastructure. The data packets from the ESP8266 devices get delivered directly to the MQTT broker over TCP/IP over WiFi. It's cheap (~$3 for a D1 Mini), dead simple, and good enough.
Every 15 minutes seems about right for temperature/humidity sensors. Increasing it beyond 15-30 minutes becomes a diminishing return, because at that point, the Deep Sleep power usage becomes greater than active WiFi usage.
Yeah, obviously getting the project done is highest priority. So if it works, and you're at .5 mA average, its good enough.
Still though, WiFi's specs are pretty awful. It bothers me to see such huge numbers whenever people talk about WiFi. And since we're in tiny microcontroller land, its not like any of us are actually tranferring GBs or MBs of data. We're all just passing a few kB, so much slower protocols (ex: Zigbee) are very reasonable.
Things start to get silly below the 500uA levels anyway. You start worrying about aluminum capacitors with 22uA leakage current and such... and realizing you need to upgrade to Tantalum capacitors with specified 2uA or 1uA leakage.
Anyone trying to do wireless with low power should be using other protocols. Zigbee, Bluetooth, Z-Wave, ANT... anything but WiFi. I mean, WiFi just wasn't designed for low-power like these other protocols.
Hell, you might do better with LoRa (long-range, ~3-miles) signals than WiFi.
> Other ESP8266 dev boards (e.g. D1 Mini, NodeMCU) do support waking up from Deep Sleep. But these dev boards often contain a voltage regulator which consumes a quiescent current. On my D1 Mini boards, I get about 0.22 mA in Forced Deep Sleep mode. In theory, that's enough for 1 year of life on a single charge of a 2000 mAh battery. But waking it up every 15 minutes, for 5-6 seconds of WiFi time, reduces the battery life to about 4-5 months. At this point, the active power usage during the 5-6 seconds of WiFi is already 2X the power consumption of the 15 minutes of Deep Sleep, so I have not attempted to reduce the idle consumption any further.
Have you tried going even slower? You can cut your current usage in half by going every 30-minutes, and then in a quarter by connecting every 60-minutes (etc. etc.) until your current consumption is as low as you want.
There are practical limits (is one connection per day sufficient?), but 15 minutes still has some leeway depending on the application.
If you need low-power but still wireless and more updates than that... having a faster-to-initialize and lower power usage to boot (10mA for those 30ms, rather than for 100mA for 2000mS), you'll grossly cut down your power consumptions.