You want to build a low power application that will run off batteries and every so often you want it to connect up to your network and send some data.
First you try a Parallax-ESP unit and find that it uses about 100ma of power and is always on. This can eat a battery fast. The esp8266 modules do have a sleep mode but in its configuration is not usable. The unit goes to sleep and then wakes up and tries to reboot itself and gets lost. Even the ESP01 units have to have a wire connected to a pin for this option to work.
Well how about using a XBEE WiFi module. These unit have an AT command structure and can be program outside of your application. Using the DIGI XCTU application you can get the configuration of these unit and even setup all the connection information it needs to use your WiFi network. Even better is that is has a sleep mode that uses no power while it's sleeping. You can set the sleep time and wake time and the unit will cycle through these events. Even better is if you monitor the CTS pin on the unit you can see when the unit is awake so you can package up your data and send a burst of data.
When the unit is awake though it does use a lot of power so limiting that time is important.
You may want to check these units out: XBEE WiFi Module