From 0ec5bfdbab7d46adc19c48cad6cf3cd7119559d7 Mon Sep 17 00:00:00 2001 From: Vitor de Miranda Henrique Date: Tue, 11 Oct 2016 22:01:21 -0500 Subject: [PATCH] Add files via upload BugFix --- extras/GetHumidity.py | 23 ++++++++--- extras/GetTemperature.py | 17 ++++++++- extras/GetTemperature1820.py | 74 ++++++++++++++++++------------------ 3 files changed, 69 insertions(+), 45 deletions(-) diff --git a/extras/GetHumidity.py b/extras/GetHumidity.py index 6772d0d..8b1d929 100644 --- a/extras/GetHumidity.py +++ b/extras/GetHumidity.py @@ -1,22 +1,33 @@ #!/usr/bin/python + import sys import Adafruit_DHT # Parse command line parameters. -sensor_args = {'11': Adafruit_DHT.DHT11, +sensor_args = { '11': Adafruit_DHT.DHT11, '22': Adafruit_DHT.DHT22, - '2302': Adafruit_DHT.AM2302} - + '2302': Adafruit_DHT.AM2302 } if len(sys.argv) == 3 and sys.argv[1] in sensor_args: sensor = sensor_args[sys.argv[1]] pin = sys.argv[2] else: + print('usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#') + print('example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4') sys.exit(1) +# Try to grab a sensor reading. Use the read_retry method which will retry up +# to 15 times to get a sensor reading (waiting 2 seconds between each retry). humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) +# Un-comment the line below to convert the temperature to Fahrenheit. +# temperature = temperature * 9/5.0 + 32 + +# Note that sometimes you won't get a reading and +# the results will be null (because Linux can't +# guarantee the timing of calls to read the sensor). +# If this happens try again! if humidity is not None: - print '{0:0.1f}'.format(humidity) + print('{0:0.1f}'.format(humidity)) else: - print 'Failed' - sys.exit(1) + print('Failed') + sys.exit(1) \ No newline at end of file diff --git a/extras/GetTemperature.py b/extras/GetTemperature.py index c1eaec0..3ece077 100644 --- a/extras/GetTemperature.py +++ b/extras/GetTemperature.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + import sys import Adafruit_DHT @@ -9,12 +11,23 @@ if len(sys.argv) == 3 and sys.argv[1] in sensor_args: sensor = sensor_args[sys.argv[1]] pin = sys.argv[2] else: + print('usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#') + print('example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4') sys.exit(1) +# Try to grab a sensor reading. Use the read_retry method which will retry up +# to 15 times to get a sensor reading (waiting 2 seconds between each retry). humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) +# Un-comment the line below to convert the temperature to Fahrenheit. +# temperature = temperature * 9/5.0 + 32 + +# Note that sometimes you won't get a reading and +# the results will be null (because Linux can't +# guarantee the timing of calls to read the sensor). +# If this happens try again! if temperature is not None: - print '{0:0.1f}'.format(temperature) + print('{0:0.1f}'.format(temperature)) else: - print 'Failed' + print('Failed') sys.exit(1) \ No newline at end of file diff --git a/extras/GetTemperature1820.py b/extras/GetTemperature1820.py index b93d1d1..462072f 100644 --- a/extras/GetTemperature1820.py +++ b/extras/GetTemperature1820.py @@ -1,37 +1,37 @@ -#!/usr/bin/python -import sys -import os -import glob -import time - -if len(sys.argv) == 2 and sys.argv[1] == '1820': - os.system('modprobe w1-gpio') - os.system('modprobe w1-therm') - base_dir = '/sys/bus/w1/devices/' - device_folder = glob.glob(base_dir + '28*')[0] - device_file = device_folder + '/w1_slave' -else: - sys.exit(1) - - -def read_temp_raw(): - f = open(device_file, 'r') - lines = f.readlines() - f.close() - return lines - - -def read_temp(): - lines = read_temp_raw() - while lines[0].strip()[-3:] != 'YES': - time.sleep(0.2) - lines = read_temp_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 - return temp_c - -temperature = read_temp() -print '{0:0.1f}'.format(temperature) -sys.exit(1) +#!/usr/bin/python +import sys +import os +import glob +import time + +if len(sys.argv) == 2 and sys.argv[1] == '1820': + os.system('modprobe w1-gpio') + os.system('modprobe w1-therm') + base_dir = '/sys/bus/w1/devices/' + device_folder = glob.glob(base_dir + '28*')[0] + device_file = device_folder + '/w1_slave' +else: + sys.exit(1) + + +def read_temp_raw(): + f = open(device_file, 'r') + lines = f.readlines() + f.close() + return lines + + +def read_temp(): + lines = read_temp_raw() + while lines[0].strip()[-3:] != 'YES': + time.sleep(0.2) + lines = read_temp_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 + return temp_c + +temperature = read_temp() +print '{0:0.1f}'.format(temperature) +sys.exit(1)