release 0.1

This commit is contained in:
telegnom 2015-03-22 19:31:59 +01:00
parent 1524274303
commit ff86390bfe
9 changed files with 93 additions and 75 deletions

View File

@ -1,4 +1,4 @@
#/usr/bin/python
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
@ -26,12 +26,12 @@ while True:
#write into logfile
if (power < lpower + 3500):
out = str(current) + ";" + str(round(power,0))
else:
out = str(current) + ";0"
#if (power < lpower + 1800):
out = str(current) + ";" + str(round(power,0))
#else:
# out = str(current) + ";" + str(round(lpower,0))
payload = {"val": out}
r = requests.post("https://strom.ccc-ffm.de/test.php", data=payload, verify=False)
r = requests.post("https://strom.ccc-ffm.de/get.php", data=payload, verify=False)
lpower = power
last = current
GPIO.cleanup()

View File

View File

@ -1,61 +0,0 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: powertrans
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Put a short description of the service here
# Description: Put a long description of the service here
### END INIT INFO
# Change the next 3 lines to suit where you install your script and what you want to call it
DIR=/srv/powerpi
DAEMON=$DIR/transfer.sh
DAEMON_NAME=PowerTrans
# Add any command line options for your daemon here
DAEMON_OPTS=""
# This next line determines what user the script runs as.
# Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python.
DAEMON_USER=pi
# The process ID of the script when it runs is stored here:
PIDFILE=/var/run/$DAEMON_NAME.pid
. /lib/lsb/init-functions
do_start () {
log_daemon_msg "Starting system $DAEMON_NAME daemon"
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
log_end_msg $?
}
do_stop () {
log_daemon_msg "Stopping system $DAEMON_NAME daemon"
start-stop-daemon --stop --pidfile $PIDFILE --retry 10
log_end_msg $?
}
case "$1" in
start|stop)
do_${1}
;;
restart|reload|force-reload)
do_stop
do_start
;;
status)
status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
;;
*)
echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
exit 1
;;
esac
exit 0

7
server/create_rrd Normal file
View File

@ -0,0 +1,7 @@
rrdtool create power2.rrd \
--step '5' \
'DS:power:GAUGE:90:U:U' \
'RRA:AVERAGE:0.5:1:720' \
'RRA:AVERAGE:0.5:6:1440' \
'RRA:AVERAGE:0.5:6:2880' \
'RRA:AVERAGE:0.5:12:10080'

14
server/get.php Normal file
View File

@ -0,0 +1,14 @@
<?php
if (preg_match("/^[0-9]{10}\.[0-9]{0,2};[0-9]{1,5}\.[0-9]{0,20}$/", $_POST['val'])) {
$val = explode(";", $_POST['val']);
$updator = new RRDUpdater("power.rrd");
$updator->update(array("power" => $val[1]), $val[0]);
$fileh = fopen("power.log", "w+");
fwrite($fileh, $_POST['val']);
fclose($fileh);
echo "0";
} else {
echo "1";
}
?>

65
server/index.php Normal file
View File

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Stromverbrauch HQ</title>
<meta http-equiv="refresh" content="15">
<style type="text/css">
body {
font-family: arial, sans-serif;
font-size: 14px;
color: #000;
background-color: #eee;
}
dt {
font-weight: bold;
display: inline;
float: left;
margin: 0 0 0.3em 0;
width: 100px;
}
dd {
display: inline;
float: left;
margin: 0 0.5em 0 0;
}
dl dd + dt, dl dd + dd {
clear: left;
}
</style>
</head>
<body>
<h1>Aktueller Stromverbrauch im HQ</h1>
<?php
$last = file_get_contents("power.log");
$last = explode(";", $last);
$power= $last[1];
$time = date("H:i:s",$last[0]);
?>
<dl>
<dt>Zeitpunkt:</dt>
<dd><?= $time ?></dd>
<dt>Leistung:</dt>
<dd><?= $power ?> Watt</dd>
</dl>
<br clear="both">
<br>
<strong>Plot der letzten Stunde</strong><br>
<img src="power.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot der letzten 12 Stunden</strong><br>
<img src="power12.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot der letzten 24 Stunden</strong><br>
<img src="power24.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot der letzten Woche</strong><br>
<img src="power1w.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot des letzten Monats</strong><br>
<img src="power1m.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot des letzten Quartals</strong><br>
<img src="power1q.png" alt="Leistung geplottet über die Zeit" border="0"><br>
<strong>Plot des letzten Jahres</strong><br>
<img src="power1y.png" alt="Leistung geplottet über die Zeit" border="0"><br>
</body>
</html>

1
server/power.log Normal file
View File

@ -0,0 +1 @@
1427048612.32;421.0

BIN
server/power.rrd Normal file

Binary file not shown.

View File

@ -1,8 +0,0 @@
#!/bin/bash
host="http://datengammelstelle.de/hq_strom"
while true; do
sleep 5;
wget $host/get.php?val=$(tail -1 /srv/powerpi/power.out) -O /dev/null -q
done