Remote Programmierung

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Hallo, wie programmiert man am besten remote ein Programm auf einem Raspberry Pi. Was muß alles eingerichtet weden, um ein Python Programm zu übertragen?
Reicht es, eine Datei mittels SSH zu abzulegen?

Wie sieht es aus, wenn man ein Programm auf einem WIndows PC erstellt und testet (inklusive QT)?
Was müsste installiert werden?
LG
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Nur übertragen genügt nicht, ein Script muss ausgeführt werden, würde ich meinen. Im Bereich von Malware gibt es da sicherlich ausgereifte Konzepte und Security-Anwendungen, die genau das verhindern sollen. Ein Python-Script läuft ohnehin nicht ohne Python und das müsstest Du unter Windows zuerst installieren, zusammen mit Qt, falls Du mit beiden Anwendungen erstellen möchtest. Oder Du packst beides mit ein.
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

soweit klapptes am windows PC. Mir fehlt nur eineIdee wie mans am besten einrichtet zum Übertragen und testen.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Unter Windows läuft es?
Und Du kannst nicht einfach PyQt unter Raspberry Pi mit Pip installieren?
Hätte ich vermutet, dass dies möglich ist.
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ssh ist schon ok. Man sollte die gleichen Versionen von Python und den verwandten Bibliotheken benutzen, aber sonst kann man das einfach übertragen & auf dem PI starten.

Problematisch werden dann Plattform spezifische Codeanteile. Da muss man dann sehen, wie man das löst. ZB durch mocking oder bedingte Importe.
BlackJack

Die beiden Varianten die ich häufig verwende sind entweder Freigaben oder Versionskontrolle (Mercurial oder Git).

Bei Freigaben kann man vom PC aus einfach auf Verzeichnisse auf dem Raspi wie auf lokale Verzeichnisse zugreifen. Und dann entweder einfach kopieren oder man kann dann ja auch gleich die Dateien ”direkt” bearbeiten. Wenn Du Windows verwendest wäre das naheliegende eine Samba-Freigabe. Ich verwende unter Linux normalerweise sshfs für so etwas. Samba würde ich wahrscheinlich nur verwenden wenn die Rechner im gleichen Netz sind.

Ansonsten landet alles was etwas grösser ist (also eigentlich auch schon recht kleine Sachen) bei mir sowieso in einem Mercurial-Repository und dann kann man das auch gleich zur Datenübertragung verwenden.

Und auf dem Raspi ist auch immer ein Vim, damit man direkt auf dem Rechner Änderungen vornehmen kann.
Gerri3d
User
Beiträge: 23
Registriert: Montag 17. Juli 2017, 07:39

Danke für den Tip mit Mercurial-Repository. Das muss dann auf meinem Entwicklungs PC (Win7) und auf dem Pi installiert werden?
Anschließend wird gecloned bzw synchronisiert soweit ich vertanden habe.
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja, wobei du dafuer eh eine Verbindung ala SSH moeglich machen musst. Den Umweg ueber einen zentral erreichbaren (lokalen oder entfernten) HTTP-Server wuerde ich jedenfalls nicht gehen.

Und auch wenn ich die Benutzung von git/mercurial ausdruecklich begruesse, fuer ein so kleinteiliges Ding benutze ich die nicht. Auch wenn viele kleine Commits gut sind, nur ein verdrehter Buchstabe etc. muss es dann doch nicht sein.
Antworten