initialer checkin
This commit is contained in:
		
							
								
								
									
										36
									
								
								power.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								power.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
#!/usr/bin/python
 | 
			
		||||
 | 
			
		||||
import RPi.GPIO as GPIO
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
# set gpio port numeration to bcm style
 | 
			
		||||
GPIO.setmode(GPIO.BCM)
 | 
			
		||||
 | 
			
		||||
#initialise gpio on pi 24 as input with an pull_up resistor
 | 
			
		||||
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 | 
			
		||||
 | 
			
		||||
#initialise some startup values
 | 
			
		||||
last = time.time()
 | 
			
		||||
lpower = 10000
 | 
			
		||||
 | 
			
		||||
#start busy loop
 | 
			
		||||
while True:
 | 
			
		||||
	#wait for a falling edge on gpio 24
 | 
			
		||||
	GPIO.wait_for_edge(24, GPIO.FALLING)
 | 
			
		||||
	
 | 
			
		||||
	#get current time and calculate current power from difference
 | 
			
		||||
	current = time.time()
 | 
			
		||||
	diff = current - last
 | 
			
		||||
	power = 1800 / diff
 | 
			
		||||
 | 
			
		||||
	#write into logfile
 | 
			
		||||
	logfile = open("/srv/powerpi/power.out", "w+", 0)
 | 
			
		||||
	if (power < lpower + 1500):
 | 
			
		||||
		out = str(current) + ";" + str(round(power,0))	
 | 
			
		||||
	else:
 | 
			
		||||
		out = str(current) + ";0"
 | 
			
		||||
	logfile.write(out)
 | 
			
		||||
	logfile.close()
 | 
			
		||||
	lpower = power
 | 
			
		||||
	last = current
 | 
			
		||||
GPIO.cleanup()
 | 
			
		||||
							
								
								
									
										61
									
								
								powerpi
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								powerpi
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 
 | 
			
		||||
### BEGIN INIT INFO
 | 
			
		||||
# Provides: powerpi
 | 
			
		||||
# 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/power.py
 | 
			
		||||
DAEMON_NAME=PowerPi
 | 
			
		||||
 
 | 
			
		||||
# 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=root
 | 
			
		||||
 
 | 
			
		||||
# 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 
 | 
			
		||||
							
								
								
									
										61
									
								
								powertrans
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								powertrans
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
#!/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 
 | 
			
		||||
							
								
								
									
										8
									
								
								transfer.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								transfer.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
#!/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