Loggen van een Aurora omvormer via TCP-IP netwerk met Raspberry Pi als webserver waar 123Solar op draait. Als converter tussen RS485 en het netwerk gebruiken we een ATC-1000, uploaden naar PVOutput - Complete installatie handleiding
text: Jacques Vanhaverbeke, met dank aan: Curtronics, Jean-Marc Louviaux, Roland Breedveld e.a.
Inleiding:
Na heel wat omzwervingen heb ik mijn logging aan de praat gekregen, heel veel gevonden op internet, maar ook heel weinig pasklare oplossingen, Veel halve waarheden gelezen... Veel gemeten en geëxperimenteerd en dat wil ik delen met jullie.
Mijn installatie bestaat uit een Power One Aurora inverter PVI5000OUT-S met 2 strings van 11 panelen GermanPV 250Wp, Een tweede installatie met 18 panelen Trina 230Wp op een SMA SB3800 omvormer die nu logt via een Sunnybeam. De bedoeling is deze ook aan te sluiten mits een RS485 piggyback maar die heb ik nog niet.
De Aurora omvormer heeft een RS485 uitgang die aangesloten is op een ATC-1000 converter (https://www.conik.biz/webwinkel/pub/ATC-1000.pdf ) die de seriële bus omzet naar een lokaal vast netwerkadres (in mijn geval 192.168.1.14) en een Raspberry Pi met een SD kaartje van 8GB, (te koop bij Farnell) waar Raspbian Wheezy op geïnstalleerd is. Die Raspi heeft ook een vast ip, nl. 192.168.1.5 Op die manier weten we altijd zeker dat beide toestellen altijd op die adressen bereikbaar zijn. In mijn geval was dit de interessantste configuratie, gezien ik overal netwerkbekabeling heb en ook alles zo een beetje kan plaatsen waar ik wil.De belangrijkste reden om voor de Raspberry Pi te kiezen was gewoon het stroomverbruik en de prijs: 2 watt en 38 euro ... Als je een oude computer moet inschakelen daarvoor mag je gerust enkele panelen meer leggen om alleen dit verbruik te compenseren en dat zal wel de bedoeling niet zijn ...
Wat hebben we nodig om te loggen:
een ATC-1000 convertereen Raspberry Pi model B met een SD kaartje van 8GB met wat gratis softwarewat utp kabelSamen nog geen 100 euro … én gegarandeerd véél plezier ervan.
Hardware installatie:
Middels wat utp kabel verbinden we de ATC-1000 met de omvormer, respectievelijk oranje aan TX+ naar TX+; oranje/wit aan TX- naar TX-, RTN van de omvormer gaat via een parallel paar blauw en wit/blauw naar GND op de ATC-1000. Uiteraard 12V voeding en een netwerkkabel aan onze ATC-1000. Peanuts dus,Nu nog onze Raspberry Pi aan het netwerk aansluiten, en we kunnen beginnen aan de software.
Software Installatie:
1. De ATC-1000
Lees eerst ook de handleiding eens van de ATC-1000!!!
Eerst configureren we onze ATC-1000. Dit gebeurt via je webbrowser.We geven die eerst een vast IP adres, stellen in het tabblad TCPip het volgende in:
Telnet/server/client: Server aanvinkenPort Number: 8000Remote Server IP address: 192.168.1.14Client mode inactive timeout: 0Server mode protect timeout: 0
en drukken dan op UPDATE
Dan gaan we naar het tabblad UARTEn stellen daar het volgende in:Mode: RS485Baudrate: 19200Character bits: 8Parity Type: 0Stop bit: 1Hardware Flow control: none
de rest laten we zoals het is en drukken op UPDATE
Je kan uiteraard in het tabblad ADMINISTRATOR SETTING ook nog je paswoord wijzigen, als je dat nodig vindt.
Daarmee is onze ATC-1000 geconfigureerd. Daar zijn we al van af!
2. De Raspberry Pi
We kunnen rechtstreeks op de Raspi werken of ook headless zoals men dat noemt. Ik ben voorstander om headless te werken, je zal verder wel ondervinden waarom.
Eerst en vooral hebben we op een windows computer het programma PuTTY nodig: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlMiddels PuTTY kunnen we communiceren met onze Raspberry Pi (die ik verder Raspi zal noemen).We starten PuTTY en vullen bij Host Name het ip adres van de raspi in, poort 22 en SSH aanvinken, als alles goed is vraagt de Raspi naar gebruikersnaam (pi) en paswoord (raspberry)
En nu kunnen we beginnen aan de software: Let goed op!!! spaties, hoofdlettergebruik, Linux is daar heel gevoelig aan! Hieronder de code die je moet uitvoeren: commentaar staat apart,
Eerst gaan we onze Raspi een vast IP adres geven:
sudo bash
druk enter
nano /etc/network/interfaces
druk enter
Wijzig volgende lijn: iface eth0 inet dhcp in:
iface eth0 inet static
address 192.168.1.14
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
Save Met control-O en exit met control-X
reboot
druk enter
Uiteraard kan je de IP instellingen wijzigen naar eigen keus en netwerk, maar hou daar dan verder ook rekening mee!Nu gaan we de webserver zelf installeren:
sudo apt-get updatesudo apt-get install apache2 apache2-docsudo a2enmod userdirsudo nano /etc/apache2/mods-enabled/userdir.conf
edit zoals hieronder:
<IfModule mod_userdir.c>UserDir public_htmlUserDir disabled root<Directory /home/*/public_html>AllowOverride AllOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<Limit GET POST OPTIONS>Order allow,denyAllow from all</Limit><LimitExcept GET POST OPTIONS>Order deny,allowDeny from all</LimitExcept></Directory></IfModule>
Save met control-O en exit met control-X
sudo mkdir /home/pi/public_htmlsudo chgrp www-data /home/pi/public_htmlsudo chmod -v 755 /home/pisudo service apache2 restartsudo apt-get install php5 libapache2-mod-php5 php5-curlsudo nano /etc/php5/apache2/php.ini
Voeg toe aan "Dynamic Extensions" sectie:
extension=calendar.so
Voeg toe aan "Module Settings" sectie:
date.timezone = "Europe/Amsterdam"choose your timezone
Save Met control-O en exit met control-X
sudo apt-get install rrdtoolsudo apt-get install systemdcd /homesudo wget http://www.curtronics.com/Solar/ftp/aurora-1.8.3.tar.gzsudo tar -xzvf aurora-1.8.3.tar.gzsudo rm aurora-1.8.3.tar.gzcd aurora-1.8.3sudo makesudo make installcd /..cd /var/wwwsudo wget http://123Solar.googlecode.com/files/123solar1.5.3.2.tar.gzsudo tar -xzvf 123solar1.5.3.2.tar.gzsudo rm 123solar1.5.3.2.tar.gzcd /etc/systemd/systemsudo wget http://123solar.googlecode.com/files/123solar.servicesudo systemctl enable 123solar.servicecd /var/www/123solarsudo ./install.sh
Je krijgt nu de volgende melding:
Thanks for using 123Solar!
Usage: 123solar { admin | start | stop }
/!\ Please check the configuration thensave for general and for each inverters
Press [Enter] key to continue
123Solar administration
Log on to http://192.168.1.5/123solar/config/index.phpUser: adminOne-time password: 7966349
Press [Enter] key to quit...
cd /..sudo apt-get update && sudo apt-get install socatsudo nano /etc/rc.local
! edit bestand en voeg onderstaande toe voor de lijn "exit 0":
socat pty,link=/dev/virtS0,raw tcp:192.168.100.99:8000stty -F /dev/virtS0 19200sudo 123solar start
Save met control-O en exit met control-X
sudo -scd /..sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-updatesudo apt-get install git-coresudo rpi-updatesudo shutdown -r nowsudo nano /boot/cmdline.txt [/code] ! edit (moet in één lijn staan) [code]dwc_otg.lpm_enable=0 dwc_otg.speed=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console-tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait smsc95xxturbo_mode=N
Save met control-O en exit met control-X
sudo rebootsudo 123solar admin
Ga nu in je browser (firefox of zo) naar http://192.168.1.5/123solar/config/index.phpen log in met admin en het one-time paswoord, PuTTY laten openstaan!Hier kan je alle parameters aanpassen naar je eigen wensen.Boven links zie je in het vakje “Port” staan: /dev/ttyusb0 of iets dergelijks. Dit moet gewijzigd worden in/dev/virtS0Eens alles ingesteld opslaan en uitloggen, dan gaan we terug verder in PuTTY:
Press [Enter] key to quit...
sudo 123solar stopsudo 123solar start
Je kan nu hier je solar log bekijken:http://192.168.1.5/123solar/index_mono.php
De Socat syntax is: socat pty,link=/dev/virtS0,raw tcp:192.168.1.14:8000Uiteraard, gebruik het ip address en poort van uw IP/RS485 convertor!
Als je alles exact gedaan hebt zoals hierboven beschreven, zou het moeten werken. Indien er toch fouten zouden optreden zal je die meestal reeds ondervinden bij het programmeren zelf, bijvoorbeeld wanneer je 123solar moet downloaden, ...wget http://123Solar.googlecode.com/files/123solar1.5.3.2.tar.gz en de versie zou veranderd zijn in 1.5.3.3 zit je reeds met het probleem: eerst checken en dan ook verder aanpassen in de volgende lijnen!
Veel succes!