from machine import Pin
from time import sleep
import network
import socket

ssid = "velop"
password = "thuissurfer"
LED0 = Pin("LED", Pin.OUT)

def wifi():
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    wlan.connect(ssid, password)
    while wlan.isconnected() == False:
        print('Waiting for connection...')
        LED0.on()
        sleep(0.5)
        LED0.off()
        sleep(0.5)
        
    print("Connected: ", wlan.ifconfig())
    LED0.on()
    
def flicker():
    LED0.on()
    sleep(0.5)
    LED0.off()
    sleep(0.5)
    
def httpServer():
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(("0.0.0.0", 5566))
    server.listen(5)

    print("Server running...")

    while True:
        conn, addr = server.accept()
        request = conn.recv(1024)
        request = str(request)

        # Handle the request
        if "GET /flicker" in request:
            flicker()
            response = "HTTP/1.1 200 OK\n\nLED Toggled!"
        else:
            response = "HTTP/1.1 404 Not Found\n\nTry /flicker"

        conn.send(response)
        conn.close()
wifi()
httpServer()