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 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): def do_GET (self): if self.path == '/': self.send_response(200) self.send_header('Content-type', 'text/html; charset=utf-8') self.end_headers() website = """ IOT DHT11 sensor status<title> <meta charset="UTF-8"> </head> <body> <h1>IOT DHT11 Sensor Status</h1> <p>Temp_C = <span id="tempc">--</span>C</p> <p>Temp_F = <span id="tempf">--</span>F</p> <p>humidity = <span id="humid">--</span>%</p> """ def web_server(): web_binding = ('', 8000) server = http.server.HTTPServer(web_binding, handler_class) print ("server draait op port 8000") server.serve_forever() if __name__ == '__main__': threading.Thread(target=web_server, daemon=True).start() threading.Thread(target=check_data, daemon=True).start() while True: time.sleep(1)