Raspberry Pi Pico W: Internet-Verbindung prüfen

Wenn man den Raspberry Pi Pico W als WLAN-Client programmiert und eine Verbindung zum Internet braucht, dann will man vielleicht prüfen, ob eine Verbindung ins Internet über eine bestehende WLAN-Verbindung möglich ist.

Nur weil eine WLAN-Verbindung erfolgreich war, bedeutet das nicht, dass man damit auch Zugang zum Internet hat oder eine Internet-Verbindung möglich ist.

Deshalb wollen wir hier mit dem folgenden Programmcode eine Internet-Verbindung prüfen.

Programmcode

Der folgende Programmcode ist ohne Netzwerk-Verbindung nicht lauffähig. Da der Funk-Chip vom Mikrocontroller-Chip unabhängig ist, reicht es aber aus, vor diesem Programmcode einen Programmcode aufzurufen, der eine Verbindung zum WLAN herstellt.

Der Programmcode arbeitet mit der externen Bibliothek „urequests“. Damit wird ein HTTP-Request an einen Server gesendet. Wenn auf den Request ein Response vom Server zurückkommt, dann besteht über das WLAN eine Verbindung ins Internet.

# Bibliotheken laden
import urequests as requests

try:
    # HTTP-Request senden
    request = requests.get('http://www.elektronik-kompendium.de/')
    # HTTP-Response-Status-Code ausgeben
    print('Status-Code:', request.status_code)
    # Verbindung schließen
    request.close()
except OSError:
    print('Fehler: Keine Netzwerk-Verbindung (WLAN)')

Ein Status-Code (HTTP-Response-Code) von „200“ bedeutet, dass die Verbindung zu dem betreffenden Server erfolgreich war.
Bei anderen Status-Codes wurde der Server erreicht, aber der Request hat einen Fehler auf dem Server verursacht. Die Internet-Verbindung war dann trotzdem erfolgreich.

Fehler: Keine Netzwerk-Verbindung (WLAN)

Damit der hier initiierte HTTP-Request erfolgreich ist, müssen verschiedene Bedingungen erfüllt sein.

  1. Der Raspberry Pi Pico W muss mit einem WLAN verbunden sein. Dazu muss der WLAN-Status „3“ sein.
  2. Dann muss das WLAN (WLAN Access Point), mit dem man verbunden ist, mit dem Internet-Zugangsrouter verbunden sein. Meist ist es das gleiche Gerät.
  3. Der Internet-Zugang (DSL, TV-Kabel, Glasfaser, etc.) muss grundsätzlich funktionieren.

Troubleshooting: WLAN

Wenn es mit dem Programmcode Probleme gibt, dann betrifft das hauptsächlich die WLAN-Verbindung. Der Umgang mit Funkverbindungen ist immer etwas schwierig, weil man nicht „sieht“ was passiert. Man ist dann auf Status-Meldungen vom Programmcode angewiesen. Von der Status-Meldung lässt sich aber nur selten auf eine Problemlösung schließen. Hier muss man etwas genauer hinschauen, um den Fehler zu finden, der sich nicht im Programmcode befinden muss.

Raspberry Pi Pico W als Netzwerk-Tester?

Unter diesen Umständen wäre es natürlich naheliegend auf die Idee zu kommen, einen Raspberry Pi Pico W als Netzwerk-Tester zu verwenden, der im Fehlerfall das Problem und gleich auch die Problemlösung anzeigt. Das ist eine Super-Idee. Allerdings hat sie einen Haken. Als Netzwerk-Tester ist ein Pico völlig ungeeignet. Dafür wäre Software nötig, die auf dem Pico einfach nicht lauffähig ist. Man bräuchte zumindest einen Mini-Computer mit einem richtigen Betriebssystem.
Desweiteren sind Netzwerk-Verbindungsprobleme vielschichtig und von den Geräten und Anwendungen abhängig. Wie will so ein Netzwerk-Tester ein Problem auf einem bestimmten Client erkennen können, wo vielleicht nur die betreffende Anwendung falsch konfiguriert ist oder einen Fehler aufweist?
Professionelle Netzwerk-Tester sind nicht ohne Grund teure Geräte. Deren Funktionen lassen sich nicht einmal so nachbauen. Und schon gar nicht in einen Raspberry Pi Pico pressen.

Darf es ein bisschen mehr sein?

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:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen