Advertisement
b25s19_lieberwirth

LS-AE-Raspi-2 Aufgabe 1.2

Nov 21st, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.52 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. from datetime import datetime
  5. from time import sleep
  6. from RPi import GPIO
  7. import Adafruit_DHT
  8. import sys
  9.  
  10. interval = 10
  11. prev_temp = 0
  12. sensor = None
  13. DHT_PIN = None
  14. LED_BLUE = None
  15. LED_RED = None
  16.  
  17. def initialize():
  18.   global sensor, DHT_PIN, LED_BLUE, LED_RED
  19.  
  20.   DHT_PIN = 26
  21.   LED_BLUE = 21
  22.   LED_RED = 20
  23.  
  24.   GPIO.setwarnings(False)
  25.   GPIO.setmode(GPIO.BCM)
  26.   GPIO.cleanup()
  27.   GPIO.setup(LED_RED, GPIO.OUT)
  28.   GPIO.setup(LED_BLUE, GPIO.OUT)
  29.  
  30.   sensor = Adafruit_DHT.DHT11
  31.  
  32. def destroy():
  33.   GPIO.cleanup()
  34.   sys.exit()
  35.  
  36. def getTime():
  37.   curDT = datetime.now()
  38.   curDT = curDT.strftime("%Y-%m-%d %H:%M:%S")
  39.   return curDT
  40.  
  41. def measure():
  42.   timestamp = getTime()
  43.   humidity, temperature = Adafruit_DHT.read_retry(sensor, DHT_PIN)
  44.  
  45.   if (temperature < prev_temp):
  46.     GPIO.output(LED_RED,  GPIO.LOW)
  47.     GPIO.output(LED_BLUE, GPIO.HIGH)
  48.   elif (temperature > prev_temp):
  49.     GPIO.output(LED_RED,  GPIO.HIGH)
  50.     GPIO.output(LED_BLUE, GPIO.LOW)
  51.   else:
  52.     GPIO.output(LED_RED,  GPIO.HIGH)
  53.     GPIO.output(LED_BLUE, GPIO.HIGH)
  54.  
  55.   print("Time: {} | " +
  56.     "Temperature: {} °C | " +
  57.     "Humidity: {} %".format(
  58.       timestamp, temperature, humidity))
  59.  
  60.   return temperature
  61.  
  62. def loop():
  63.   global prev_temp
  64.  
  65.   while (True):
  66.     prev_temp = measure()
  67.     sleep(interval)
  68.  
  69. if (__name__ == '__main__'):
  70.   print("Press CTRL-C to exit.")
  71.   initialize()
  72.  
  73.   try:
  74.     loop()
  75.   except (KeyboardInterrupt):
  76.     print("Exiting")
  77.     destroy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement