Raspberry Pi als Controller extern steuern

OP #5895065
Lesenswert?

Hallo,

hoffentlich bin ich hier richtig. Ich habe eine Frage. Kann man den 
Raspberry Pi extern steuern? Gemeint ist das so:

Ich öffne mein Programm auf meinem Windowsrechner und verbinde meinen 
Rechner über einen USB-Kabel oder einem Ethernetkabel mit dem Pi. Die 
Signale werden über das Kabel gesendet.

Oder geht das nur mit Programmen wie Putty? Danke im Voraus.
#5895162
Lesenswert?

Max A. schrieb:
> Ich öffne mein Programm auf meinem Windowsrechner
was für ein Programm?
> und verbinde meinen
> Rechner über einen USB-Kabel oder einem Ethernetkabel mit dem Pi. Die
> Signale werden über das Kabel gesendet.
Was für Signale?

Du willst ein Programm das auf dem PI läuft von Windows bedienen? Bzw. 
den PI allgemein ohne Monitor, Maus u. Tastatur betreiben?
Anwendung mit GUI => Desktop per RDP, VNC übertragen
Anwendung ohne GUI => Zugriff über SSH

Sascha
Gast #5895308
Lesenswert?

Max A. schrieb:
> Ich öffne mein Programm auf meinem Windowsrechner und verbinde meinen
> Rechner über einen USB-Kabel oder einem Ethernetkabel mit dem Pi

Einfacher: das Programm läuft auf dem Pi und hat für Einstellungen eine 
Website - falls man von einem anderen Rechner (oder Tablett, Handy...) 
zugreifen will genügt der Browser.

Georg
Gast #5895787
Lesenswert?

Max A. schrieb:
> Ich habe ein Programm in Python auf dem Pi zum Steuern von Motoren
> geschrieben. Das Programm will ich auf meinen Rechner überspielen und
> von dort dann starten und den Pi vom Rechner aus über ein Ethernetkabel
> oder USB-Kabel steuern.

irgendwie hinkt die theorie. wenn du das programm auf deinen rechner 
überspielst, dann wird es dort (obwohl python) nicht laufen, weil die 
hardware zugriffe nicht funktionieren.

in dem fall würde ich dir vorschlagen, das bestehende programm zu einer 
server/client struktur zu ändern. server bleibt am raspi und läuft auch 
dort, client am pc/handy/whatever
Gast #5895809
Lesenswert?

woas i nit schrieb:
> Max A. schrieb:
>> Ich habe ein Programm in Python auf dem Pi zum Steuern von Motoren
>> geschrieben. Das Programm will ich auf meinen Rechner überspielen und
>> von dort dann starten und den Pi vom Rechner aus über ein Ethernetkabel
>> oder USB-Kabel steuern.
>
> irgendwie hinkt die theorie. wenn du das programm auf deinen rechner
> überspielst, dann wird es dort (obwohl python) nicht laufen, weil die
> hardware zugriffe nicht funktionieren.
>
> in dem fall würde ich dir vorschlagen, das bestehende programm zu einer
> server/client struktur zu ändern. server bleibt am raspi und läuft auch
> dort, client am pc/handy/whatever
1
Wichtige Regeln - erst lesen, dann posten!
2

3
    Groß- und Kleinschreibung verwenden
#5895870
Lesenswert?

Max A. schrieb:
> Geht das nicht wie mit dem Arduino? Da kann man die Bibliothek serial in
> das Programm importieren und dann alles Programmieren. Ein Beispiel was
> ich meine ist im folgenden Link:

Doch... natürlich geht das so in der Art auch.

Wie oben gesagt muss das Programm das die eigentliche Ansteuerung macht 
natürlich weiter auf dem RPi laufen. In deinem Bsp. entspricht das also 
dem Arduino-Code.

Dein PC-Programm schickt dann nur Kommandos an den RPi. Der wertet die 
Kommandos aus und führt dann die entsprechenden Aktionen aus.

Du musst zuerst mal definieren über welche Schnittstelle du mit dem PI 
sprechen willst.
 - Auch seriell?
 - Oder Ethernet? Wenn Ethernet, welches Protokoll?

Wenn du das weißt musst du dir noch überlegen wie die eignetliche 
Kommunikation zwischen den beiden Aussehen soll. Also welche Kommandos 
gibt es und wie sind diese aufgebaut?
OP #5902799
Lesenswert?

Danke für die zahlreichen Antworten. Ich habe mich entschlossen über 
Putty und da über Ethernet und SSH zu arbeiten. Ich habe aber nun 
folgendes Problem:

Ich habe auf meinem RaspberryPi ssh aktiviert und hab auch bei Putty die 
richtige IP-Adresse eingegeben. Aber ich kann nicht auf den Pi 
zugreifen. Folgende Fehlermeldung kommt:

Network error: Network error: Connection timed out

Den Port 22 habe ich in meiner Firewall freigegeben. Was könnte ich noch 
tun?
Moderator Persönliche Seite #5902809
Lesenswert?

Max A. schrieb:
> Ich habe auf meinem RaspberryPi ssh aktiviert und hab auch bei Putty die
> richtige IP-Adresse eingegeben.

Welche? Ist diese innerhalb Deines Netzwerkbereichs?

> Aber ich kann nicht auf den Pi
> zugreifen. Folgende Fehlermeldung kommt:
>
> Network error: Network error: Connection timed out

Keine Verbindung. Könnte zum Beispiel daran liegen, dass Du an Deinem PC 
WLAN nutzt und in Deiner FritzBox die Kommunikation der Clients 
untereinander nicht freigegeben hast.
OP #5902862
Lesenswert?

