Raspberry Pi Pico W als WLAN Access Point (WAP)

Der Raspberry Pi Pico W hat auf seiner Platine einen Funk-Chip mit WLAN-Unterstützung. Da ist es natürlich naheliegend den Pico als WLAN Access Point, auch Wireless Access Point genannt, zu verwenden. Alles was man braucht ist einen Namen für das WLAN zu wählen und ein Passwort für die Client-Authentifizierung zu definieren.

Zur Einrichtung des WLAN Access Points reichen im einfachsten Fall schon insgesamt nur 4 Zeilen Programmcode aus.

Programmcode für einen WLAN Access Point

Um mit dem Raspberry Pi Pico W einen WLAN Access Point zu erzeugen reichen schon 4 Zeilen Programmcode aus.

  1. Die erste Zeile lädt die Bibliothek für die Netzwerk-Funktionen.
  2. Hier wird die Betriebsart definiert. AP_IF bedeutet so viel wie Access Point, also der Access-Point-Betrieb.
  3. Dann wird die Konfiguration für den Access Point übergeben. Dazu gehört der Name des WLANs (ESSID) und das Passwort für die Authentifizierung.
  4. Jetzt wird das WLAN-Interface aktiviert.
  5. Die letzte Zeile zeigt die Netzwerk-Konfiguration auf der Kommandozeile an (sinnvolle Ergänzung).
# Bibliotheken laden
import network

# WAP-Betrieb
wap = network.WLAN(network.AP_IF)

# WAP-Konfiguration
wap.config(essid='pico', password='12345678')

# WLAN-Interface aktivieren
wap.active(True)

# Ausgabe der Netzwerk-Konfiguration
print(wap.ifconfig())

Nach der Ausführung des Programmcodes wird das Programm automatisch beendet. Da der WLAN-Chip vom Pico unabhängig ist, bleibt er trotzdem aktiv. Das heißt, man könnte jetzt einen Programmcode starten und den Pico als WAP sinnvoll nutzen. Vorher ist mit einem WLAN-Client zu prüfen, ob der WAP tatsächlich erzeugt wurde.

Hinweis: Die Zugangsdaten (ESSID und Passwort) können auch selbst gewählt werden. Die Eingabe von Sonderzeichen sollte man eher vermeiden. Beim Passwort muss man darauf achten, dass es mindestens 8 Zeichen lang ist.

WLAN Access Point prüfen

Zum Prüfen, ob der WAP tatsächlich erzeugt wurde, nimmt man einfach ein Smartphone und öffnet die Liste der WLAN-Auswahl. Die findet man in der Regel in den Einstellungen. Hier sollte ein WLAN mit dem Namen „pico“ auftauchen. Bei der Gelegenheit kann man sich auch gleich verbinden. Das geforderte Passwort ist „12345678“.

Erweiterter Programmcode für einen WLAN Access Point

Was macht der folgende Programmcode besser?

  1. Das Erstellen des WAPs befindet sich in einer Funktion. Die Funktion kann in einen eigenen Programmcode übernommen werden und mit einem Kommando aufgerufen werden.
  2. Ausgabe zusätzlicher Informationen auf der Kommandozeile über die Netzwerk-Verbindung (IPv4-Konfiguration).
# Bibliotheken laden
import network
import rp2

# Funktion: WAP erstellen
def wapCreate():
    # WAP-Konfiguration
    rp2.country('DE')
    wap = network.WLAN(network.AP_IF)
    wap.config(essid='pico', password='12345678')
    wap.active(True)
    # Ausgabe der Netzwerk-Konfiguration
    netConfig = wap.ifconfig()
    print('IPv4-Adresse:', netConfig[0], '/', netConfig[1])
    print('Standard-Gateway:', netConfig[2])
    print('DNS-Server:', netConfig[3])

# WAP erstellen
wapCreate()

Troubleshooting

Wenn man einen WLAN-Client, zum Beispiel ein Smartphone, mit dem WLAN des Picos erfolgreich verbinden konnte, dann kann es sein, dass diese Verbindung nicht von Dauer ist. Gemeint ist, dass in diesem Fall das Smartphone die Verbindung zum Pico-WLAN beendet und sich mit einem anderen WLAN verbindet. Eine Kommunikation mit dem Pico ist dann nicht mehr möglich.

Der Grund für den Wechsel in ein anderes WLAN ist vergleichsweise einfach. Die Nutzung eines Smartphones ist in der Regel nur mit Internet-Zugang sinnvoll. Und deshalb versucht sich ein Smartphone automatisch mit einem Netzwerk zu verbinden, über das Verbindungen ins Internet möglich sind. Beim Pico-WLAN ist das nicht der Fall, weil es zwar ein WLAN ist, aber auf der anderen Seite keine Verbindung ins Internet existiert. Das Smartphone erkannt das und versucht nach einiger Zeit in ein anderes bekanntes WLAN zu wechseln, dass Internet-Zugang bietet.

Dieses Verhalten wird die Regel sein und kann man dem Smartphone natürlich abgewöhnen. Wobei das wenig sinnvoll ist.

Darf es ein bisschen mehr sein?

Einen Raspberry Pi Pico W nur als WLAN Access Point zu betreiben, ist wenig sinnvoll. Er hat keine andere Netzwerk-Schnittstelle, um sich mit einem vorhandenen Netzwerk verbinden zu können. Deshalb muss der Pico zusätzlich eine Server-Funktion haben, um Daten bereitstellen zu können.
Wie wäre es, wenn wir jetzt noch einen HTTP-Server auf dem Raspberry Pi Pico W betreiben, den wir im Browser aufrufen können.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Elektronik-Set Pico WLAN Edition

Elektronik-Set Pico WLAN Edition

Hardware-nahes Programmieren mit dem Mikrocontroller Raspberry Pi Pico W und MicroPython.

  • Raspberry Pi Pico W mit gelöteten Stiftleisten
  • Spezielles Steckbrett mit GPIO-Beschriftung
  • Einführung ins Hardware-nahe Programmieren
  • Schwerpunkte: WLAN, MQTT und Internet
  • Deutschsprachige Anleitung als PDF-Datei zum Download

In unseren Online-Workshops bieten wir intensiven Erfahrungsaustausch in kleinen Gruppen und Unterstützung bei individuellen Problemen.

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren