Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- from datetime import datetime
- from time import sleep
- from RPi import GPIO
- import Adafruit_DHT
- import sys
- interval = 10
- prev_temp = 0
- sensor = None
- DHT_PIN = None
- LED_BLUE = None
- LED_RED = None
- def initialize():
- global sensor, DHT_PIN, LED_BLUE, LED_RED
- DHT_PIN = 26
- LED_BLUE = 21
- LED_RED = 20
- GPIO.setwarnings(False)
- GPIO.setmode(GPIO.BCM)
- GPIO.cleanup()
- GPIO.setup(LED_RED, GPIO.OUT)
- GPIO.setup(LED_BLUE, GPIO.OUT)
- sensor = Adafruit_DHT.DHT11
- def destroy():
- GPIO.cleanup()
- sys.exit()
- def getTime():
- curDT = datetime.now()
- curDT = curDT.strftime("%Y-%m-%d %H:%M:%S")
- return curDT
- def measure():
- timestamp = getTime()
- humidity, temperature = Adafruit_DHT.read_retry(sensor, DHT_PIN)
- if (temperature < prev_temp):
- GPIO.output(LED_RED, GPIO.LOW)
- GPIO.output(LED_BLUE, GPIO.HIGH)
- elif (temperature > prev_temp):
- GPIO.output(LED_RED, GPIO.HIGH)
- GPIO.output(LED_BLUE, GPIO.LOW)
- else:
- GPIO.output(LED_RED, GPIO.HIGH)
- GPIO.output(LED_BLUE, GPIO.HIGH)
- print("Time: {} | " +
- "Temperature: {} °C | " +
- "Humidity: {} %".format(
- timestamp, temperature, humidity))
- return temperature
- def loop():
- global prev_temp
- while (True):
- prev_temp = measure()
- sleep(interval)
- if (__name__ == '__main__'):
- print("Press CTRL-C to exit.")
- initialize()
- try:
- loop()
- except (KeyboardInterrupt):
- print("Exiting")
- destroy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement