Solar energy offers a clean, climate-friendly, very abundant and inexhaustible energy
resource. Photovoltaics utilize solar cells to convert energy from the sun into a flow of electrons by the photovoltaic effect. An energy system consisting of photovoltaics, various devices and a battery bank lets the directly used energy flow to the consumer through itself and draws power from the power grid, only when the usable energy of the battery is depleted, and the current photovoltaic capacity is no longer sufficient. The components of such a system are interconnected, and to monitor, control and display the actual system state an intelligent control unit is required.
The Smart Energysystems International AG offers reusable energy management systems and I was given the task by the company to support the development of an aforementioned controller. A single board computer unit was chosen for the purpose of control unit. It is connected to the system via a serial bus using the Studer Xtender Serial Protocol, and can read and update every parameters of the attached devices. It also measures the actual input-output current of the system with maximum 4 sensors. During my work I developed a program in C++ (called Backend) that implements the protocol and lets the other unrelated processes in the embedded Linux environment access and modify the parameters of the system based on a client-server model, while race conditions are avoided. I also developed a program that connects the Backend to a webserver running on the same computer. Based on this program a spectacular web-site can be created (in the users home network) that displays the system state for the user and lets the non-restricted system parameters be modified. Another already implemented usage of the Backend is serving a graphical user interface displayed on the screen attached to the board.