import socket
#maakt IP communicatie mogelijk.
led_state = {0: "uit", 1: "aan"}
#een dictionary die 0 omzet in uit en 1 omzet in aan.
def web_page():
return """
ESP32 webserver met led
ESP32 webserver met led
""".format(led_state[not led.value()], led_state[led.value()])
#het html script, hier ga ik laten op in
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", 8080))
server_socket.listen(5)
#maakt een socket aan met het TCP/IP protocol(familie).
#verbindt de zocket met het IP adress van de ESP32 en poort.
#accepteerd inkomende verbindingen, met een maximale wachtrij van 5.
while True:
connection, address = server_socket.accept()
print("Got a connection from %s" % str(address))
request = str(connection.recv(1024))
print("connect = %s" % request)
#verbindt, retouneert nieuwe socket en het adres van de client.
#ontvangt en slaat inkomend HTTP verzoek op in request.
led_on = request.find("/?led=aan")
led_off = request.find("/?led=uit")
if led_on ==6:
print("LED ON")
led.value(1)
if led_off == 6:
print("LED OFF")
led.value(0)
#zorgt Dat de value van de led op 0 of 1 wordt gezet, oftewel aan of uit.
#print LED OFF of LED ON in de terminal wanneer hij uit of aan gaat.
response = web_page()
connection.send("HTTP/1.1 200 OK/n")
connection.send("Content-Type: text/html/n")
connection.send("Connection: close/n/n")
connection.sendall(response)
connection.close()
#genereerd de webpagina op basis van de huidige status van de led.
#verzenden de HTTP respons met de juiste headers en de gegenereerde HTML pagina naar de client.
#sluit verbinding nadat response is verzonden.