WLAN Status abfragen und per LED anzeigen

  • Hallo zusammen,


    ich habe folgenden Code geschrieben:


    die datei habe ich in den autostart gelegt. folgendes soll nun passieren:
    mein pi braucht immer ein moment, bis es eine wlan verbindung aufgebaut hat (klar, muss ja erst starten etc). darum wollte ich eine status led anbringen, die, sobald eine aktive und funktionierende wlan verbindung aufgebaut ist (localhost ist anping-bar) für 10 sek leuchtet.


    jetzt habe ich mein pi angemacht, nach einiger zeit leuchtet auch die led, allerdings kann ich mich dann immer noch nicht per putty einloggen. ich muss nochmals ca. 1 min warten (oder so...) und dann ist erst eine anmeldung möglich. davor kommt ein network-error.


    1. warum muss ich eine "extra" zeit warten?
    2. auf "was" warte ich? => kann ich die led erst dann anschalten, wenn das ereignis, welches mir das putty-anmelden ermöglicht, eingetreten ist?



    vielen dank für eure hilfe.
    vg
    elchico

  • Hallo Elchico,


    der localhost hat immer die IP 127.0.0.1. Dabei handelt es sich immer um das Gerät, auf dem der Ping-Befehl ausgeführt wurde.


    Dieser Ping-Befehl funktioniert auch bei einem System außerhalb jeglicher Netzwerk-Anbindung.


    Du musst das System anpingen, dass auch erreicht werden soll, z.B. der Router oder ein anderer Computer. Und selbst dann wirst Du feststellen, dass das nicht unbedingt bereits nach dem ersten Ping erfolgreich ist, sondern 10 bis 20 Durchläufe erforderlich machen kann.


    Und erst dann steht die WLAN-Verbindung.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Und warum deklarierst du ne Liste a = [0] um dann auf das erste (und einzige) Element zu vergleichen? Warum prüfst du nicht einfach auch != 0?

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • danke für Eure antworten. habe jetzt den code entsprechend angepasst (die ip ist mein handy):



    bis zur zweiten while-schleife funktioniert alles perfekt (gpio47 ist die act-led). diese soll praktisch leuchten, sobald das pi mit dem internet verbunden ist und soll erst aufhören zu leuchten, wenn ich mich mit "pi" anmelde (per putty).


    allerdings macht die zweite while schleife probleme: die led leuchtet einfach durchgehend, auch nachdem ich mich schon angemeldet habe. Wisst Ihr, woran das liegt?


    und auch gleich noch eine zweite frage: wenn ich diesen python-code so angleiche, dass alle 5 min geprüft wird, ob ich immer noch per putty mit pi angemeldet bin und wenn nicht, die act-led wieder angemacht wird, und ich diesen code im hintergrund laufen lasse: meint ihr, das würde viel cpu-power fressen? ist schließlich nur ein kleiner code...


    Hintergrund: ich möchte, dass, immer wenn ich NICHT per putty angemeldet bin, UND zusätzlich eine internet verbindung besteht, die act led leuchtet...



    Danke noch mal für Eure zeit.
    Vg