Soladin600 PV monitor

In April this year (2020) a friend of mine asked if I could make a device that monitors his more than 10 years old Solar System (Photo Voltaic). The power converter of this system has a RS232 port to communicate with the converter (not shown in this photo of the Soladin 600).

One small problem: his house and system was on the other side of The Netherlands and with COVID-19, it was obvious I could not visit him soon.

Building an interface

So I build an Orange Pi Zero with RS232 level converter and send it by mail with some instructions. I used ZeroTier (http://www.zerotier.com) to make a VPN/SDN connection after installation.

Orange Pi casing

Data caption

I wrote a Java program (with info from others) to read out the Soladin600 converter and write this info to a csv file. Every 15 minutes data is read from the Soladin600 and every day a new csv file is created.

Data presentation

To display the data I used the programming language R and the Shiny server to create a frontend to give a representation of the data. In the next pictures the different (Dutch) pages are shown. A Day, Week, Month, Year and lifetime overviews a available.

Challenges

One of the challenges was to get R and Shiny working on the Orange Pi Zero. The memory is limited and to install R and some modules it was necessary to compile code and have more memory available. I solved this by temporary adding some virtual memory by using a swapfile.

The Orange Pi doesn’t have a powerful processor, so the response is not fast, but fast enough to work with. If you should want a faster response, you can use an other type of Single Board Computer

Cost

ItemSuplier   € Remark
Orange Pi Zero LTS H2+ Quad Core Open-source 512MBAliExpress13,00 Includes transport costs
AK-RS232 – TTL to RS232 Converter – Without plastic case, MaleArtekit Labs 7,81 Includes transport costs
SanDisk micro SDHC kaart 16 GBAction  6,95 
Power adapter, cabling etc  9,99 
Total cost37,75 

Leave a Reply

Your email address will not be published. Required fields are marked *