Entwicklung auf Raspberry Pi

7

Ich bin relativ neu im Pi mit einem Webdev und einem grundlegenden Python-Hintergrund. Was ich lächerlich nervig finde, ist der Versuch, Code effizient auf dem Pi zu debuggen und auszuführen. Ich mag es, auf Sublime2 oder ähnlichem zu entwickeln, aber ich kann dies nicht tun, ohne dass kontinuierliche SSH-Verbindungen unterbrochen / wieder verbunden werden und ewig versucht wird, die von mir vorgenommenen Änderungen auszuführen.

Was benutzt jeder hier? Was vermisse ich? Schreiben Sie alle den Code direkt auf den Pi? Es muss eine effiziente Möglichkeit geben, meine Sensoren usw. auszuprobieren.

Kann jemand helfen?

John
quelle

Antworten:

7

Schreiben Sie alle den Code direkt auf den Pi?

Nein.

Wahrscheinlich besteht die einfache Strategie darin, eine Freigabe / ein Verzeichnis / ein Dateisystem vom Pi auf einen beliebigen Computer zu mounten, den Code auf diese Weise mit der gewünschten Software remote zu bearbeiten und dann nur eine einzige laufende sshSitzung zu testen .

Dies sollte keine Verzögerung verursachen, wenn Sie sich im selben (WLAN) befinden. Wenn ja, können Sie es auch umgekehrt machen (von Ihrem lokalen System an den Pi weitergeben). Das Teilen vom Pi hat jedoch den Vorteil, dass Sie es dann von mehr als einem System aus ausführengit können (obwohl ein VCS wie dieses dieses Problem lösen kann).

Es gibt unzählige Möglichkeiten, dies mit verschiedenen Vor- und Nachteilen zu tun. Einige der häufigsten sind:

Goldlöckchen
quelle
Vielen Dank. Welche Methode verwenden Sie persönlich aus Interesse? Oder wenn Sie vorschlagen würden, ich hätte eines der oben genannten verwendet, welches wäre es?
John
2
Ich mag sshfs, aber ich benutze Linux an beiden Enden, in diesem Fall ist es ziemlich einfach (Sie müssen nur sshd auf dem pi konfigurieren und die sshfs-Manpage lesen - ich bin sicher, dass es auch viele Erklärungen online gibt). Ich denke, Windows / OSX-Benutzer bevorzugen im Allgemeinen Samba.
Goldlöckchen
1
@john Ich habe sowohl FWIW Nummer 1 als auch Nummer 2 verwendet. Ich möchte auch hinzufügen, dass ein gutes SSH-Tool-Setup (Super Putty / Pageant) mit Zertifikaten anstelle von Benutzername / Passwort für eine reibungslosere Erfahrung sorgt.
Steve Robillard
Dieser Forumsbeitrag raspberrypi.org/forums/viewtopic.php?f=66&t=83991 scheint darauf hinzudeuten, dass mehrere Leute PyCharm direkt auf dem Pi 2 zum
Laufen gebracht haben
@nueverest Sicher, aber die Frage ist, wie man aus der Ferne arbeitet. Während Sie eine beliebige Anzahl verschiedener Editoren lokal installieren können, möchten viele / die meisten Benutzer nicht direkt am Pi arbeiten, wenn sie stattdessen ihren Desktop oder Laptop verwenden können.
Goldlöckchen
3

Ich neige dazu, Code auf einem Laptop zu entwickeln, habe aber ein oder zwei offene SSH-Sitzungen für den Pi. Ich behalte den Code auf der Festplatte des Laptops. Das Codeverzeichnis wird als / code über NFS auf den Pi exportiert.

Der Zyklus ist normalerweise Bearbeiten, Speichern, Cross-Kompilieren im oberen rechten Fenster, Herunterladen auf den Pi, Ausführen im unteren rechten Fenster. Oder wenn es sich um eine Skriptsprache wie Python oder Bash handelt, führen Sie sie einfach im unteren rechten Fenster aus.

Arbeitsablauf

joan
quelle
1

Ich habe eine Option:

Verwandeln Sie Ihren Raspberry Pi in einen Git-Server und übertragen Sie alle Ihre Änderungen auf den Pi, damit er die neueste Version Ihres Projekts enthält. Testen Sie dann auf dem Pi, anstatt SSH zu verwenden.

Neugieriger Programmierer
quelle
1
Wie richte ich das RPi als Git-Server ein?
1

Ich benutze PuTTY, um SSH für einfache Programme direkt an den Pi zu senden. Ich übertrage auch größeren Code über FileZilla und FTP in den Pi. Ich schreibe den Code mit dem Editor, er ist einfach und funktioniert gerade gut genug für Python. Der Nano-Editor hebt besser hervor und das Schreiben direkt auf dem Pi hat den anderen Vorteil, dass GPIO-Code sofort getestet werden kann.

Skidoo
quelle
1

Ich benutze VNC, um einen Remotedesktop zu verwenden. Ich codiere auf meinem Laptop FTP mit Filezilla und teste dann den Raspberry Pi. Dies ist äußerst nützlich, da ich auf dem Pi testen kann, ohne zu Hause zu sein. (RealVNC-Cloud-Verbindung)

Mensch
quelle