Compare commits

...

4 Commits

Author SHA1 Message Date
unixweb ab847d0c5c scheduler.py
Modify databaseHost and Script Path
2015-05-09 14:04:15 +02:00
unixweb 627e799142 Pointer Development
Pointer
2015-05-08 23:27:47 +02:00
unixweb 3a01222dfb scheduler
New structure with new database design
2015-05-08 23:26:28 +02:00
unixweb 3df0308700 SQL
New SQL-Design
2015-05-08 23:19:47 +02:00
3 changed files with 70 additions and 51 deletions

View File

@ -1,8 +1,14 @@
CREATE TABLE IF NOT EXISTS `temperatures` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`temperature` double NOT NULL,
`humidity` varchar(20) NOT NULL,
`dateMeasured` date NOT NULL,
`hourMeasured` int(128) NOT NULL,
`temperature-1` double NOT NULL,
`temperature-2` double NOT NULL,
`temperature-3` double NOT NULL,
`temperature-4` double NOT NULL,
`pressure` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`pressure-sea` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`altitude` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

1
development.txt Normal file
View File

@ -0,0 +1 @@
Branch Development

View File

@ -11,79 +11,91 @@ 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$
databaseHost="XXXXX.domain.de"
with con:
cur=con.cursor()
idef saveToDatabase(temp1, temp2, temp3, temp4, humidity, pressure, sea_pressure, altitude):
cur.execute("INSERT INTO temperatures (temperature,humidity, dateMeasured, hourMeasured) VALUES (%s,%s,%s,%s)",(temperature,humidity,currentDate, minutes))
con=mdb.connect(databaseHost, databaseUsername, databasePassword, databaseName)
currentDate=datetime.datetime.now().date()
print currentDate
now=datetime.datetime.now()
midnight=datetime.datetime.combine(now.date(),datetime.time())
minutes=((now-midnight).seconds)/60 #minutes after midnight, use datead$
print "Saved temperature"
return "true"
with con:
cur=con.cursor()
query = ("INSERT INTO `temperatures`(`temperature-1`, `temperature-2`, `temperature-3`, `temperature-4`, `humidity`, `dateMeasured`, `hourMeasured`, `pressure`, `pressure-sea`, `altitude`)"
"VALUES (%s,%s,%s,%s,%s,'%s',%s,%s,%s,%s)"% (temp1, temp2, temp3, temp4, humidity, currentDate, minutes, pressure, sea_pressure, altitude))
cur.execute(query)
print "Saved temperature"
return "true"
def readInfo():
temperatureSaved="false" #keep on reading till you get the info
temperatureSaved="false" #keep on reading till you get the info
while(temperatureSaved=="false"):
# Run the DHT program to get the humidity and temperature readings!
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))
source = "/home/pi/myweather/weather.py"
# 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)+"%"
# search for tempretures , continue to search untill it do not found
temp1 = search_attr('Temp1', source)
temp2 = search_attr('Temp2', source)
temp3 = search_attr('Temp3', source)
temp4 = search_attr('Temp4', source)
print "Temperature: %.1f C" % temp
print "Pressure: %s %%" % humidity
"scheduler.py" 108 lines, 3613 characters
return saveToDatabase(temp,humidity)
print "Temperature-1: %.1f C" % temp1
print "Temperature-2: %.1f C" % temp2
print "Temperature-3: %.1f C" % temp3
print "Temperature-4: %.1f C" % temp4
print "Humidity: %s %%" % humidity
print "Pressure: %s %%" % pressure
print "Pressure-Sea: %s %%" % sea_pressure
print "Altitude: %s ft" % altitude
return saveToDatabase(temp1, temp2, temp3, temp4, humidity, pressure, sea_pressure, altitude)
def search_attr(val, source):
output = subprocess.check_output([source]);
matches = re.search(("%s =\s+([-]?[0-9.]+)" % val), output)
if (not matches):
print "searching for %s"% (val)
time.sleep(3)
search_attr(val, source)
return float(matches.group(1))
#check if table is created or if we need to create one
try:
queryFile=file("createTable.sql","r")
queryFile=file("createTable.sql","r")
con=mdb.connect("localhost", databaseUsername,databasePassword,databaseName)
currentDate=datetime.datetime.now().date()
con=mdb.connect(databaseHost databaseUsername,databasePassword,databaseName)
currentDate=datetime.datetime.now().date()
with con:
line=queryFile.readline()
query=""
while(line!=""):
query+=line
line=queryFile.readline()
with con:
line=queryFile.readline()
query=""
while(line!=""):
query+=line
line=queryFile.readline()
cur=con.cursor()
cur.execute(query)
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")
#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
pass #table has already been created
status="false"
while(status!="true"):
status=readInfo()
status=readInfo()