Ich habe eine Ethernetkabel zwischen meinem Notebook und dem 
eingestöpselt. Die IP-Adresse vom Pi ist eine statische IP-Adresse, die 
jemand anderst vor mir festgelegt hat. Wie kann ich schauen was der 
Adressenbereich ist? Ich habe meinen Pi nie mit dem Router verbunden.

Ich das WLan am Notebook abgeschaltet. Da kam die Meldung No route to 
host. Wie kann ich die Kommunikation innerhalb der Clients ermöglichen.
#5903024
Lesenswert?

Max A. schrieb:
> Gibt es eine Möglichkeit in der Konsole in Putty einen
> bestimmtes Pythonprogramm mit einer GUI zu starten?

Nein. PuTTY ist ein Terminal, sonst nix.

Dreh den Spieß um und mach aus deinem Python-Programm heraus SSH.
https://www.google.com/search?q=python%20ssh&rlz=1C1GCEU_deDE819DE819&oq=python%20ssh&aqs=chrome..69i57j0l5.4695j0j7&sourceid=chrome&ie=UTF-8&safe=active
Gast #5903235
Lesenswert?

Max A. schrieb:
> Gibt es eine Möglichkeit in der Konsole in Putty einen
> bestimmtes Pythonprogramm mit einer GUI zu starten?

Von früheren Linux Versionen kenne ich die Methode, mit dem vnc Server 
einen virtuellen Bildschirm anzulegen, auf den das grafische Programm 
seine Ausgaben machen kann. Diesen wiederum kann man mit dem vnc Client 
auf einem andern Rechner anzeigen.

Ob das auf dem Raspberry Pi funktioniert, weiß ich allerdings nicht.

Nach dieser Doku sollte es gehen: 
https://www.elektronik-kompendium.de/sites/raspberry-pi/2011021.htm
#5903338
Lesenswert?

Man kann auch das X Window System verwenden um die grafische 
Benutzeroberfläche von Raspbian oder Programmen mit GUI, die auf dem Pi 
ausgeführt werden, auf dem PC anzuzeigen.
Mit MobiXterm kann man einen XServer starten und sich verbinden.

Ich verwende MobiXterm eigentlich recht gerne, da es gleichzeitig noch 
FTP hat und man dann schnell per Drag/Drop Dateien an den Pi senden 
kann. So lässt sich  der Pi wirklich komplett ohne 
Tastatur/Maus/Bildschirm bedienen.

Der TO sollte aber lieber darüber nachdenken sein Programm verteilt 
laufen zu lassen und (Server/Client) und sich über eines der bekannten 
Netzwerkprotokolle (TCP/IP oder UDP) in seinem selbst (von mir aus in 
Python) geschrieben Client vom PC mit dem selbst geschriebenen Server 
(auch in Python) auf dem Pi zu verbinden.

Diese SSH-Geschichte mag zum Testen ok sein, aber ich glaub nicht, dass 
es das ist was er sich am Ende vorstellt.
OP #5909056
Lesenswert?

Hallo,

ich bins nochmal. Ich hätte noch zwei Fragen.

1. Wenn ich den Pi mit einem anderen PC verbinde, der in einem anderen 
IP-Bereich liegt, kann ich da die IP ohne zusätzlich einen Monitor 
anzuschließen die aktuelle IP-Adresse abändern?

2. Mit meinem Programm steuere ich verschiedene Motoren an. Dies 
funktioniert auch ganz gut. Diese bewegen sich nacheinander. Geht es 
auch, dass diese gleichzeitig bewegen oder geht es nur, dass diese sich 
nacheinander bewegen? Ich weiß, dass ein Programm nacheinander 
abgearbeitet wird und deswegen kann ich mir es nur schwer vorstellen.

Danke im Voraus.
Gast #5909073
Lesenswert?

Max A. schrieb:
> 1. Wenn ich den Pi mit einem anderen PC verbinde, der in einem anderen
> IP-Bereich liegt, kann ich da die IP ohne zusätzlich einen Monitor
> anzuschließen die aktuelle IP-Adresse abändern?

Ja, kannst du. Aber wenn du dich dabei aus versehen vertippst, kommst du 
ohne Bildschirm und Tastatur nicht mehr heran.

Initial wirst du wohl zuerst DHCP nutzen und dann eventuell die IP 
Adresse manuell umstellen.

> Geht es auch, dass diese gleichzeitig bewegen

Natürlich geht das. Du musst es nur entsprechend programmieren.

> Ich weiß, dass ein Programm nacheinander abgearbeitet wird

Nicht unbedingt, es gibt auch Multithreading. Aber: Das Programm muss 
nicht laufen, damit ein Motor läuft. Der dreht sich auch ohne Programm 
weiter, wenn er genug Spannung bekommt.

Um was für einen Motor geht es denn, und wie ist er mit dem Raspberry Pi 
verbunden?
#5909383
Lesenswert?

Stefanus F. schrieb:
> Ob das auf dem Raspberry Pi funktioniert, weiß ich allerdings nicht.

Ja, funzt! Und ist eine bequeme Art mit dem Pi zu arbeiten. Läuft bei 
mir sowohl über Kabel als auch per WLan. Und deine Frage zu den Motoren 
kann man wohl nur so beantworten: wenn du einem Motor "sagst", dass er 
laufen soll, dann läuft er so lange, bis du etwas anderes "sagst". Gilt 
natürlich auch für mehrere Motoren :-)
Viel Spass und Gruß Rainer

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren