Coding Frage (Bash)

  • Guten Morgen,

    ich brauche einmal "Denk Hilfe".

    Ich habe ein kleines Projekt auf https://github.com/JuXReal/SmartKey .
    Um festzustellen das die Smartphones zu Hause sind, werden die angepingt.

    Dumm nur:

    Das die Smartphones ihr Wlan zwischendurch ausschalten.


    Die Lösung:

    Erst wenn 5 mal hintereinander ein ping fehl schlägt soll 0 bzw 1 gerechnet werden.


    Frage:

    Wie kann man das elegant lösen? Mir fallen manche lösungen ein ( Werte in Dateispeichern und wieder einlesen etc. ).

    Aber das ist viel zu kompliziert gedacht. Vielleicht gibt es ja eine ganz einfache lösung. Ich komme nur nicht drauf.

    Fitnessstudio: 20€/Monat , Eiweiß+Proteine 80€/Monat... daß du mir aus dem Weg gehst... unbezahlbar!

  • Hey Brayen eigentlich ziemlich simpel:

    Bash:
    #!/bin/bash
    erreichbar = 0
    nichterreichbar = 0
    for (( i=1; i<=5; i++ ))
    do
    if echo $(ping -c 1 IPADRESSE) |grep Unreachable &>/dev/null
    then
    nichterreichbar = 1
    else
    erreichbar = 1
    fi
    sleep 5
    done

  • kannst den sleep natürlich variieren bzw halt die zeitabstände einstellen. Aber vorsicht! Je nach dem mit was du das betreibst, kann das deinen PC/Kontroller blockieren da er nur 1 prozess gleichzeitig machen kann. Wenn du nen µC dafür verwendest wäre evtl ne ISR die bessere Alternative.

  • Ziel ist es:

    2 oder mehr Ip Adressen abzufragen.

    Wenn irgendeine Ip Adresse erreichbar ist, muss die $Var = 1 sein

    Wenn keine IP Adresse erreichbar ist, muss die $Var = 0 sein.

    Und dann in jedem Loop noch rein, was passiert wenn diese IP da ist. Dann ist es fertig.

    :)

    Ziel ist es einfach, das Smartphone als Trigger zu benutzen. Das funktionert soweit ganz gut, nur das die doofen Smartphones Wlan ausschalten wenn sie es nicht brauchen...
    Das bedeutet: Wir sindbeide zu Hause und die Kamera fährt Richtung Raum und filmt..

    So mal als Hintergrund:

    Ich habe eine Securtiy Cam hier. Diese sitzt auf ein stepping Motor und dreht sich weg wenn ein Smartphone zu Hause ist. :) (Motiontracking kommt noch)

    im Nächsten schritt gehen die Steckdosen an, bzw. aus. Und das alles via den Smartphones.

    Ich habe halt nur einfach nicht bedacht, das diese dumme Smartphones Wlan ausschalten könnten.

    Fitnessstudio: 20€/Monat , Eiweiß+Proteine 80€/Monat... daß du mir aus dem Weg gehst... unbezahlbar!

  • Moin, Du glaubst überhaupt nicht was ich so bastel :)

    Ne, GPS stinkt. Außerdem müsste ich dann für IOS, Windows Phone und Android coden. Da bin ich viel zu faul für.

    Am Anfang erst einmal so, danach via MAC Adresse und ein Shell Gui wo man einmal Adressen (IP/Mac) Auswählen kann. Fertig. Wer kein Nerd ist und das nicht kann braucht auch kein Smart home im eigenbau !

    Fitnessstudio: 20€/Monat , Eiweiß+Proteine 80€/Monat... daß du mir aus dem Weg gehst... unbezahlbar!

  • Das Problem bei dem Pingen der IP Adresse sehe ich halt da, wie du schon sagtest, dass das Smartphone sein WLAN ausschält wenn nicht benötigt. Somit ist es ja auch mal (gerade nachts) über 5-8 std nicht erreichbar obwohl du zuhause bist.

    Lg Aiox

  • So, mehrfach angefangen zu Antworten aber immer kam etwas dazwischen und dann habe ich das Fenster weg geklickt.

    Warum IP?

    - ich würde nicht nur meine Smartphones Pingen, auch mein Windows Server, die 4 anderen Raspberrys und das NAS laufwerk etc.

    Dann kann man für jeden Case ein eingenes IF basteln und die Kombinationen machen :-). Ich habe aber festgestellt das ein Berechneter Wert Probleme macht. Also feste $Var und ein großes IF für Kombinationen.

    Bei uns ist es sehr unwahrscheinlich , das das Smartphomne nicht einmal 1 Stunde in die Hand genommen wird. Also müsste mann das PING timeout ordentlich einstellen. Es geht ja mehr da drum das nach 1-2 Stunden die kamera rum fährt.

    Fitnessstudio: 20€/Monat , Eiweiß+Proteine 80€/Monat... daß du mir aus dem Weg gehst... unbezahlbar!

  • wieso willst du deinen windows server und dein nas laufwerk anpingen? in deiner Problemstellung gings doch erstmal darum das du erkennen musst wenn dein smartphone nicht in reichweite ist.
    Nachts hast du allerdings nach wie vor das Problem das du das Smartphone nicht in die Hand nimmst.

  • Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstelle ggf. ein neues Thema.

    • :)
    • :(
    • ;)
    • :P
    • ^^
    • :D
    • ;(
    • X(
    • :*
    • :|
    • 8o
    • =O
    • <X
    • ||
    • :/
    • :S
    • X/
    • 8)
    • ?(
    • :huh:
    • :rolleyes:
    • :love:
    • 8|
    • :cursing:
    • :thumbdown:
    • :thumbup:
    • :sleeping:
    • :whistling:
    • :evil:
    • :saint:
    • <3
    • :!:
    • :?:
    Maximale Anzahl an Dateianhängen: 10
    Maximale Dateigröße: 1 MB
    Erlaubte Dateiendungen: bmp, gif, jpeg, jpg, pdf, png, txt, zip
      Du kannst die Antworten mittels Drücken und Festhalten in ihrer Reihenfolge ändern. Du kannst 20 Antwortmöglichkeiten vorgeben.
      Das Ergebnis ist erst mit dem Ablauf der Umfrage oder der Abgabe einer Stimme sichtbar.