Forum: PC-Programmierung Remote von Windows auf Raspberry programmieren.


von Rene K. (xdraconix)


Lesenswert?

Ich würde nun gerne mal anfangen auf meinem Raspberry zu programmieren. 
Dies würde ich gerne Remote von einem Windowsrechner aus machen. Auf dem 
Raspberry läuft Raspbian.

Programmieren würde ich gerne in C. Auf den Komfort einer modernen IDE 
würde ich dabei ungern verzichten wollen, weshalb ein reiner Texteditor 
in einer Konsole nicht wirklich in Frage kommt. Wie könnte man da am 
besten vorgehen:

1.) Raspbian mit GUI Remote bedienen, geht das? Wenn ja wie?

2.) Das Projekt auf dem Windows Rechner programmieren, aber auf dem 
Raspbian compilieren lassen? Gibt es da Lektüre im Netz dafür?

Danke für eure Hilfe :-D

von Dennis X. (Gast)


Lesenswert?

Rene K. schrieb:
> 1.) Raspbian mit GUI Remote bedienen, geht das? Wenn ja wie?
VNC

Rene K. schrieb:
> aber auf dem
> Raspbian compilieren lassen? G

Warum zum Teufel willst du unbedingt auf dem Raspberry Pi kompilieren? 
Das macht doch gar kein Sinn. Wenn du schon sagst du programmierst auf 
dem Windows Rechner.
Programmiere und cross-compiliere deine Sachen auf Windows. Das 
kompilierte Programm schiebst du dann direkt auf den RPi. Deployment 
heißt das ganze. Wird von vielen IDEs unterstützt.

-D

von PittyJ (Gast)


Lesenswert?

Kleinere Programme übersetze ich schon auf dem Raspi selber. Der ist 
durchaus leistungsfähig genug, insbesondere die 3er Version.
Dann dauert der Compile eben 20 statt 5 Sekunden. Dafür erspart man sich 
das Kopieren.
Auch das Einrichten des Crosscompilers ist nichts für Anfänger. Da ist 
ein 'apt-get install gcc' wesentlich einfacher. Insbesondere wenn man 
noch Zusatzbibliotheken haben möchte, ist der APT-Weg sehr praktisch.

von Dennis X. (Gast)


Lesenswert?

PittyJ schrieb:
> Dafür erspart man sich
> das Kopieren.

Mit SCP ist das ein Einzeiler, welcher theoretisch direkt als Post-Build 
Prozess eingetraden werden kann. Dann ist nach dem kompilieren das 
Programm bereits auf dem RPI, so schnell kannst du gar nicht gucken ;-)

von Michael S. (e500)


Lesenswert?

XMING auf den Windows PC und X über SSH tunneln.

Entwicklung und Compile direkt auf dem Raspberry, nichts mit 
Cross-Compile und kopieren und so Zeug.

Fertig!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rene K. schrieb:
> 2.) Das Projekt auf dem Windows Rechner programmieren, aber auf dem
> Raspbian compilieren lassen? Gibt es da Lektüre im Netz dafür?

Sofern Du den Einsatz kommerzieller Werkzeuge nicht scheust:

Die Kombination Visual Studio ("Community Edition" reicht, kostet 
nichts) und VisualGDB. Schreiben und Debuggen im Visual Studio, Programm 
läuft aber nativ auf Pi.

http://visualgdb.com/

Der Ansatz ist sinnvoll, wenn man eh' das Arbeiten mit Visual Studio 
gewohnt ist.

von Vancouver (Gast)


Lesenswert?

Ich weiß nicht. ob das auch mit Windows geht, aber auf Linux kannst Du 
zum Kompilieren einen verteilten Compiler nehmen, z.B. distcc. Du 
startest den Compiler ganz normal auf dem Rapsberry und distcc verteilt 
die einzelnen Build-Jobs an einen Server, also den Linux-PC. Das hat den 
Vorteil, dass Du nur den nackten Crosscompiler auf dem Server aufsetzen 
musst, aber nicht das ganze  Zeug drumherum. Auf diese Weise habe ich 
auf einem BananaPi das ganze GNURadio-Paket übersetzt.

