[Public] Empfehlung für Entwicklungsumgebung?

Tobias Theobald tobitheo at gmail.com
So Jan 9 17:28:55 CET 2022


Hallo Rainer,

ich befinde mich gerade witzigerweise in einer sehr ähnlichen Situation und
entwickle mit dem Pi Top 4 Robotics Kit in Python auf meinem RPi 4. Da das
SDK hier nur in Python existiert, habe ich nicht nach anderen Alternativen
gesucht. Ich muss dazu sagen, dass ich zwar professionell Software
entwickle, aber von Python eher wenig Ahnung habe.

Was gut funktioniert hat und kostenlos war, ist Jupyter Lab. Das
installierst du auf dem Pi, dann startet es einen Webserver, auf den du
dann im Browser zugreifen und entwickeln kannst. Wenn du den Code im
Browser ausführen lässt, läuft der tatsächlich auf dem Pi. Da fehlten mir
eigentlich nur Features wie Autocomplete usw. Außerdem war das Konzept der
Workbooks für meinen Use Case nicht wirklich optimal.

Da ich aber beruflich bedingt mit der Jetbrains Entwicklungsumgebung sehr
vertraut bin, habe ich geschaut, ob es auch mit PyCharm (Jetbrains's Python
IDE) funktioniert. Tatsächlich hat die Professional Edition ein Feature,
das dich einen Remote Python Interpreter via SSH einrichten lässt
<https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html>.
Das funktioniert wirklich super, aber PyCharm Pro kostet auch nicht zu
wenig Geld. Aber immerhin gibt es eine 30 Tage Trial.

Sachen, die auch auf meiner Liste waren, die ich nicht mehr probiert habe,
die aber vermutlich funktionieren, egal was für eine Sprache du benutzt:

   - Visual Studio Code (VSCode) ist eine IDE, die man im Browser ausführen
   kann. Also kann man sie auch hosten.
   <https://medium.com/@cyrilw/visual-studio-code-remotely-on-a-web-browser-even-from-your-ipad-tablet-a97fad08fae6>
   - VSCode kann wohl auch Remote Development
   - Codeverzeichnis mit sshfs / SMB o.ä. lokal mounten und dann mit einer
   beliebigen lokalen IDE editieren + mit SSH remote kompilieren
   - Alternativ zu sshfs / SMB geht auch ein Sync-Programm wie Dropbox,
   NextCloud oder Syncthing + SSH zum kompilieren und ausführen. Aber da wird
   es immer ein gewisses delay beim Sync geben.


Sachen, die ich vorher probiert habe:

   -
   - Ich hatte Probleme, den Code lokal in PyCharm Community Edition zu
   entwickeln, da das SDK sich nicht auf macOS installieren ließ wegen nativer
   Abhängigkeiten. Vielleicht wäre es möglich gewesen, aber das andere hat zu
   gut funktioniert und ich habe, wie schon erwähnt, wenig Ahnung von
   Pythonentwicklung
   - Das neue JetBrains Remote Development Feature, wo das Backend für
   PyCharm auf einem Remote-Computer (also dem Pi hier) läuft. Lief nicht auf
   Anhieb, vielleicht wegen der Architektur, keine Ahnung. Ist auch noch in
   Beta
   - Pi-Top OS hat ein Feature namens Further-Link
   <https://github.com/pi-top/Further-Link>, mit dem man Code hochladen und
   ausführen kann, sowie den Output abgreifen kann. Aber der Support außerhalb
   ihrer eigenen Lernplattform scheint quasi non-existent zu sein

Viele Grüße,
Tobi

-----
Tobias Theobald

On 9. January 2022 at 16:42:36, Rainer Martin (rainer at martinrainer.de)
wrote:

Hallo Leute,

Ich habe mich zu Weihnachten mit drei (64x64) RGB-LED-Matrizen und
Controller für den Raspi 3 beschenkt.

Einrichtung der Hard- und Software war soweit kein Problem. D.h. die
zugehörige Bibliothek und die Demo-Programme konnte ich auf dem Raspi
downloaden (apt + git), mit "make" erzeugen und ausführen. Ich kann das
also z.B. als eine einfache Uhr oder Laufschrift benutzen, wenn ich die
entsprechenden Kommandos auf dem Pi starte.

Jetzt würde ich gerne eigene Effekte programmieren. Ich wende mich an Euch,
weil ich gerne Empfehlungen hätte, wie ich am sinnvollsten, bequemsten
dafür entwickle.

Klar ist, die Bibliothek (https://github.com/hzeller/rpi-rgb-led-matrix)
ist in C++ mit Bindings für C, C# und Python

Es existieren weitere Projekte mit Nodejs-, Nodejs/Typescript-, Go- und
Rust-   -Bindings.

Als erstes Projekt würde ich gerne ein Programm schreiben, das lokal auf
dem Pi läuft und etwas anzeigt.
(Der Pi ist per SSH (im LAN/WLAN) zu erreichen. Passwort ist geändert.
Raspbian ist aktuell.)

Python, Go und insbesondere Rust würden mich - ohne sie zu kennen -
interessieren. c++/c würde ich ungern verwenden.

Ich würde aber gerne am (Windows-)Laptop arbeiten. Und es sollte schon
etwas bequemer sein als vim, emacs, nano + make + gdb über ssh

Brauche ich dafür eine gemeinsame Dateiablage? (SMB-Share?) Oder muss ich
den Code immer per Git hin und her schaufeln?

Für Windows habe ich schon Visual Studio Code (z.B. für Julia oder
Powershell). Kann ich das verwenden?

Wo wird dann der Code gespeichert? Wie wird er transportiert oder
compiliert? Wie wird debuggt?
Habt Ihr Vorschläge wie sowas geht? Ich bräuchte Stichworte.

Der Code muss auf dem Pi mit Root-Rechten laufen, sonst kann er nicht auf
den Controller zugreifen. Ist das ein Problem? sudo geht

Später könnte ich mir vorstellen, dass ich mit einer App auf dem Smartphone
Einstellungen am Raspi vornehmen können wollte. D.h. ich müsste eine Art
API entwickeln. Das ich dafür eine wesentlich andere
Software-Architektur/-Umgebung benötige ist auch klar. Mit welchen
Technologien und Mitteln würde man heutzutage sowas entwickeln wollen?
Welche Sprache würde man dann auf Pi-Seite verwenden wollen?

Oder kennt jemand was, was schon halbwegs fertig ist?


Grüße,

                 Rainer


-- 
public at lists.hacksaar.de - Öffentliche Liste Technik Kultur Saar e.V.
Konfiguration: https://lists.hacksaar.de/listinfo/public
Abbestellen: public-unsubscribe at lists.hacksaar.de
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.hacksaar.de/pipermail/public/attachments/20220109/59f862ad/attachment.htm>


Mehr Informationen über die Mailingliste Public