Forum: PC-Programmierung Monodevelop ,GPIO,Raspberry Pi 2


von Nitha V. (nitha)


Lesenswert?

Hallo alle zusammen

ich habe eine Frage unzwar bin ich eher der Visual Studio C++/C# Typ
ich wollte mir eine Graphische Oberfläche mit Buttons und Listbox usw. 
machen mit denen man die GPIOs ansteuert.

Ich habe Raspbian drauf und habe von Monodevelop gehört!

Was ich denke zu wissen ist: Monodevelop ist ein Programm mit 
NET.Framework und hat seine eigene Library!

Jetzt meine Frage:

Kann ich einfach bei Visual Studio ein Programm schreiben ,dass mir am 
Ende eine .exe Datei ausspuckt und welche ich dann bei raspbian über den 
Befehl : "sudo mono MEINS.exe" öffne??

funktioniert das alles auch ohne weiteres?
kann man auch die GPIO ansteuerung über Visual Studio schreiben ohne 
besondere Addons?


ich hoffe ihr könnt mir da eine ausführliche Erklärung bieten.

Danke euch für eure Zeit!

von Timmo H. (masterfx)


Lesenswert?

Nein Mono ist das Linux-Derivat zu C#/.net. Du musst die Quelle aber 
schon unter Linux Compilieren, denn Linux kann mit Exe nichts anfangen.
Und nein die RPi GPIO unterstüztung ist nicht mit drin, es gibt aber 
Wege das zum laufen zu bringen: 
https://www.raspberrypi.org/forums/viewtopic.php?p=88063#p88063, 
https://github.com/AlexSartori/Raspberry-GPIO-Manager
Vielleicht solltest du dir auch mal TCL/TK angucken

: Bearbeitet durch User
von Planlos (Gast)


Lesenswert?

Timmo H. schrieb:
> Nein Mono ist das Linux-Derivat zu C#/.net. Du musst die Quelle aber
> schon unter Linux Compilieren, denn Linux kann mit Exe nichts anfangen.

Dochdoch, .NET - EXE-dateien kann man mit mono ausführen:

Beitrag "C#: exe unter Ubuntu ausführen"


Aber: Ob und wieweit das klappt, hängt davon ab welche 
Libraries/Funktionen/GUI-Elemente usw. das Programm verwendet.

Generell halte ich es (gerade für Anfänger) für keinen guten Weg, gleich 
mit
Virtuellen Maschinen, Emulatoren, Cross-Compiler usw. in die 
Programmierung einer neuen Plattform einzusteigen.

In der Zeit die du brauchst, um all die Kompatibilitäts-Fallstricke zu 
umschiffen, hast du schon drei neue Programmiersprachen direkt passend 
zur Zielplattform gelernt.
Oder Windows10 auf dem RasPi2 installiert.

von Falk S. (db8fs)


Lesenswert?

Timmo H. schrieb:
> Nein Mono ist das Linux-Derivat zu C#/.net. Du musst die Quelle aber
> schon unter Linux Compilieren, denn Linux kann mit Exe nichts anfangen.
> Und nein die RPi GPIO unterstüztung ist nicht mit drin, es gibt aber
> Wege das zum laufen zu bringen:
> https://www.raspberrypi.org/forums/viewtopic.php?p=88063#p88063,
> https://github.com/AlexSartori/Raspberry-GPIO-Manager

Jo. Du kannst natürlich auch einfach die SysFS-Fileschnittstelle nutzen 
und die mit Mono ansteuern:

http://raspberrypiguide.de/howtos/raspberry-pi-gpio-how-to/

> Vielleicht solltest du dir auch mal TCL/TK angucken

Alter, ernsthaft? Jedesmal, wenn ich make xconfig eingebe, krieg ich da 
Brechreiz... dann doch lieber Python oder Ruby mit Qt oder GTK

von Nitha V. (nitha)


Angehängte Dateien:

Lesenswert?

hallo

hab jetzt was gefunden unzwar :

mit Visual STudio mit der Library von Nuget(Raspberry.IO.GeneralPurpose)
ein C# programm laufen lassen und dann auf den Raspberry gezogen und 
dann mit :

sudo mono test.exe ausgeführt.Klappt alles nur hab ich ein problem mit 
der Programmierung:im Anhang


ich habe da die Zeile mit dem Toggle ,da würd ich gerne die Led einfach 
nur anmachen!
und nicht "togglen" lassen.
Aber ich komm da nicht weiter...kennt sich da jemand vielleicht aus?

lg

von nicht"Gast" (Gast)


Lesenswert?

Nitha V. schrieb:
> ich habe da die Zeile mit dem Toggle ,da würd ich gerne die Led einfach
> nur anmachen!
> und nicht "togglen" lassen.
> Aber ich komm da nicht weiter...kennt sich da jemand vielleicht aus?

Echt jetzt, du bist nicht in der Lage, dir mal die Methodenliste von 
GpioConnection anzuschauen? Da gibts doch sicherlich einen Namen, bei 
dem man ein ein oder ausschalten denken könnte.

von Nitha V. (nitha)


Lesenswert?

danke fürs Gespräch!

wenn das so einfach wäre hätte ich es auch hinbekommen!

von Planlos (Gast)


Lesenswert?

1
connection1[led1]=true;

von Oliver S. (phetty)


Lesenswert?

Ich würde es über ein Web-Interface lösen. Perl,PHP, Python.

Vorteil: Geht auch ohne X, lässt sich von sonstwoher bedienen.

von Nitha V. (nitha)


Lesenswert?

danke Planlos hat geklappt ...hab die falschen klammern benutzt.

ich selbst bin "nur" ein Maschinenbauer und deswegen eher wenig Ahnung 
von Programmieren aber ich habe nach einem Computerkurs nur das 
Basiswissen was ich wiederrum schon wieder verdrängt habe :D

hätte vielleicht jemand zeit um mir die folgende realisierung in C# 
sprache umzuschreiben?:

also zum praktischen:  ein motor soll solange drehen bis ein gewisser 
sensor erreicht ist und wenn dieser sensor erreicht ist sollen zwei 
ventile geschaltet werden für eine gewisse Zeit (1000ms). Nach dieser 
zeit soll das Ventil wieder ausgehen und mein motor wieder weiter fahren 
bis zum nächsten sensor und wieder mein Ventil schalten usw.


theoretisch (nach meinem Halbwissen):

while pin1= true                      ##Motor an
    if pin 2 =true then               ## wenn Sensor erreicht wird dann
       pin1 = false                   ## Motor aus

while pin 3 = true                    ## Ventil1 an
      pin 4 = true                    ## Ventil2 an

timer 1000ms                          ## für 1000ms

      pin3 = false                    ##  Ventil 1 aus
      pin4 = false                    ##  Ventil 2 aus

while pin1 =true                      ## Motor wieder an
    if pin5 = true then               ## wenn sensor 2 erreicht wird 
dann
       pin1 = false                   ## Motor aus
while pin3 =true                      ## Ventil an
      pin4 = true                     ## Ventil 2 an
timer 1000ms                          ## für 1000 ms

      pin3 =false                     ## Ventil aus
      pin4 =false                     ## Ventil 2 aus

usw.


ich hoffe ihr könnt mir da helfen


lg

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
Noch kein Account? Hier anmelden.