Als IDE verwendet ich Eclipse mit  Remote-Debugger, allerdings für 
Python. aber wenn es einen Remote-Debugger für Python gibt dann ganz 
bestimmt auch für C. Vielleicht gibt es auch eine Möglichkeit, den 
Compiler remote aus Eclipse zu starten.

von Rasputin (Gast)


Lesenswert?

Ich mache nutze für das Programmieren des Raspi netbeans unter Windows. 
Ist super komfortabel.

Auf dem Raspberry muss lediglich SSH und der Compiler + Zugemüse 
installiert sein (ist glaub' ich standardmässig).

In netbeans musst du dann nur unter "build host" (zufinden unter options 
> c/c++ > build tools) einen neuen Host mit der IP Adresse und Shell 
Benutzername/Passwort (Standardmässig pi / raspberry) des Raspberrys 
eintragen und als Übertragungsverfahren sftp auswählen. Sowie im 
gewünschen Projekt dieser "build host" zuweisen. Fertig. Auch Remote 
Debugging funktioniert.

Wenn du dann auf Run klickst, schickt er die Dateien auf den Raspberry, 
kompiliert sie und führt das Programm aus.

Auch wenn Netbeans ein RAM-Monster ist, und manchmal etwas zickt, ist es 
trotzdem sehr angenehm so zu arbeiten. Ich möchte das nicht mehr missen.

Viel Spass

von Oliver R. (superberti)


Lesenswert?

Hi,

Mein absoluter Favorit ist MobaXTerm (auf dem Windows-Rechner) und 
Codeblocks auf dem Raspi.
MobaXTerm sorgt dafür, dass Deine X-Window-Programme nahtlos auf dem 
Desktop laufen und Codeblocks ist auf dem Raspi3 schnell genug zum 
kompilieren.
Bei den systemnahen Sachen wie OpenGL und libSDL2 sowie der libGPIO und 
libpulse könnte ich mir schon erhebliche Probleme beim Cross-Kompilieren 
vorstellen. Die Zeit isses mir nicht wert....

Gruß,
Oliver

von Kaukas (Gast)


Lesenswert?

Rasputin hat es bereits angemerkt.
Es geht offenbar sehr komfortabel via Netbeans:
https://jaxenter.com/how-to-deploy-debug-and-profile-java-on-the-raspberry-pi-2-108008.html

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Ich stimme den Vorschlägen mit SSH und SCP zu und frage mich, wer den 
SCP Vorschlag negativ bewertet hat und warum. Das ganze kann man wie 
schon erwähnt in jeder IDE als Post-build-Prozess anstoßen oder in ein 
Makefile packen und das nach dem Upload auch gleich laufen lassen. Mach 
ich mit so ziemlich allem so, was einen SSH-Server hat. Im Makefile kann 
man sich dann sogar neben build und upload noch ein debug target 
anlegen, wodurch auf dem Zielsystem gdb gestartet wird. Darüber, ob man 
auf dem Entwicklungsrechner oder dem Zielsystem kompilieren möchte, kann 
man streiten, es ist zumindest Geschmacksache. Aber in diesem Fall ist 
es wohl egal. Allerdings verstehe ich nicht, wo man sich den upload 
spart, denn entweder den Quellcode oder das Kompilat muss man in jedem 
Fall uploaden. Nicht gut finde ich persönlich den Vorschlag, direkt auf 
dem Pi zu entwickeln. Wozu, wenn man eh am PC sitzt?

von Uwe (Gast)


Lesenswert?

Unter http://gnutoolchains.com/raspberry/tutorial/ gibt es die komplette 
Raspberry-Toolchain für Windows zum Download.
Dazu noch eine beliebige C(++)-IDE installieren, z.B. Code::Blocks, und 
die Sache läuft.
WinSCP kann Verzeichnisse automatisch "synchronisieren", sodass man die 
fertige Binary sofort automatisch zum Pi kopieren lassen kann, sobald 
sie neu gebaut wurde.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.