voeg threading toe om meerdere dingen tegelijk te kunnen doen
This commit is contained in:
33
dht11.py
33
dht11.py
@@ -3,6 +3,7 @@ import adafruit_dht
|
|||||||
import board
|
import board
|
||||||
import RPi.GPIO as GPIO
|
import RPi.GPIO as GPIO
|
||||||
import http.server
|
import http.server
|
||||||
|
import threading
|
||||||
|
|
||||||
sensor = adafruit_dht.DHT11(board.D6)
|
sensor = adafruit_dht.DHT11(board.D6)
|
||||||
LED_PIN = 21
|
LED_PIN = 21
|
||||||
@@ -12,20 +13,26 @@ GPIO.setmode(GPIO.BCM)
|
|||||||
GPIO.setup(LED_PIN, GPIO.OUT)
|
GPIO.setup(LED_PIN, GPIO.OUT)
|
||||||
GPIO.setup(FAN_PIN, GPIO.OUT)
|
GPIO.setup(FAN_PIN, GPIO.OUT)
|
||||||
|
|
||||||
while True:
|
def check_data():
|
||||||
try:
|
while True:
|
||||||
temperatuur_C = sensor.temperature
|
try:
|
||||||
temperatuur_F = temperatuur_C * (9/5) + 32
|
temperatuur_C = sensor.temperature
|
||||||
humidity = sensor.humidity
|
temperatuur_F = temperatuur_C * (9/5) + 32
|
||||||
except RuntimeError as err:
|
humidity = sensor.humidity
|
||||||
print(err.args[0])
|
except RuntimeError as err:
|
||||||
if temperatuur_C > 20:
|
print(err.args[0])
|
||||||
GPIO.output(LED_PIN, GPIO.HIGH)
|
if temperatuur_C > 20:
|
||||||
GPIO.output(FAN_PIN, GPIO.HIGH)
|
GPIO.output(LED_PIN, GPIO.HIGH)
|
||||||
else:
|
GPIO.output(FAN_PIN, GPIO.HIGH)
|
||||||
GPIO.output(LED_PIN, GPIO.LOW)
|
else:
|
||||||
GPIO.output(FAN_PIN, GPIO.LOW)
|
GPIO.output(LED_PIN, GPIO.LOW)
|
||||||
|
GPIO.output(FAN_PIN, GPIO.LOW)
|
||||||
|
|
||||||
|
def web_server():
|
||||||
web_binding = ('', 8000)
|
web_binding = ('', 8000)
|
||||||
server = http.server.HTTPServer(web_binding)
|
server = http.server.HTTPServer(web_binding)
|
||||||
print ("server draait")
|
print ("server draait")
|
||||||
server.serve_forever()
|
server.serve_forever()
|
||||||
|
|
||||||
|
threading.Thread(target=web_server, daemon=True).start()
|
||||||
|
threading.Thread(target=check_data, daemon=True).start()
|
||||||
|
|||||||
Reference in New Issue
Block a user