powerpi/pi/power.py
2015-03-22 19:31:59 +01:00

38 lines
866 B
Python
Executable File

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import requests
# 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
#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/get.php", data=payload, verify=False)
lpower = power
last = current
GPIO.cleanup()