Laden...

C#/WPF-Programm per Hardware und deren Buttons steuern

Letzter Beitrag vor 8 Jahren 9 Posts 3.056 Views
C#/WPF-Programm per Hardware und deren Buttons steuern

Hallo,

Ich arbeite gerade an einem WPF-Projekt indem man die Fragen mit ja und nein beantworten soll. Ich will dies mittels zwei Hardware-buttons mittels USB Anschluss bewerkstelligen. Ein Button für ja und eines für Nein. Die Frage ist kann man für mein Vorhaben einfach irgend ein Button kaufen oder gibt es da spezielle. Außerdem würde ich euch bitten mir gute Seiten zu empfehlen mit denen man hardware mittels c# steuren kann.

Danke!

Das ganze ist in dem Fall ja keine C# spezifische Frage mehr. Einen Button der ein C# interface zum Auslesen findet wirst du vermutlich eher nicht finden.

Die Standard Lösung in dem Fall (Oder zumindest einen häufige Lösung) wäre:

Microcontroller -> Liest Buttonzustand aus -> Sendet diesen via Serieller Schnittstelle an den PC.
Für Seriell kann auch ein USB zu Seriell Adapter verwendet werden. Dieser sieht aus Programmierersicht am PC genauso aus wie eine herkömmlicher Serielport.

(https://msdn.microsoft.com/de-de/library/system.io.ports.serialport(v=vs.110).aspx
Und das hab ich selber vor einer Ewigkeit mal geschrieben:
http://www.roboternetz.de/community/threads/53894-Beispiel-Anwendung-C-Zugriff-auf-SerialPort)

Als Microcontroller kann man z.B. einen Arduino nehmen oder eine Selbstbaulösung auf Basis eines AVRs.

Danke mal schon für die Antwort. Aber da das Program für einen Kunden gedacht ist will ich das ohne Mikrocontroller lösen also nur mittel eines USB Button. Ist dies etwa nicht möglich?

Danke!

Du musst Dir überlegen, dass die Anwendung - egal ob jetzt .NET oder Delphi oder was auch immer - was mit den jeweiligen Knöpfen (=> den Signalen) anfangen muss.
Die beiden Buttons müssen also zB. Events auslösen. Aus Consumer-Sicht müsste also Dein Ja-Nein-Button irgendein SDK mitbringen, sodass man in .NET entsprechend auf die Events reagieren kann.

Sollte es das nicht geben, dann musst Du das alles selbst abdecken, sodass das serielle Signal interpretiert wird.
Ohne Treiber für ein USB Gerät kann auch dessen Funktion nicht angesprochen werden, außer, es ist ein Generic Input, für den Windows gewisse Standardtreiber hat (zB. Tastaturen und Mäuse).

Schau Dir zum Beispiel Raspberry PI an.
Es gibt zahlreiche Beispiel-Software, wie man mit Hilfe von C# die Buttons über ein Raspberry PI ansprechen bzw. konsumieren kann.
GPIO ist hier das Stichwort.

Evtl. findest Du aber auch bei Conrad, Reichelt und Co irgendwelche GPIO-USB-Komponenten, die Du via C# konsumieren kannst.

Danke für Eure Hilfe. Werde das alles nun ihn Ruhe recherchieren.

Eventuell findest du irgendwo eine Tastatur die tatsächlich nur 2 Keys hat (Oder zumindest wenige Keys)

Ein kleiner Touchscreen - mitt Buttons - wäre keine Alternative? Dann müsstest du auch keine Schnittstelle bereitstellen/programmieren.

https://www.conrad.de/de/touchscreen-monitor-257-cm-101-zoll-kraemer-automotive-v1000-1024-x-576-pixel-169-usb-409199.html

Noch kleiner:
https://www.conrad.de/de/touchscreen-monitor-203-cm-8-zoll-faytech-ft08tmb-372178.html

Ist nur so eine Idee von mir....

Das sind zwar erstmal 200€, dafür hat man aber kaum Entwicklungsaufwand.

"Knöpfe" kann doch im Smartphone-Zeitalter eh niemand mehr bedienen 😃

Gruß
Christoph

  • Pi Zero: 7€
  • Hardwareknöpfe: 2x 0,90€
  • HDMI: onboard.

Und im Zeitraum Q4 2016 kommt dann auch .NET Core auf die ARM-Plattform und damit auf die PIs.
Aktuell halt noch Mono-only auf dem ARM.

cSharp Projekte : https://github.com/jogibear9988