System Documentation
Hardware: What is a solar server?
Each solar server is composed of two main components: a 50W photovoltaic panel (PV) for harnessing the sun and a weatherized enclosure containing all the server equipment. The hardware inside the enclosure includes an MPPT charge controller that translates the power of the sun into electrical charge for the 12V battery which, when successfully charged, wakes up and brings online the RaspberryPi single-board computer hosting the local web content. The hardware also includes in-line fuses and in-line circuit breakers to protect each component of the circuit, and the NEMA-rated enclosure is retrofitted with rugged vents and glands to withstand a wide range of temperatures and different kinds of environments.
Software
The networking and the network API is built with PHP. Each RaspberryPi generates this website using Jinja templating. We are running Apache servers.
We decided not to use any Javascript on the frontend of this website and so all of our visualizations are generated server-side using python libraries such as MatPlotLib. Where possible, the generation of the visual assets on this site are done on the server rather than in the browser. We adopted this as an approach that fosters accountability for our design decisions. We know that the computational cycles required to generate our imagery are powered by solar energy rather than potentially powered as fossil energy in the browser. This design approach also minimizes the energy consumption for the user.
- Code is still in development. This work is open-source and shared on Github.
- Stewards: Login to an admin panel to view your server data.