letzte Änderungen für Blog-Post
This commit is contained in:
75
wlan.py
Normal file
75
wlan.py
Normal file
@@ -0,0 +1,75 @@
|
||||
#encoding: utf-8
|
||||
import machine
|
||||
import network
|
||||
import socket
|
||||
import rp2
|
||||
from time import sleep
|
||||
from machine import Pin
|
||||
|
||||
led = Pin(15, Pin.OUT)
|
||||
|
||||
ssid = '<ssid>' # WLAN Name
|
||||
passwd = '<passwd>' # Zugangspasswort des WLAN
|
||||
rp2.country('DE') # WLAN im deutschen Frequenzspektrum
|
||||
html = """<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Willkommen</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2> Willkommen auf dem Raspberry Pi Pico W</h2>
|
||||
</head>
|
||||
</html>"""
|
||||
# Verbindung aufbauen
|
||||
def connect():
|
||||
|
||||
wlan = network.WLAN(network.STA_IF)
|
||||
wlan.active(True)
|
||||
wlan.connect(ssid,passwd)
|
||||
while not wlan.isconnected(): # Wiederhlen, bis Verbindung besteht
|
||||
print('Waiting for connection...')
|
||||
sleep(1)
|
||||
print(f'connected={wlan.isconnected()}')
|
||||
led.on() # Wenn die Verbindung zum WLAN steht, Status LED einschalten.
|
||||
return wlan.ifconfig()
|
||||
|
||||
# Bindet einen Socket an die Verbindung
|
||||
def open_socket(ip):
|
||||
# Socket öffnen
|
||||
s = socket.socket()
|
||||
address = socket.getaddrinfo('0.0.0.0',80)[0][-1]
|
||||
print(f'address={address}')
|
||||
s.bind(address)
|
||||
s.listen(1)
|
||||
return s
|
||||
|
||||
def serve(connection):
|
||||
running = True
|
||||
#Start web server
|
||||
while running:
|
||||
client, adress = connection.accept()
|
||||
request = client.recv(1024)
|
||||
print(f'1request={request}')
|
||||
request = str(request)
|
||||
print(f'2request={request}')
|
||||
try:
|
||||
request = request.split()[1]
|
||||
print(f'3request={request}')
|
||||
except IndexError:
|
||||
pass
|
||||
if request =='/stop':
|
||||
print('stopping')
|
||||
running = False
|
||||
|
||||
client.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n'.encode('utf-8'))
|
||||
client.send(html.encode('utf-8'))
|
||||
client.close()
|
||||
|
||||
ip = connect()
|
||||
print(f'ip={ip}')
|
||||
s = open_socket(ip)
|
||||
serve(s)
|
||||
s.close()
|
||||
led.off()
|
||||
print(f'socket={s}')
|
||||
#Hier ist jetzt die Verbindung aufgebaut und der Socket einsatzbereit.
|
||||
Reference in New Issue
Block a user