summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeightonGinty <lxg184@student.bham.ac.uk>2024-11-16 16:28:14 +0000
committerLeightonGinty <lxg184@student.bham.ac.uk>2024-11-16 16:28:14 +0000
commit9180ce6ca23b1833300bdd18042f0bf110f1a273 (patch)
tree7b7d591a5282bac068fa4d3d4a0712b3153fca43
parent920b948895229c6624e77ca675000d45c2fa8dc0 (diff)
Add server
-rw-r--r--alcogotchi-server/alcogotchi.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/alcogotchi-server/alcogotchi.py b/alcogotchi-server/alcogotchi.py
new file mode 100644
index 0000000..8f5a033
--- /dev/null
+++ b/alcogotchi-server/alcogotchi.py
@@ -0,0 +1,68 @@
+from future import *
+try:
+ import usocket as socket
+except:
+ import socket
+import network
+
+import esp
+esp.osdebug(None)
+
+import gc
+gc.collect()
+
+ssid = 'MicroPython-AP'
+password = '123456789'
+
+ap = network.WLAN(network.AP_IF)
+ap.active(True)
+ap.config(essid=ssid, password=password)
+
+while ap.active() == False:
+ pass
+
+print('Connection successful')
+print(ap.ifconfig())
+
+def web_page(led_successful):
+ if led_successful == 1:
+ gpio_state="Drinking Booze"
+ else:
+ gpio_state="Not Drinking Booze :("
+
+ html = """<html><head> <title>ESP Web Server</title> <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="icon" href="data:,"> <style>html{font-family: Helvetica; display:inline-block; margin: 0px auto; text-align: center;}
+ h1{color: #0F3376; padding: 2vh;}p{font-size: 1.5rem;}.button{display: inline-block; background-color: #e7bd3b; border: none;
+ border-radius: 4px; color: white; padding: 16px 40px; text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}
+ .button2{background-color: #4286f4;}</style></head><body> <h1>ESP Web Server</h1>
+ <p>Drinking state: <strong>""" + gpio_state + """</strong></p><p><a href="/?led=on"><button class="button">ON</button></a></p>
+ <p><a href="/?led=off"><button class="button button2">OFF</button></a></p></body></html>"""
+ return html
+
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+s.bind(('', 80))
+s.listen(5)
+
+while True:
+ conn, addr = s.accept()
+ print('Got a connection from %s' % str(addr))
+ request = conn.recv(1024)
+ request = str(request)
+ print('Content = %s' % request)
+ drinking_booze = request.find('/?booze=yes')
+ not_drinking_booze = request.find('/?booze=no')
+ if drinking_booze == 6:
+ print('Drinking booze')
+ response = web_page(1)
+
+ # led.value(1)
+ if not_drinking_booze == 6:
+ print('Not drinking booze')
+ response = web_page(0)
+
+ # led.value(0)
+ 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() \ No newline at end of file