Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import httplib, urllib
- import os
- import glob
- import time
- def read_B18_Raw():
- os.system('modprobe w1-gpio')
- os.system('modprobe w1-therm')
- Params = urllib.urlencode({'field1': temp_f, 'key':'my key'})
- Headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
- conn = httplib.HTTPConnection("api.thingspeak.com:80")
- base_dir = '/sys/bus/w1/devices/'
- device_folder = glob.glob(base_dir + '28*')[0]
- device_file = device_folder + '/w1_slave'
- f = open(device_file, 'r')
- lines = f.readlines()
- f.close()
- return lines
- def read_B18():
- lines = read_B18_Raw()
- while lines[0].strip()[-3:] != 'YES':
- time.sleep(0.2)
- lines = read_B18_Raw()
- 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 "%.1f" % (temp_f)
- try:
- conn.request("POST", "/update", params, headers)
- response = conn.getresponse()
- print temp_f
- data = response.read()
- temp_f = read_temp()
- conn.close()
- except:
- print "connection failed"
- #sleep for 16 seconds (api limit of 15 secs)
- if __name__ == "__main__":
- temp_f = 0
- while True:
- read_B18()
- time.sleep(16)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement