# For more details and step by step guide visit: Microcontrollerslab.com led_state = "OFF" def web_page(): html = """

ESP MicroPython Web Server

LED state: """ + led_state + """

""" return html s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('', 80)) s.listen(5) while True: try: if gc.mem_free() < 102000: gc.collect() conn, addr = s.accept() conn.settimeout(3.0) print('Received HTTP GET connection request from %s' % str(addr)) request = conn.recv(1024) conn.settimeout(None) request = str(request) print('GET Rquest Content = %s' % request) led_on = request.find('/?led_2_on') led_off = request.find('/?led_2_off') if led_on == 6: print('LED ON -> GPIO2') led_state = "ON" led.on() if led_off == 6: print('LED OFF -> GPIO2') led_state = "OFF" led.off() response = web_page() conn.send('HTTP/1.1 200 OK\n') conn.send('Content-Type: text/html\n') conn.send('Connection: close\n\n') conn.sendall(response) conn.close() except OSError as e: conn.close() print('Connection closed')