In diesem Beitrag zeige ich dir, wie du deinen ESP32 als WiFi Access Point einrichtest und wie du dich mit einem Gerät zu diesem Access Point verbindest. Diese Funktion ist nützlich, um ein eigenes Netzwerk für IoT-Geräte zu erstellen oder um Daten zwischen dem ESP32 und anderen Geräten auszutauschen.
Ein eigener WiFi Access Point ermöglicht es dir, unabhängig von bestehenden Netzwerken eine stabile und kontrollierte Verbindung zu deinen Geräten herzustellen. Dies ist besonders vorteilhaft in Umgebungen, in denen kein WLAN verfügbar ist oder in Projekten, bei denen du eine direkte Kommunikation ohne Zwischenrouter benötigst, z.B. bei der Überwachung und Steuerung von Sensoren und Aktoren in einem Smart-Home-System.
Inhaltsverzeichnis
- Was ist ein Access Point?
- Was du benötigst
- MicroPython auf dem ESP32 installieren
- Aufbau eines offenen Access Point mit dem ESP32 und MicroPython
- Einen sicheren Access Point mit MicroPython am ESP32 erstellen
Was ist ein Access Point?
Ein Access Point (AP) ist ein wesentlicher Bestandteil eines drahtlosen Netzwerks, der es anderen Geräten ermöglicht, drahtlos eine Verbindung zu einem Netzwerk herzustellen. Der Access Point agiert als zentrale Schnittstelle, die die Kommunikation zwischen drahtlosen Geräten und dem kabelgebundenen Netzwerk ermöglicht. Er stellt eine WLAN-Schnittstelle bereit, über die Endgeräte wie Smartphones, Laptops oder IoT-Geräte Daten austauschen können. Der Access Point übernimmt die Aufgabe der Datenvermittlung, Koordination und Verwaltung der drahtlosen Verbindungen, indem er die Datenpakete zwischen den Geräten und dem Netzwerk weiterleitet.
Was du benötigst
Um dieses Projekt durchzuführen, benötigst du die folgenden Komponenten und Werkzeuge:
- ESP32 D1 R32 Board*
- MicroPython Firmware auf dem ESP32
- Entwicklungsumgebung (z.B. Thonny oder uPyCraft)
- Ein Gerät (z.B. Smartphone oder Laptop) zur Verbindung mit dem Access Point
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
MicroPython auf dem ESP32 installieren
Falls du noch nicht MicroPython auf deinem ESP32 installiert hast, folge den Anweisungen in meinem vorherigen Beitrag zur Installation der MicroPython-Firmware.
Aufbau eines offenen Access Point mit dem ESP32 und MicroPython
Zunächst zeige ich dir, wie du einen offenen Access Point aufbaust.
import network import gc gc.collect() #der Name des Access Point ssid = 'ESP32' ap = network.WLAN(network.AP_IF) ap.config(essid=ssid, authmode=network.AUTH_OPEN) ap.active(True) #solange der AP noch nicht aufgebaut ist, #wird ein Punkt auf der Konsole ausgegeben while ap.active() == False: print(".", end="") #Ausgeben der Daten vom AP print() print('Access Point wurde aufgebaut!') print('Mit folgenden Verbindungsdaten:') print(ap.ifconfig()) """ Eine Endlosschleife starten, sonst würde das Programm sofort beendet und wir könnten uns nicht mit diesem verbinden. """ try: while True: pass except KeyboardInterrupt: ap.active(False)
In der Kommandozeile wird dir die Konfiguration des AP ausgegeben, wobei die IP-Adresse 192.168.4.1 die default Adresse ist.
Wenn du nun mit dem Handy, Tablet oder deinem PC nach WLAN Netzwerke in deiner Umgebung suchst, solltest du dieses offene Netzwerk finden.
Einen sicheren Access Point mit MicroPython am ESP32 erstellen
Es ist jedoch empfehlenswert, den AP zu sichern. Besonders wichtig wird dieses, wenn du darüber Smarthome Geräte betreibst!
Die möglichen Parameter zum Absichern deines Access Points sind:
- network.AUTH_OPEN
- network.AUTH_WEP
- network.AUTH_WPA_PSK
- network.AUTH_WPA2_PSK
- network.AUTH_WPA_WPA2_PSK
- network.AUTH_MAX
Für ein gesichertes Netzwerk benötigen wir zusätzlich ein Passwort, welches mindestens 8 Zeichen lang ist. Du kannst ein kürzeres eintragen, jedoch werden die Geräte, mit welchen du dich verbinden möchtest, diese Eingabe nicht akzeptieren.
#der Name des Access Point ssid = 'ESP32' #das Passwort des Access Point passwort = '12345678' ap = network.WLAN(network.AP_IF) ap.config(essid=ssid, password=passwort, authmode=network.AUTH_WPA_PSK) ap.active(True)
Wenn wir erneut nach WLAN Netzwerke suchen, dann wird dieses jetzt als verschlüsseltes Netzwerk angezeigt.
Ein abgesicherter Access Point ist wichtig aus folgenden Gründen:
- Schutz vor unbefugtem Zugriff: Sicherheitsmaßnahmen wie Verschlüsselung und starke Passwörter verhindern, dass Unbefugte auf das Netzwerk zugreifen und sensible Daten abfangen oder manipulieren können.
- Vertraulichkeit der Daten: Durch Verschlüsselung bleiben übertragene Daten vertraulich und vor unbefugtem Zugriff geschützt, was besonders wichtig ist für persönliche Informationen und geschäftskritische Daten.
- Vermeidung von Netzwerkstörungen: Ein abgesicherter Access Point reguliert den Zugang, verhindert Überlastungen durch nicht autorisierte Geräte und gewährleistet die Netzwerkstabilität.
- Einhaltung gesetzlicher Vorgaben: Viele Organisationen müssen gesetzliche Datenschutzbestimmungen einhalten, was durch Sicherheitsmaßnahmen für den Access Point unterstützt wird.
- Reduzierung von Haftungsrisiken: Durch Sicherheitsvorkehrungen werden potenzielle Risiken für Datenverluste und rechtliche Haftungen minimiert.
Ein gut gesicherter Access Point trägt dazu bei, die Sicherheit des Netzwerks zu gewährleisten und schützt vor möglichen Risiken durch unautorisierten Zugriff oder Datenverlust.
1 thought on “MicroPython mit ESP32: Erstellen eines WiFi Access Point und Verbindung herstellen”