Laden...

Wie bindet man RaspberryPi.Net (GitHub) in Visual Studio ein um für einem RaspberryPi zu entwickeln?

Erstellt von Cornflake vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.597 Views
C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 7 Jahren
Wie bindet man RaspberryPi.Net (GitHub) in Visual Studio ein um für einem RaspberryPi zu entwickeln?

Hallo Leute

Unter windows kann man ja mit Visual studio Programme schreiben, die auf dem Raspberry pi laufen. Sollen in dem Programm aber die GPIOs angesprochen werden wird das unter github verfügbare RaspberryPi.Net projekt benötgigt.

Kennst sich da jemand von euch aus, wie das statt für monodevelop für visual Studio eingebunden wird?

Grüße Cornflake

16.835 Beiträge seit 2008
vor 7 Jahren

Naja, das Raspberry.NET is ja nichts anderes als ein simpler API Wrapper, der eben Mono verwendet.
Nimm halt nen anderen Wrapper oder benutz direkt selbst einfach PInvoke, wo ist das Problem? 😉

Der Quellcode ist ja offen, kannst ja anschauen, wie es funktioniert.
Ich benutz WiringPi via Pinvoke. Gibts aber bestimmt auch nen Wrapper für.

C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 7 Jahren

@Abt: Danke für deine Antwort.

Jetzt ergeben sich daraus doch noch ein paar Fragen.

  1. Sehe ich das richtig dass du dann den Code nur kompilierts und dann danach auf den Pi kopierst?

  2. Bindest du das wiringpi dann in Visual Studio als Verweis ein, bzw. wo muss die Datei stehen, dass du die per [DllImport("WiringPi.dll")] laden kannst? Habe eine wiringpi.dll auf der webseite aber auch noch nicht gefunden.

  3. Wo muss dann unter Linux die wiringpi.dll stehen oder geht dass dann nur über den auf der webseite beschriebenen git install weg?

  4. Wie machst du das in C# mit Pfadangaben, wenn du z.B. eine Datei laden willst. Unter Linux kannst du ja kein C:\tools\meintool\konfig.xml angeben.

  5. Gibt es eigentlich eine kostenlose Möglichkeit aus Visual Studio heraus direkt(über Netzwerk etc.) auf dem Raspberry pi ein C# Windowsform Programm zu debuggen?

Beste Grüße
Cornflake

16.835 Beiträge seit 2008
vor 7 Jahren

PInvoke wird nie als Verweis eingebunden. Das sind C++ DLLs, keine CLR.
Ich verwende kein Linux auf meinem PI, sondern Windows 10 IoT.

Willst Du Linux nutzen dann brauchst Du Mono oder .NET Core.
Das gehört hier auch zu den Plattformgrundlagen. Aber auch .NET Core kennt Interop.

Zudem arbeitet man nie mit fixen Pfadangaben, sondern mit relativen oder über Configdateien.

Wenn Du wiringpi.dll in Google eingibst findest genug Treffer.
Sogar doch die genannten Wrapper. Überhaupt danach gesucht? Oder wolltest das Raussuchen an mich delegieren? 😉

C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 7 Jahren

PInvoke wird nie als Verweis eingebunden. Das sind C++ DLLs, keine CLR. ok stimmt hast recht, dass ist dann wie bei SendMessage. Pro Methode ein Dllimport

Ich verwende kein Linux auf meinem PI, sondern Windows 10 IoT.

Zudem arbeitet man nie mit fixen Pfadangaben, sondern mit relativen oder über Configdateien.

Ja nutze das Raspian. Habe da das Mono Framework installiert.

Wenn Du wiringpi.dll in Google eingibst findest genug Treffer.
Sogar doch die genannten Wrapper. Überhaupt danach gesucht? Oder wolltest das Raussuchen an mich delegieren? 😉 Sorry nein wollte ich nicht. Hatte nur nach der Entwicklerseite gesucht (http://wiringpi.com/) und dort dann nichts zur Dll gefunden.

16.835 Beiträge seit 2008
vor 7 Jahren

Dann schau Dir lieber .NET Core auf Raspian an statt Mono. Mono wird eh nicht mehr weiterentwickelt.

Jürgen Gutsch, Microsoft MVP für ASP.NET, hat dazu einen Blogbeitrag geschrieben:
.NET Core auf dem Raspberry PI installieren.
Wobei es den DNVM nicht mehr gibt, sondern durch die dotnet CLI im RC von .NET Core abgelöst wurde.

.NET Core kommt am 27. Juni (in 4 Tagen) als RTM, kann aber schon als RC2 genutzt werden.

C
Cornflake Themenstarter:in
142 Beiträge seit 2007
vor 7 Jahren

THX
Ok scheinen einige Schritte zu sein, bis das läuft, aber mit der Anleitung machbar 😃

Genial wäre es ja noch wenn man direkt aus Visual Studio auf dem Raspberrypi mit .net Code debuggen könnte.