import network
import machine
import socket
# Konfiguracja WiFi
SSID = "Wokwi-GUEST"
PASSWORD = ""
# Inicjalizacja WiFi
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(SSID, PASSWORD)
while not sta_if.isconnected():
pass
print("Serwer uruchomiony na:", sta_if.ifconfig())
# Konfiguracja pinów
relay = machine.Pin(26, machine.Pin.OUT) # Przekaźnik
led = machine.Pin(2, machine.Pin.OUT) # LED statusu
sensor_open = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_UP)
sensor_closed = machine.Pin(27, machine.Pin.IN, machine.Pin.PULL_UP)
# Tworzenie serwera HTTP
def start_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)
while True:
conn, addr = s.accept()
print('Połączenie z:', addr)
request = conn.recv(1024).decode()
print("Żądanie:", request)
if "/open" in request:
relay.value(1)
led.value(1)
elif "/close" in request:
relay.value(0)
led.value(0)
# Odczyt czujników krańcowych
brama_otwarta = "TAK" if sensor_open.value() == 0 else "NIE"
brama_zamknieta = "TAK" if sensor_closed.value() == 0 else "NIE"
# Odpowiedź HTTP
response = f"""
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<body>
<h1>Stan Bramy</h1>
<p>Otwarta: {brama_otwarta}</p>
<p>Zamknięta: {brama_zamknieta}</p>
</body>
</html>
"""
conn.send(response)
conn.close()
start_server()