Hello Nigel
I am sorry to bring this old reply up but I was just curious about how you wire it up to wake every 10 minutes. Do you have an interrupt set upor is there some clever way of waking it up. As far as my knowledge goes, one needs an interrupt, watch dog timer wake or reset to wake a processor up. Just curious about it
You simply run a wire between reset and GPIO 16, then run the instruction ESP.deepSleep(uS), where uS is the sleep time in microSeconds.
I define a constant at the start of the program, to make it easy to adjust:
const int UpdateInterval = 10 * 60 * 1000000;
That's obviously 10 minutes.
After ten minutes the device wakes up, and resets itself (via the aforementioned wire link) - then goes back to sleep. You don't have any code in loop(), as it never gets there - all code is in setup(), ending with the deepSleep instruction.
The Wemos D1 isn't a 'great' choice, as it has a USB chip on-board, a bare ESP8266 would be lower consumption, but it's not at all bad,
One extra point, I solder a small slider switch in place for the wire 'link', as you need to disconnect it from reset in order to program the Wemos. The later Wemos D1's even have solderpads for the link, so you can just solder a blob across it.
So basically it's
VERY simple to do, just a wire link and a single instruction.