raspberry pi script über SSH ausführen?
Hallo, ich bin gerade an einem kleinen Projekt und möchte 4 verschiedene Programme die ich auf Python geschrieben habe über mein Handy via SSH ansteuern.
Das Programm habe ich erstellt indem ich mich mit dem PC via Putty SSH in das System eingeloggt habe. Das erste Programm heisst gpio.py. Erstellt habe ich es wie folgt:
nano gpio.py
-----Script-----
#!/usr/bin/python
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, GPIO.LOW)
time.sleep(10)
GPIO.output(22, GPIO.HIGH)
GPIO.cleanup()
---Script Ende---
Nun möchte ich das Script via Knopfdruck vom Handy starten können. Dazu habe ich die App Raspberry SSH heruntergeladen. Wo jetzt das Script aber hinterlegt ist und wie ich darauf zugreifen kann weiss ich nicht.
Danke schonmal in Voraus für eine Antwort.
Liebe Grüsse
Luca
1 Antwort
Der Befehl ssh bietet die Ausführung eines Befehls nach dem folgenden Schema:
ssh <user>@<host> <befehl>
Beispiel:
ssh pi@raspberry 'python3 gpio.py'
Es wäre aber weitaus sinnvoller, wenn du eine API (Schnittstelle) zur Verfügung stellst, die von außen angesteuert wird, zum Beispiel eine API mit HTTP-Endpunkten.
Über den SSH-Zugang können beliebige Befehle abgesetzt werden. Das ist mit einem Risiko verbunden. Eine API kann die Anfragen validieren.
Mit dem Node.js-Framework Express ließe sich dein Vorhaben leicht umsetzen.
Gibt es python denn auf dem System? Ich habe bei mir nur python3. Ob es das Programm gibt, kannst du über which python prüfen.
Grundsätzlich sollte man heute lieber Skripte schreiben, die Python 3 nutzen.
habe es gerade geschafft mit dem Command python gpio.py super 👍
Danke für deine schnelle Antwort. Die Sicherheit spielt keine Rolle, muss lediglich 4 kleine Pumpen ansteuern. Bin leider nicht so stark auf dem Gebiet werde aber mal schauen ob ich es auch mit einer API hinkriege. meinst du ich sollte in der App unter Btn Cmd [ssh pi@raspberry 'python3 gpio.py'] reinschreiben oder einfach [python gpio.py]