Script per Smartphone starten

  • Guten Abend zusammen,


    auf meinem Raspberry möchte ich gerne per Smartphone (Android) über das Internet/internes Netzwerk ein Python-Script starten und auch wieder beenden. Hat jemand da eine Idee, welche Möglichkeiten es da gibt? Mit dem Skript wird eine Alarmanlage ein- bzw- ausgeschaltet.


    Vielen Dank und einen schönen Abend mit hoffentlich wenig Sturmböen.


    whitechristmas

  • Man könnte sich eine SSH Client Software auf dem Smartphone installieren. (z.B. JuiceSSH)
    Beim Raspi dann SSH aktivieren und dann mit dem Smartphone über SSH das Scribt starten.
    Automatisch zusammengefügt:[hr]
    Befindet sich der Client (hier: Android Smartphone) nicht im gleichen Netzwerk, muss der Port 22 weitergeleitet werden!

  • Könnte er nicht auch einfach nach der ip des Smartphones suchen? (festvergeben) dann könnte dieser automatisch bei verlassen des wlans aktivert werden

    :shy: Legastheniker :shy:


    wer fehler findet darf nachsicht haben


    Klick>Youtube Channel<Klick

  • Hallo, meine Empfehlung für dein Anliegen ist die Android App "aurum ssh/http remote", sie ist im Play Store verfügbar und auch relativ einfach auf mehrere Smartphones oder Tablets installierbar und synchronisierbar. Außerdem kann sie als Fernbedienung (Stichwort Lirc) verwendet werden und sie macht auch optisch etwas her, ganz wichtig natürlich, die Verbindung ist schnell und stabil. Was natürlich noch ein Tick einfacher ist, ist das Starten der Scripte per Sprachbefehl, allerdings ist das einrichten und installieren umfangreicher. Hier empfehle ich die "Tasker" App mit den Plugins "SSH Plugin" und "AutoVoice", ebenfalls im Play Store verfügbar. Tutorials zum einrichten sind haufenweise im Internet verfügbar. Viel Spaß damit.
    Automatisch zusammengefügt:[hr]
    Hallo nochmal, die Tasker App kann auch automatisiert werden. So nach dem Motto: wenn du in diesem Netzwerk XY bist, dann mache dies ???. Ist auch sehr praktisch.

    Edited once, last by VolKah ().

  • Guten Morgen zusammen,


    mit einem SSH-Programm besteht der Nachteile, dass ich alles eintippen muss und wenn das Skript beendet werden soll, muss der Prozess unschön (kill ...) beendet werden. Bei den Apps, bei denen ich den Befehl hinter einem Button verstecken kann, ist das Problem mit dem Beenden des Skriptes nicht gelöst.


    Vielen Dank.


    whitechristmas

  • Moin,


    eine Möglichkeit wäre die Nutzung eines Telegram-Bots, zB über die python-lib "telepot".
    Dann ein kurzes Python-Skript, welches auf "commands" von deinem Telegram-Account hört und per os.system das Python-Skript startet und stoppt.
    Ich nutze es zum Beispiel zum Schalten von Funksteckdosen. =)


    Bezüglich dem Starten und Stoppen von Programmen würde ich die Nutzung von Runlevel-Skripten empfehlen.
    Das ist ist eine gute Anleitung: http://pcdevilbydaniel.blogspo…ript-und-runlevel_28.html



    Mfg
    Minfred

    Edited once, last by Minfred ().

  • Hallo hyle,


    das ist eine gute Idee mit pkill. Werde ich gleich mal testen. Wusste gar nicht, dass es diesen Befehl auch gibt.


    Viele Grüße und Danke.


    whitechristmas

  • Hallo hyle,


    das Skript lässt sich weder mit SIGTERM noch mit SIGKILL beenden. Hast Du vielleicht eine Idee, woran das liegen könnte?
    Oder kann es vielleicht daran liegen, dass das Skript sich in einer Endlosschleife (while) befindet?


    Vielen Dank.


    whitechristmas

  • Hallo,


    das Skript zeigt sich sowohl mit -SIGTERM als auch mit -SIGKILL unbeeindruckt und läuft weiter.


    Viele Grüße.


    whitechristmas

    • Official Post

    Da ich Deine Vorgehensweise nicht kenne, hätte ich mehrere mögl. Fehlerquellen.


    - Falls das Script als root (z.B. mit sudo) gestartet wurde, dann muss auch ein sudo vor pkill.
    - Ist die Schreibweise des Scriptnamens richtig? =>Tippfehler/Groß- & Kleinschreibung
    - Du kannst es mal mit -SIGINT versuchen (das wäre analog der Tastenkombination von Strg+c in der Konsole)


    Zur Sicherheit nachfolgend nochmal der Befehl, wobei Du natürlich "script.py" mit dem Namen Deiner Datei ersetzen und evtl. ein sudo vor pkill stellen musst.


    Code
    pkill -SIGTERM script.py
  • Hallo hyle,


    ich habe es jetzt mit folgendem kleinem Script versucht und es geht auch nicht:


    Code
    import time
    
    
    i=0
    while True:
       print("test",i)
       i+=1
       time.sleep(2)


    sudo pkill -SIGTERM test.py


    Ob mit oder ohne sudo, -SIGTERM, -SIGKILL oder -SIGINT. Was mache ich falsch? Kannst Du das bei Dir nachvollziehen?


    Vielen Dank.


    whitechristmas

  • Hallo hyle,


    mit dem Parameter -f funktioniert es jetzt super. Vielen Dank für Deine Unterstützung und einen schöne Abend.


    whitechristmas