My initial plan involved using the SparkFun ESP8266 WiFi Shield for communication. Over the past few weeks, I've learned a lot about that shield. Most of the stuff I learned required piecing together things from a variety of sources - there was no one reference for it. So, hopefully it's useful to you as well. Sadly, I also learned that the few boards I ordered have an unreliable U.fl port, and are therefore unsuited to my needs.
My wireless moisture sensor project, on paper, is reasonably simple. Some moisture sensors, an Arduino to read them, a solar panel, a charge controller, a power supply, and a wireless gizmo to talk to my network.
However, I've spent weeks trying to make the assembly work reliably. It would work on my desk, then fail in the project box. Or work in the project box and fail on my lawn. It was difficult to reproduce the problems, since they didn't show up on the device side logs, and I couldn't get much out of the device over serial - I was left troubleshooting from my access point (which, fortunately, has good logs). I finally determined that the problem was with the U.fl connector on these shields. I also found that some other ESP8266 modules had a nicer power control interface, so I built myself a shield from one of those and went on with the project.
Read on for lessons learned. May they help you avoid hours of wasted time.