Create scheduler.py

This commit is contained in:
unixweb 2015-04-19 22:03:40 +02:00
parent dbfd9cfc76
commit 78f9fd2f25

89
scheduler.py Normal file
View File

@ -0,0 +1,89 @@
#!/usr/bin/python
import subprocess
import re
import os
import sys
import time
import MySQLdb as mdb
import datetime
databaseUsername="XXXX"
databasePassword="XXXX"
databaseName="XXXX" #do not change unless you named the Wordpress database with some other name
def saveToDatabase(temperature,humidity):
con=mdb.connect("localhost", databaseUsername, databasePassword, databaseName)
currentDate=datetime.datetime.now().date()
now=datetime.datetime.now()
midnight=datetime.datetime.combine(now.date(),datetime.time())
minutes=((now-midnight).seconds)/60 #minutes after midnight, use datead$
with con:
cur=con.cursor()
cur.execute("INSERT INTO temperatures (temperature,humidity, dateMeasured, hourMeasured) VALUES (%s,%s,%s,%s)",(temperature,humidity,currentDate, minutes))
print "Saved temperature"
return "true"
def readInfo():
temperatureSaved="false" #keep on reading till you get the info
while(temperatureSaved=="false"):
# Run the DHT program to get the humidity and temperature readings!
output = subprocess.check_output(["/home/pi/myweather/wetter.py"]);
print output
matches = re.search("Temp =\s+([-]?[0-9.]+)", output)
if (not matches):
time.sleep(3)
continue
temp = float(matches.group(1))
# search for humidity printout
matches = re.search("Press =\s+([0-9.]+)", output)
if (not matches):
time.sleep(3)
continue
humidity = float(matches.group(1))
#humidity=str(humidity)+"%"
print "Temperature: %.1f C" % temp
print "Pressure: %s %%" % humidity
return saveToDatabase(temp,humidity)
#check if table is created or if we need to create one
try:
queryFile=file("createTable.sql","r")
con=mdb.connect("localhost", databaseUsername,databasePassword,databaseName)
currentDate=datetime.datetime.now().date()
with con:
line=queryFile.readline()
query=""
while(line!=""):
query+=line
line=queryFile.readline()
cur=con.cursor()
cur.execute(query)
#now rename the file, because we do not need to recreate the table everytime this script is run
queryFile.close()
os.rename("createTable.sql","createTable.sql.bkp")
except IOError:
pass #table has already been created
status="false"
while(status!="true"):
status=readInfo()