From 20ce68364ef7d8be33ad02d0505a9db474b46a87 Mon Sep 17 00:00:00 2001 From: lhahn Date: Sat, 19 Aug 2023 23:38:08 +0200 Subject: [PATCH] Git initial commit --- led_blink.py | 6 ++++ simple_server.py | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100755 led_blink.py create mode 100755 simple_server.py diff --git a/led_blink.py b/led_blink.py new file mode 100755 index 0000000..d49cfa9 --- /dev/null +++ b/led_blink.py @@ -0,0 +1,6 @@ +from machine import Pin +import time +led = machine.Pin("LED", machine.Pin.OUT) +while True: + led.toggle() + time.sleep(1) diff --git a/simple_server.py b/simple_server.py new file mode 100755 index 0000000..88e845f --- /dev/null +++ b/simple_server.py @@ -0,0 +1,94 @@ +import time +import network +import socket +import machine + +from machine import Pin + +intled = machine.Pin("LED", machine.Pin.OUT) + +ssid = 'Lars-WLAN' +password = '0243LHBS18021909' + +wlan = network.WLAN(network.STA_IF) +wlan.active(True) +wlan.connect(ssid, password) + +html = """ + + Pico W +

Pico W

+

Hello World

+

+ Turn Light On +

+

+ Turn Light Off +

+
+ + +""" + +# Wait for connect or fail +max_wait = 10 +while max_wait > 0: + if wlan.status() < 0 or wlan.status() >= 3: + break + max_wait -= 1 + print('waiting for connection...') + time.sleep(1) + +# Handle connection error +if wlan.status() != 3: + raise RuntimeError('network connection failed') +else: + print('connected') + status = wlan.ifconfig() + print( 'ip = ' + status[0] ) + +# Open socket +addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1] + +s = socket.socket() +s.bind(addr) +s.listen(1) + +print('listening on', addr) + +stateis = "" + +# Listen for connections +while True: + try: + cl, addr = s.accept() + print('client connected from', addr) + + request = cl.recv(1024) + print(request) + + request = str(request) + led_on = request.find('/light/on') + led_off = request.find('/light/off') + print( 'led on = ' + str(led_on)) + print( 'led off = ' + str(led_off)) + + if led_on == 6: + print("led on") + intled.value(1) + stateis = "LED is ON" + + if led_off == 6: + print("led off") + intled.value(0) + stateis = "LED is OFF" + + response = html + stateis + + cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n') + cl.send(response) + cl.close() + + except OSError as e: + cl.close() + print('connection closed')