release 0.1
This commit is contained in:
		@@ -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()
 | 
			
		||||
							
								
								
									
										61
									
								
								powertrans
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								powertrans
									
									
									
									
									
								
							@@ -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
									
								
							
							
						
						
									
										7
									
								
								server/create_rrd
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										14
									
								
								server/get.php
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										65
									
								
								server/index.php
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										1
									
								
								server/power.log
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
1427048612.32;421.0
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								server/power.rrd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								server/power.rrd
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user