Raspberry über Ethernet bedienen

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
TenchiMuyo1984
User
Beiträge: 18
Registriert: Donnerstag 17. Januar 2019, 21:17

Hallo zusammen,

ich bin neu hier und hoffe, dass ich meine Frage im richtigen Bereich gepostet habe.
Wenn falsch @Admin, bitte verschieben. Danke! ;)

Ich möchte einen Raspberry über Ethernet "fernsteuern" und somit ein Display (E-Ink) ansteuern.

Das soll wie folgt aussehen:
PC (Windows) <-(Ethernet)-> Raspberry -> Display (E-Ink)

Ich habe schon Python-Bibliotheken beim Hersteller des E-Ink Displays (WaveShare) gefunden, jedoch sind diese "nur" für eine Ausführung direkt auf dem Raspberry ausgelegt.

Nun zu meiner Frage:
Kann ich über "Remote" von meinem PC aus mittels Python über Ethernet dem Raspberry mitteilen, dass er die Operation xyz ausführt?
Gibt es hierzu Beispiele?

Grüße
----- ===== TenchiMuyo1984 ===== -----
Benutzeravatar
__blackjack__
User
Beiträge: 14326
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@TenchiMuyo1984: Du müsstest halt eine RPC-Schnittstelle programmieren. Wenn es auf Python beschränkt sein darf, dann ist wahrscheinlich Pyro 4 eine Option wo man nicht viel selbst machen muss. Ansonsten JSON-RPC, oder eine REST-API (vielleicht mit JSON), oder XML-RPC, oder…
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
ArtooDetoo
User
Beiträge: 60
Registriert: Dienstag 4. Dezember 2018, 16:57

Einfacher und für den Fall vielleicht auch ausreichend wäre, das Skript auf dem Pi über SSH zu aufzurufen: https://www.cyberciti.biz/faq/unix-linu ... using-ssh/
Sirius3
User
Beiträge: 18370
Registriert: Sonntag 21. Oktober 2012, 17:20

@TenchiMuyo1984: wie soll den gesagt werden, welche Operation durchgeführt werden soll? Über eine Oberfläche? Dann böte es sich an, einen einfachen Webserver per bottle/flask zu programmieren, der die GUI bereits bereitstellt.
TenchiMuyo1984
User
Beiträge: 18
Registriert: Donnerstag 17. Januar 2019, 21:17

Danke für eure zahlreichen Antworten.

@__blackjack__
Ich möchte komplett auf Python-Ebene arbeiten.

@ArtooDetoo
Klingt interessant, aber kann ich so auch Operations aus vorhandenen Bibliotheken ansteuern?

@Sirius3
Nein, ich will keine GUI oder der Gleichen haben. Es soll komplett auf Python-Befehlsebene laufen.


Das E-Ink Display von Waveshare kann ich aktuell sehr gut direkt mit dem Raspberry-Pi ansteuern. Nun möchte ich über Ethernet die Befehle schicken, welche der Raspberry-Pi ausführen soll.

Ich dachte da an sowas in die Richtung:
Präferierte Variante:
1. Ich habe ein Programm "main.py" auf meinem PC und "sage" über Ethernet, was der Raspberry-Pi machen soll. Dabei verwende ich die Bibliotheken auf dem Raspberry-Pi.

Alternative, falls Vorherige nicht klappt.
2. Auf meinem PC schreibe ich ein Python-Programm, welches ich dann auf den Raspberry-Pi kopiere und dann "über Remote" den Befehl "sudo python main.py" ausführt, was das Programm "main.py" ausführt.

MfG
----- ===== TenchiMuyo1984 ===== -----
Sirius3
User
Beiträge: 18370
Registriert: Sonntag 21. Oktober 2012, 17:20

Schau Dir mal das Modul `paramiko` an, damit kannst Du per ssh ein Python auf dem RPi starten und Befehle absetzen. Direktes Aufrufen von Bibliotheksfunktionen im Python-Programm auf dem PC ist natürlich nicht möglich.
Benutzeravatar
__blackjack__
User
Beiträge: 14326
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Sirius3: Naja, nicht direkt, aber eben schon relativ transparent mit Pyro. Die Verbindungen kann man da auch mit SSL/TLS absichern falls das wichtig wäre.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
TenchiMuyo1984
User
Beiträge: 18
Registriert: Donnerstag 17. Januar 2019, 21:17

@Sirius3
"damit kannst Du per ssh ein Python auf dem RPi starten und Befehle absetzen"

Also geht sowas direkt: "sudo python main.py"? Oder geht das einzig direkt an die python-Konsole von Raspberry-Pi?

@__blackjack__
Irgendwie raffe ich Pyro4 nicht :(
Antworten