Startseite › Foren › Deutsches LiveCode-Forum › Script auf Remote Rechner starten
- Dieses Thema hat 8 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 1 Monat von MichaelS.
-
AutorBeiträge
-
-
Juli 19, 2022 um 20:57 Uhr #45501
Hallo zusammen,
hat jemand eine Idee wie ich ein Bash Script oder Python Script auf einem Server (per IP Adresse und PW erreichbar) starten kann?
Ich würde gerne eine Webcam aus der Ferne starten und das aufgenommene Bild per SFTP Verbindung auf mein Android Smartphone übertragen und ansehen.
Wie könnte ich so ein Programm auf einem Remote Server starten?Liebe Grüsse
Michael -
Juli 20, 2022 um 14:25 Uhr #45530
Hi Michael,
ich verstehe Deine Struktur noch nicht ganz: also
1. es gibt irgendwo einen Server, an den eine Webcam angeschlossen ist
2. jetzt musst Du erstens wissen, wie man das Programm startet, welches der Webcam sagt, dass sie ein Bild machen soll
3. dann musst Du wissen, wo das Bild gespeichert wird und wie es heisst.
4. musst Du eine Schnittstelle auf dem Server haben, die aus dem Netz angesprochen werden kann und die das Bild zurückliefert.Frage:
zu 1. wie heisst der Server, ist der von Dir oder ein öffentlicher Server? Es hört sich so an, als ob es Deiner wäre?
zu 2+3. wenn es ein öffentlicher ist, gibt es dafür eine Schnittstelle/API? wenn es dein eigener ist, musst Du rausfinden, wie das Webcam-Programm funktioniert
zu 4. wenn es Dein eigener ist, musst Du entweder den FTP-Zugang öffnen oder ein Script schreiben, welches das Bild (oder einen Link darauf?) an dein Smartphone zurückschickt.Happy Coding
Torsten -
Juli 20, 2022 um 17:24 Uhr #45537
Hallo Torsten,
danke für deine Antwort.
Eigentlich ist die Sache ganz einfach. Ein Raspberry in meinem Ferienhaus hat eine Webcam. Wenn ich mich per SSH dort einloge und camera.sh eingebe, macht die Camera ein Foto und speichert es mit Datum in den selben Ordner. Das herunterladen des Fotos per SFTP ist kein Problem, es geht nur um das starten des Programms auf dem Raspberry. Ich möchte also von unterwegs sprich wenn ich auf Reisen bin, ein Bild aufnehmen und mir ansehen wie das Grundstück aussieht (z.B.Rasen hoch = muss gemäht werden und ich muss dorthin).
wie kann ich also aus der Ferne per Livecode das Programm „camera.sh“(Bash-Script) ausführen.Gruß
Michael -
Juli 21, 2022 um 07:10 Uhr #45551
Hi,
Ich habe eben einen alten Thread gefunden, bei dem es auch um ssh geht, schau Dir den mal an:Happy Coding
Torsten -
Juli 21, 2022 um 07:46 Uhr #45553
Hallo Torsten,
den Thread schaue ich mir nochmal genauer an. Das mit dem Shell Aufruf auf dem Raspberry habe ich gerade probiert, und es scheiterte auch bei mir an der Passwortabfrage.Ich habe mir gestern Abend nochmal intensiv Gedanken darüber gemacht.Ich könnte vom Smartphone aus eine .txt Datei an den Server schicken die entweder das Wort „AN“ oder „AUS“ enthält. Das Bash Script „camera.sh“ könnte eine While Schleife durchlaufen die die Variable in der Textdatei einliest, und in Abhängigkeit des Flags „AN“ oder „AUS“ ein Bild macht und abspeichert. Auf diese .jpg Datei kann ich problemlos zugreifen.
Ich denke die Machart ist aber nicht optimal, weil sich die IP Adresse des Raspis regelmäßig ändert.Im Moment misst der Raspi stündlich Temperatur und Feuchte im Kellerbereich und sendet die Daten auch stündlich mit 5 Minuten Versatz an meinen Mietserver mit statischer IP. Auf die Daten greife ich mit meiner TempMonitor App zu.
Es ist wahrscheinlich einfacher stündlich ein Foto mit der Camera zu machen, die .jpg Datei mit den Temperaturdaten zusammen an den Mietserver zu senden. Von dort aus kann ich das Foto
dann in die Smartphone App einladen. Ist vielleicht nicht so komfortabel , aber einfacher zu handhaben.Ich probiere das jetzt mal aus.
Danke für deine Lösungsansätze und Hilfe
Gruß
Michael -
Juli 21, 2022 um 16:37 Uhr #45566
Das mit dem stündlichen Bild scheint mir auch deswegen gut zu sein, da du dadurch einen Film hast 🙂
Happy Scripting
Torsten -
Juli 21, 2022 um 16:58 Uhr #45568
Genau, danke und Gruß.
Michael -
Oktober 22, 2022 um 18:36 Uhr #47155
Hi MichaelS,
ein bisschen spät, aber so sollte es gehen:on mouseUp local pC -- full path to shellscript or shellcommand put "df -h" into tshellScript -- pc Array with connetion params put "YourUsername" into pC["user"] put "YourPassword" into pC["pw"] put "IPAddressOfYourServer" into pC["ServAdress"] put 22 into pC["port"] put runRemoteShellScript(tshellScript, pC) into tresult answer tresult end mouseUp function runRemoteShellScript pPathToScript pC put "spawn -noecho ssh -p "&pC["port"]&" "&pC["user"]&"@"&pC["ServAdress"]&" "&pPathToScript&" " set the shellcommand to "/bin/bash" get "expect -c" & quote &cr& \ "set timeout 1" &cr& \ "spawn -noecho ssh -p "&pC["port"]&" "&pC["user"]&"@"&pC["ServAdress"]&" "&pPathToScript&" " &cr&\ "expect password: { send "&pC["pw"]&"\r\n; }" &cr& \ "set timeout 100" &cr& \ "expect eof" &cr& \ "sleep 1" &cr& \ "exit" & quote get shell(it) return "shell: " & it &cr& the result end runRemoteShellScript
-
Oktober 25, 2022 um 20:10 Uhr #47211
Hallo mimu,
danke für deinen Post und Lösungsansatz. Dein Script schaue ich mir bei Gelegenheit mal an. Die Aufgabe habe ich aber seit längerem gelöst in dem ich einen Cronjob auf dem Remote Recher definiert habe, der stündlich ein Bild aufnimmt und speichert. Darauf habe ich per App über SFTP Zugriff.Wie gesagt, vielen Dank für deine Bemühungen.
Gruß
Michael
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.