Flapmax
Posts: 2
Joined: Sun Aug 18, 2019 9:49 am

Am ende eines Skripts, neues Skript auf anderem Pi auslösen

Sun Aug 18, 2019 9:56 am

Hallo,
ich bin noch ziemlich unerfahren mit Python und Raspberry Pi deswegen die Frage ob jemand weiß, wie ich das hinbekomme, wenn ich mehrere Pi's habe, dass ich, wenn auf dem einen Pi ein Trigger ausgelöst wird, ein anderes Skript auf einem anderen Pi gestartet wird? Also bisher hab hat mein Research ergeben, dass ich SSH nutzen kann, könnte dafür auch einfach alle Pi`s mit Lan-Kabeln verbinden?

Sorry für mein Unwissen und danke für eine Antwort! :P

smartifahrer
Posts: 1038
Joined: Sat Feb 13, 2016 8:10 am

Re: Am ende eines Skripts, neues Skript auf anderem Pi auslösen

Sun Aug 18, 2019 2:43 pm

Wenn die Pis nebeneinander liegen, kannst du die GPIOs verwenden.

crumble
Posts: 75
Joined: Sat Feb 07, 2015 7:34 pm

Re: Am ende eines Skripts, neues Skript auf anderem Pi auslösen

Sun Aug 18, 2019 3:31 pm

Du kannst das natürlich erst einmal alles von Hand machen. Das ist am einfachsten und vermutlich die Lösung, die am wenigsten Resourcen braucht.

Wie man das allgemein lösen kann findest Du unter dem recht alten Stichwort RPC (Remote Procedure Call).
Heutzutage löst man das entweder mit WebServices oder wenn es nur intern verwendet werden soll mit MPI (Message Passing Interface). Für letzteres findest Du viele Beispiele, wenn Du nach Raspberry Pi Cluster suchst.

Du kannst aber erst mal das ganze von Hand lösen. Entweder einfach mit einer SSH oder einem Python-Programm, dass auf einem Port auf eingaben wartet. Das erspart Dir erst einmal jede menge Doku zu lesen. Danach kannst Du das dann etwas moderner lösen. Der Vorteil der modernen Lösungen ist, dass es vorgefertige Programmteile (Frameworks) gibt, die sich um Verschlüsselung, Fehlerbehandlung, Konvertierung, ... kümmern.

Flapmax
Posts: 2
Joined: Sun Aug 18, 2019 9:49 am

Re: Am ende eines Skripts, neues Skript auf anderem Pi auslösen

Mon Aug 19, 2019 3:29 pm

crumble wrote: Du kannst das natürlich erst einmal alles von Hand machen. Das ist am einfachsten und vermutlich die Lösung, die am wenigsten Resourcen braucht.

Wie man das allgemein lösen kann findest Du unter dem recht alten Stichwort RPC (Remote Procedure Call).
Heutzutage löst man das entweder mit WebServices oder wenn es nur intern verwendet werden soll mit MPI (Message Passing Interface). Für letzteres findest Du viele Beispiele, wenn Du nach Raspberry Pi Cluster suchst.

Du kannst aber erst mal das ganze von Hand lösen. Entweder einfach mit einer SSH oder einem Python-Programm, dass auf einem Port auf eingaben wartet. Das erspart Dir erst einmal jede menge Doku zu lesen. Danach kannst Du das dann etwas moderner lösen. Der Vorteil der modernen Lösungen ist, dass es vorgefertige Programmteile (Frameworks) gibt, die sich um Verschlüsselung, Fehlerbehandlung, Konvertierung, ... kümmern.
Das von Hand lösen hört sich für mich jetzt auch erst mal einfacher an. Da ich wirklich noch ein Anfänger bin, hast du eventuell ein Tutorial oder sowas, wie das mit SSH oder Python funktioniert?? LG

pumukel
Posts: 5
Joined: Fri Feb 23, 2018 10:48 pm

Re: Am ende eines Skripts, neues Skript auf anderem Pi auslösen

Tue Aug 27, 2019 7:08 pm

Hallo, ich habe paramiko geladen. Damit ist der SSH - Kontakt zwischen den Raspis möglich. Auf jedem Raspi habe ich ein Eingangsverzeichnis festgelegt, in das ich per SFTP dann eine Textdatei (oder andere Formate) schreiben kann. Diese Textdatei enthält die Info, welcher Raspi der Sender ist und die Info, die übermittelt werden soll.
Auf jedem Raspi läuft ein Python-Script (oder andere Sprache), das in diesem Verzeichnis regelmässig nachschaut und auf die Nachricht ggf. reagiert. Der Vorteil dieser Lösung - durch editieren der Eingangsdatei kann ich einzelne Raspis problemlos testen, auch wenn sie in der Testphase nicht verbunden sind. Im Netz (LAN oder WLAN kann ich beliebig Infos austauschen und auch gegenseitig Scripte starten, die nicht einmal in der gleichen Sprache laufen müssen. Da die Datenübermittlung per Textdatei erfolgt, lässt sich natürlich auch der Ausgang gut überprüfen. Es muss natürlich keine Textdatei sein, andere Datenformate sind auch möglich.

Return to “Deutsch”