ESP8266 nodemcu- power concumption

I am working on a project using an ESP8266 nodemcu board, and a reed switch. I need to power the board using batteries, as it will not have easy access to power. I hooked up 3 AA(1.5v) to it, and it was working fine all of yesterday. This morning, it does not work, and it would appear I drained the batteries.

I am looking for a way to run it, and conserve power. I have thought of the following solutions, and would appreciate any feedback: 1) turn off wifi and when a change is detected in the switch turn it back on to log the change. 2) deep sleep, basically the same as the other one but using a deep sleep.

I have done the preliminary searching on the methods, but would also like some feedback as if i am heading in the right direction or not. Is it also possible to get the current power left in the batteries to print out?

For information on power consumption of ESP8266 you can take a look here:
ESP8266 Power Consumption
My experience with ESP on batteries (2 AA) without sleep mode: it will lasts several hours, but less than a day.

There are different sleep modes and with “deep sleep” the consumption is 10µA only.
If this kind of sleep mode will work with your project you have to find out.
It may be difficult if the ESP has to react to information that will be sent to it. It may be easy if the ESP has only to recognize let’s say a button press or something similar and transmit this information.

In general: Sleep mode is a pretty effective way to reduce power consumption. I have used this method in different projects with micro controllers (not yet with ESP). Depending on the task it can last pretty long with small batteries.

Regarding your question about monitoring the “power left in the batteries”.
The ESP has an analog input (range: 1 volt). You can measure the voltage of the batteries (use a voltage divider). This can give you an idea when changing batteries will be necessary.

I would suggest the excellent video articles here. Especially videos #47, #58, #91 and #101.