diff --git a/config.ini b/config.ini new file mode 100644 index 0000000..46d3dad --- /dev/null +++ b/config.ini @@ -0,0 +1,6 @@ +[SERVER] +PORT = 8080 + +[SENSOR] +# Set sensor type : Options are DHT11, DHT22 or AM2302 +TYPE = DHT22 diff --git a/pi_temp.py b/pi_temp.py index 3a22172..64cd403 100755 --- a/pi_temp.py +++ b/pi_temp.py @@ -51,16 +51,22 @@ import arrow import json import plotly import sqlite3 +import sys +import Adafruit_DHT +import ConfigParser from plotly.graph_objs import * +config = ConfigParser.ConfigParser() +config.read("config.ini") +port = config.getint('SERVER', 'PORT') +sensor = config.get('SENSOR','TYPE') + app = Flask(__name__) app.debug = True # Make this False if you are no longer debugging @app.route("/") def lab_temp(): - import sys - import Adafruit_DHT - humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, 17) + humidity, temperature = Adafruit_DHT.read_retry(getattr(Adafruit_DHT,sensor), 17) temperature = temperature * 9/5.0 + 32 if humidity is not None and temperature is not None: return render_template("live.html",temp=temperature,hum=humidity) @@ -217,4 +223,4 @@ def validate_date(d): return False if __name__ == "__main__": - app.run(host='0.0.0.0', port=8080) + app.run(host='0.0.0.0', port=port) diff --git a/pi_temp_logger.py b/pi_temp_logger.py index 17091aa..1a9a214 100755 --- a/pi_temp_logger.py +++ b/pi_temp_logger.py @@ -37,6 +37,11 @@ No text output. Two new records are inserted in the database when the script is import sqlite3 import sys import Adafruit_DHT +import ConfigParser + +config = ConfigParser.ConfigParser() +config.read("config.ini") +sensor = config.get('SENSOR','TYPE') def log_values(sensor_id, temp, hum): conn=sqlite3.connect('/home/pi/Documents/pi-temp/pi_temp.db') #It is important to provide an @@ -51,7 +56,7 @@ def log_values(sensor_id, temp, hum): conn.commit() conn.close() -humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, 17) +humidity, temperature = Adafruit_DHT.read_retry(getattr(Adafruit_DHT,sensor), 17) temperature = temperature * 9/5.0 + 32 # If you don't have a sensor but still wish to run this program, comment out all the # sensor related lines, and uncomment the following lines (these will produce random