Hallo zusammen, Nach einiger Recherche ob man bzw. wie man auf VisualStudio programmierte Anwendungen auf dem RPI zum Laufen bringt, kam ich auf keinen eindeutigen Pfad.. Ich möchte ein Programm mit c# schreiben, dass mithilfe eines Kameramoduls ein Foto schießt und per WLAN an einen PC weiterschickt.. Was wäre hier die smarteste Lösung? Ich würde mich sehr über ein paar hilfreiche Antworten freuen. Danke euch schon im Vorhinein. LG
Die einzige Möglichkeit C# auf dem RPi (ich nehm mal an da drauf läuft kein Windows) zum laufen zu bekommen wäre, es in ein Java-Bytecode zu kompilieren. Dabei verlierst du aber die Möglichkeit auf die GPIO zuzugreifen und auf deinem RPi muss eine komplette Java RE laufen!!! Sollte deine Kamera über USB (z.B. eine WebCam) angeschlossen werden, sollte das möglich sein.
*natürlich meine ich nicht Java Bytecode, sondern der von C#, auf Linux kann der von mono geleden werden
Krajay K. schrieb: > Ich möchte ein Programm mit c# schreiben, dass mithilfe eines > Kameramoduls ein Foto schießt und per WLAN an einen PC weiterschickt.. Wenns wirklich nur das sein soll, würde ich Python nehmen, das sind dann nur ein paar Zeilen Code. Einzelnes Frame via OpenCV auslesen und dann weg schicken.
silsi schrieb: > Die einzige Möglichkeit C# auf dem RPi (ich nehm mal an da drauf läuft > kein Windows) zum laufen zu bekommen wäre, es in ein Java-Bytecode zu > kompilieren. Einerseits gibt es eine Windows-Variante, die auf dem RPi läuft (Windows 10 IoT Core), andererseits gibt es die .Net-Laufzeitumgebung auch für Linux, sie heißt dort Mono, und damit können C#-Programme wie auch andere Programme für .Net auf dem Pi verwendet werden. (Willkürlich ausgesuchte Beschreibung:) https://logicalgenetics.com/raspberry-pi-and-mono-hello-world/
Eventuell möglich wäre es mit winiot und UWP App. Oder neuerlich angeblich mit .net core 2.1 Cross Plattform auf winiot oder raspian... (Willkürlich ausgesuchte Beschreibung:) ? https://cerkit.com/2017/11/23/running-a-net-core-2-0-webapi-app-on-the-raspberry-pi-raspbian/
Sei dir bewusst dass, wenn du eine Programmiersprache beherscht, du ziemlich komfortabel andere lernen kannst. Am nähesten an C# ist Java. Das läuft auch auf dem Raspi und sogar schneller als Python. Falls du das Visual Studio magst, kannst du dir mal Visual Studio Code anschauen. Das kommt zwar nicht ganz an das sehr sauber gemachte Visual Studio für C# ran, aber ist nah dran und unterstützt dafür etliche Sprachen.
UWP ist gewöhnungsbedürftig. Mono ist nicht immer das Stabilste. Ausserdem ergeben sich mit Mono meist Darstellungsprobleme. Ausserdem: Es werden bei Mono nur Windows Forms unterstützt. Nix mit WPF.
:
Bearbeitet durch User
Krajay K. schrieb: > Nach einiger Recherche ob man bzw. wie man auf VisualStudio > programmierte Anwendungen auf dem RPI zum Laufen bringt, kam ich auf > keinen eindeutigen Pfad.. Klar. "VisualStudio" ist ja auch keine Programmiersprache. > Ich möchte ein Programm mit c# schreiben, dass mithilfe eines > Kameramoduls ein Foto schießt und per WLAN an einen PC weiterschickt.. C# ist eine Sackgasse, weil es das offiziell nur von Microsoft nur für Microsoft "Betriebssysteme" gibt. Es gibt zwar mit Mono eine Portierung auf Linux, aber alles was ich bisher von Mono gehört habe, läßt mich maximalen Abstand halten. So ist es zwar genauso fett und behäbig wie die .Net Umgebung auf Windows, es ist aber unvollständig (nicht alles, was mit .Net auf Windows funktioniert, funktioniert auch mit Mono) und buggy. Angesichts deines anscheinend überschaubaren Kenntnisstandes habe ich große Zweifel, daß du mit Mono zum Ziel kommst. > Was wäre hier die smarteste Lösung? Eine Programmiersprache verwenden, die der RasPi direkt unterstützt. Sehr beliebt auf dem Pi ist Python. Aber du hast auch C, C++, Perl, Java, Tcl, Lua, Node.js und eine Tonne weiterer Sprachen zur Verfügung. Nur halt nichts, was mit "Visual" anfängt, das ist alles proprietärer Windows-only Krempel. Alternativ: pack ein Windows auf deinen Pi.
:
Bearbeitet durch User
Naja, also Mono ist jedenfalls gut genug um Unity damit zu betreiben.
Alex G. schrieb: > Naja, also Mono ist jedenfalls gut genug um Unity damit zu betreiben. Da ist kein Widerspruch. Wenn man von Anfang an mit Mono programmiert, dann fallen einem die Inkompatibilitäten oder fehlenden Features im Vergleich zu .Net wahrscheinlich gar nicht auf. Als geübter Programmierer (der TE also eher nicht) kann man um Bugs notfalls herum programmieren. Und daß Mono fett ist - ok, Java hat da die Latte weit nach oben gelegt. Für irgendwas müssen die 4 Kerne und das GB RAM des RasPi 2/3 ja auch genutzt werden.
Axel S. schrieb: > C# ist eine Sackgasse, weil es das offiziell nur von Microsoft nur für > Microsoft "Betriebssysteme" gibt. Das war mal... Stimmt so schon lange nicht mehr... .net core läuft auf Linux ohne mono und ohne zusätzlicher virtueller Maschine die mein "sicheres" Linux wieder gefährdet wie Java ?. Läuft quasi native und wesentlich Ressourcen sparender. Ist extra dafür OpenSource damit es nicht nur für MS-OS ist und wird speziell für C# angeboten. Aktuell noch mit Einschränkungen wie keine GUI, aber die braucht ein echter Linuxer nicht^^. Möglich wäre auch VS und C++ und wirklich native ohne .net core inkl nativen debuggen der Linux Anwendung unter Windows... Der TE wollte VS und C#. Bin aber aktuell trotzdem auch der Meinung das dies keine ideale Lösung für Linux im speziellen für RPi ist, eher ein Notbehelf.
RudiK schrieb: > Möglich wäre auch VS und C++ und wirklich native ohne .net core inkl > nativen debuggen der Linux Anwendung unter Windows... Das ist mit "VisualGDB" möglich.
guest schrieb: > Das ist auch ohne VisualGDB möglich. Auch als "cross debugging", d.h. mit dem unter Windows laufendem VS und einem auf dem RPi laufenden Linux-Programm?
Rufus Τ. F. schrieb: > Auch als "cross debugging", d.h. mit dem unter Windows laufendem VS und > einem auf dem RPi laufenden Linux-Programm? Ob mit VS weiß ich nicht. Aber mit Eclipse das sehr gut. Wenn nur VS gefragt ist, dann hab ich nichts gesagt ;)
900ss D. schrieb: > Wenn nur VS gefragt ist, Sieh Dir den Threadtitel an. Und das hier: RudiK schrieb: > Möglich wäre auch VS und C++ und wirklich native ohne .net core inkl > nativen debuggen der Linux Anwendung unter Windows... Insofern ist Eclipse die falsche Antwort.
Rufus Τ. F. schrieb: > Auch als "cross debugging", d.h. mit dem unter Windows laufendem VS und > einem auf dem RPi laufenden Linux-Programm? Jep, ein paar mehr Infos gibt es hier: https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/ Oder als "open folder project", ähnllich wie bei VSCode: https://docs.microsoft.com/en-us/cpp/ide/non-msbuild-projects?view=vs-2017 Oder via CMake: https://blogs.msdn.microsoft.com/vcblog/2018/11/26/using-visual-studio-for-cross-platform-c-development-targeting-windows-and-linux/
... Eventuell auch noch interessant: https://docs.microsoft.com/en-us/cpp/linux/prop-pages/debugging-linux/ bzw. https://docs.microsoft.com/en-us/cpp/linux/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.