# Complete project details at https://RandomNerdTutorials.com def web_page(): if relay.value() == 1: relay_state = '' else: relay_state = 'checked' html = """

ESP Relay Web Server

""" % (relay_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('Got a connection from %s' % str(addr)) request = conn.recv(1024) conn.settimeout(None) request = str(request) print('Content = %s' % request) relay_on = request.find('/?relay=on') relay_off = request.find('/?relay=off') if relay_on == 6: print('RELAY ON') relay.value(0) if relay_off == 6: print('RELAY OFF') relay.value(1) 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')