#!/usr/bin/env python
import os
import glob
import time
import MySQLdb
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')
base_dir = '/sys/bus/w1/devices/'
d = glob.glob(base_dir + '28*')
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw(ff):
f = open(ff+'/w1_slave', 'r')
lines = f.readlines()
f.close()
return lines
def read_temp(fn):
lines = read_temp_raw(fn)
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw(fn)
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
#temp_f = temp_c * 9.0 / 5.0 + 32.0
return temp_c
#, temp_f
#while True:
i=0
w=range(len(d))
while i<len(d):
print(d[i])
w[i]=(str(read_temp(d[i])))
i=i+1
conn = MySQLdb.connect(host="localhost",user="root",passwd="root",db="test")
cur = conn.cursor()
sql = 'INSERT INTO temp (data,t1,t2) VALUES (now(),'+w[0]+','+w[1]+')'
print (sql)
try:
cur.execute(sql)
conn.commit()
except MySQLdb.Error, e:
print "An error has been passed. %s" %e
#conn.rollback()
conn.close()
评论0