import webrepl_setup
* Bestätigen Sie das Aktivieren der WLAN-Funktion mit ''E''.
* Führen Sie mit ''y'' einen Reboot des ESP32 durch.
* Nun kann ein WLAN-Netzwerk erstellt werden. Z.B. mit:
import network
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid = 'ESP32-Wifi')
ap.config(authmode=3, password ='hallo123')
* Der Befehl ''network.WLAN(network.AP_IF)'' aktiviert einen sogenannten Access-Point, also ein WLAN-Netzwerk. Mit ''ap.active(True)'' wird dieser aktiviert. Mit ''ap.config(...)'' kann dann der Name (''essid'') und das Passwort des WLANs konfiguriert werden.
* Per Smartphone oder Notebook können Sie sich nun ins ESP32-Wifi einloggen.
* Nach der Verbindung passiert nichts, da der ESP32 lediglich ein Netzwerk erstellt hat, wir haben aber keine weiteren Befehle verwendet, um z.B. Text oder eine Webseite auszugeben... Im Folgenden können Sie aber einen Web-Server mit einfacher Webseite mit dem ESP32 erstellen.
===== Web-Server =====
Versuchen Sie den Code von oben (Drahtlos-Verbindung) zu ergänzen, dass Sie mit dem Smartphone/Notebook eine Webseite auf ihrem ESP32 abrufen können. Auf der Webseite soll ein Text (z.B. "Hallo Welt!") erscheinen. Verwenden Sie ChatGPT oder folgen Sie dieser [[https://randomnerdtutorials.com/micropython-esp32-esp8266-access-point-ap/|Anleitung]].
Mögliche ChatGPT-Prompts:
* Programmiere in Micropython eine Webseite auf einem ESP32 mit dem Text "Hallo Welt!". Man soll sich mit dem WLAN, welches vom ESP32 erzeugt wird, verbinden können und dann soll "Hallo Welt!" erscheinen.
*
import socket, network
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid = 'ESP32-Wifi') #Wählen Sie den Namen für das WLAN
ap.config(authmode=3, password ='sensorsensor') #Wählen Sie ein Passwort
def webseite(): #Diese Funktion definiert ihre HTML-Webseite
html = """Hallo Welt!
"""
return html
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(5)
while True:
conn, addr = s.accept()
print('Verbunden mit %s' % str(addr))
request = conn.recv(1024)
print('Inhalt = %s' % str(request))
response = webseite()
conn.send(response)
conn.close()
import socket, machine, neopixel
import network
np = neopixel.NeoPixel(machine.Pin(7),1)
np[0] = (255,0,0)
np.write()
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid = 'Sensor10')
ap.config(authmode=3, password ='sensorsensor')
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)
ledstatus = "ROT"
print('listening on', addr)
def web_page():
html = """ Mini Web-Server
Mini Web-Server
Neopixel-Status: """ + ledstatus + """
"""
return html
while True:
conn, addr = s.accept()
print('Verbunden mit %s' % str(addr))
request = conn.recv(1024)
request = str(request)
print('Content = %s' % request)
ledr = request.find('/?led=rot')
ledg = request.find('/?led=grun')
if ledr == 6:
print('Neopixel rot')
np[0] = (255, 0, 0)
ledstatus="ROT"
np.write()
if ledg == 6:
print('Neopixel grün')
np[0] = (0, 100, 0)
ledstatus="GRÜN"
np.write()
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()