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