I am working on creating a remote solar-powered station that will report weather data from a location in Canada using a cellular connection. At the heart of it will be a Raspberry Pi Zero W running in headless mode. It connects to the weather station and then will send the data to the Weather Underground over the internet. The location is on a pretty remote island; it is just withing cell coverage, but with no commercial services at all, particularly no power. The location is occupied much of the time in summer, but during the winter - from about October until May there will be no one at the location at all.
This presents a number of problems for a system that has to function without any local interaction; there will be no one to power cycle the devices, look to see if any lights are lit, and there will be no one to push a reset button if that is needed. The entire system has to be setup so that it can do these things and act autonomously to recover from all sorts of situations that might arise. For instance, after the snow falls, the solar panel may get covered and stop producing power; weather may also cause it to lose connection to the cellular internet.
This means adding some smarts to the system to detect when these states might happen. To those ends, I have purchased a current and voltage monitor board, a solar charge controller, a real time clock module and a USB extension board for the Zero. For cellular connectivity, I will be using a link to the T-Mobile coverage in Canada - on the island it is limited to 3G, but since the data being transmitted is simple weather data, it should work fine.