48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import time
|
|
import adafruit_dht
|
|
import board
|
|
import RPi.GPIO as GPIO
|
|
import http.server
|
|
import threading
|
|
|
|
sensor = adafruit_dht.DHT11(board.D6)
|
|
LED_PIN = 21
|
|
FAN_PIN = 22
|
|
|
|
website = http.server.BaseHTTPRequestHandler
|
|
|
|
GPIO.setmode(GPIO.BCM)
|
|
GPIO.setup(LED_PIN, GPIO.OUT)
|
|
GPIO.setup(FAN_PIN, GPIO.OUT)
|
|
|
|
def check_data():
|
|
while True:
|
|
try:
|
|
temperatuur_C = sensor.temperature
|
|
temperatuur_F = temperatuur_C * (9/5) + 32
|
|
humidity = sensor.humidity
|
|
except RuntimeError as err:
|
|
print(err.args[0])
|
|
if temperatuur_C > 20:
|
|
GPIO.output(LED_PIN, GPIO.HIGH)
|
|
GPIO.output(FAN_PIN, GPIO.HIGH)
|
|
else:
|
|
GPIO.output(LED_PIN, GPIO.LOW)
|
|
GPIO.output(FAN_PIN, GPIO.LOW)
|
|
|
|
class handler_class(http.server.BaseHTTPRequestHandler):
|
|
if website.path == '/':
|
|
website.send_response(200)
|
|
website.send_header('Content-type', 'text/html; charset=utf-8')
|
|
website.wfile.write ("<html><head><title>gedoe</title></head><body><h1>hallo</h1><hr><p>hallo</p></body></html>")
|
|
|
|
|
|
def web_server():
|
|
web_binding = ('', 8000)
|
|
server = http.server.HTTPServer(web_binding, handler_class)
|
|
print ("server draait op port 8000")
|
|
server.serve_forever()
|
|
|
|
threading.Thread(target=web_server, daemon=True).start()
|
|
threading.Thread(target=check_data, daemon=True).start()
|