Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze |
tristar-mppt-60-pod-openwrt [2012/04/17 21:05] – drama | tristar-mppt-60-pod-openwrt [2012/04/18 03:15] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 |
---|
plot "modbus/modbus-tsmppt/voltage-power-output-".DATUM using ($1+TZ):($2/9.1007) with lines title "Vykon dodavany z FV" axis x1y2, "modbus/modbus-tsmppt/voltage-wh-daily-".DATUM using ($1+TZ):2 with lines title "Energie dodana z FV za den" axis x1y1 | plot "modbus/modbus-tsmppt/voltage-power-output-".DATUM using ($1+TZ):($2/9.1007) with lines title "Vykon dodavany z FV" axis x1y2, "modbus/modbus-tsmppt/voltage-wh-daily-".DATUM using ($1+TZ):2 with lines title "Energie dodana z FV za den" axis x1y1 |
</code> | </code> |
* grafy vytvoříme v /tmp/www (viz definice výše) zavoláním ze skriptu<code>#!/bin/sh | * grafy se vytvoří v /tmp/www (viz definice výše) zavoláním ze skriptu<code>#!/bin/sh |
| cd /tmp/csv/ |
DATE=$(date "+%s") | DATE=$(date "+%s") |
if [ $DATE -lt 1300860001 ]; then | if [ $DATE -lt 1300860001 ]; then |
gnuplot -e "DATUM=\"$DATUM\"" /root/grafy.gpt 2>/dev/null | gnuplot -e "DATUM=\"$DATUM\"" /root/grafy.gpt 2>/dev/null |
</code> | </code> |
| * výše uvedený skript můžeme rozšířit o generování jednoduché HTML stránky (opět příklad pro 24V systém)<code> |
| WWW=/tmp/www/index.html |
| CAS=$(date +%H.%M) |
| DATUM=$(date "+%Y-%m-%d") |
| WH_DAILY=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-wh-daily-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g') |
| KWH_TOTAL=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-kwh-total-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g') |
| CHRG_STATE=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-charging-state-$DATUM | sed 's/.*,//g') |
| CHRG_STATE=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-charging-state-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g') |
| U_BAT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-voltage-battery-$DATUM | sed 's/.*,//g') |
| I_BAT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-current-battery-$DATUM | sed 's/.*,//g') |
| U_TAR=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-target-voltage-$DATUM | sed 's/.*,//g') |
| P_OUT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-power-output-$DATUM | sed 's/.*,//g') |
| U_ARR=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-voltage-array-$DATUM | sed 's/.*,//g') |
| U_ARRAY=$(echo "scale=2; $U_ARR / 182.04" | bc | sed 's/^\./0./g') |
| U_TARGET=$(echo "scale=2; $U_TAR / 182.04" | bc) |
| U_BATTERY=$(echo "scale=2; $U_BAT / 182.04" | bc) |
| I_BATTERY=$(echo "scale=2; $I_BAT / 409.6" | bc) |
| P_OUTPUT=$(echo "scale=2; $P_OUT / 9.10" | bc) |
| echo '<html lang="cs" xml:lang="cs" xmlns="http://www.w3.org/1999/xhtml">' > $WWW |
| echo '<meta http-equiv="refresh" content="300;url=index.html">' >> $WWW |
| echo '<head profile="http://gmpg.org/xfn/11">' >> $WWW |
| echo '<title>Měření</title>' >> $WWW |
| echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' >> $WWW |
| echo "Napětí baterie: <b>$U_BATTERY V</b><br />" >> $WWW |
| echo "Cílové napětí baterie: <b>$U_TARGET V</b><br />" >> $WWW |
| echo "Nabíjecí proud baterie: <b>$I_BATTERY A</b><br />" >> $WWW |
| echo "Napětí panelů: <b>$U_ARRAY V</b><br />" >> $WWW |
| echo "Výkon aktuálně dodávaný z panelů: <b>$P_OUTPUT W</b><br />" >> $WWW |
| echo "Dnes vyrobeno energie: <b>$WH_DAILY Wh</b><br />" >> $WWW |
| echo "Celkově vyrobeno energie: <b>$KWH_TOTAL kWh</b><br /><small>Měřeno v $CAS</small>" >> $WWW |
| echo '<p><img src="fv-napeti-proud.png"></p>' >> $WWW |
| echo '<p><img src="teplota.png"></p>' >> $WWW |
| echo '<p><img src="baterie-napeti-kapacita.png"></p>' >> $WWW |
| echo '<p><img src="fv-energie.png"></p>' >> $WWW |
| echo '</body></html>' >> $WWW |
| </code> |
| * výsledek pak zpřístupníme pomocí HTTP serveru např. nginx nebo lighttpd, více informací lze najít na http://wiki.openwrt.org/doc/howto/http.lighttpd |
| * příklad funkčního řešení http://postolka.klikva.net/ |