Externer Schalter für PC mit Java programmierbar?

OP #6571410
Lesenswert?

Liebes Forum,
ich hätte da ein Projekt, bei dem ich nicht weiß, ob das machbar wäre:
Über USB möchte ich einen Schalter/Taster an meinen PC anschließen und 
diesen mit Java so zu programmieren, dass er beispielsweise Aufnahmen 
bei Audacity startet und stoppt.

Wäre das machbar? Und wenn ja, wie?
Mit vielen Grüßen ein auf eure Hilfe bauender
James
Gast #6572586
Lesenswert?

Die Frage nach Java und nach Audacity sind zwei verschiedene Baustellen.

Es gibt zum Beispiel Bluetoothpedale, mit denen man meines Wissens per 
Treiber Tastatureingaben simulieren kann. Damit sollte sich auch 
Audacity steuern lassen.

Vor Jahren habe ich mal einen Taster in Java eingelesen. Der Taster war 
am Mikrocontroller, der über einen FTDI-Chip eine USB-Verbindung zum 
Computer hatte. Da damals Java keine USB-Kommunikation unterstützt hat 
oder ich zumindest nicht wusste wie, habe ich mit Hilfe des 
FTDI-Treibers und des JNI in C eine Zwischenschicht geschrieben, um 
Treiber und Java zu verbinden.

Was davon brauchst du?
#6572615
Lesenswert?

Bei USB hast du immer das Problem dass das ein recht komplexes Protokoll 
ist.
Nicht nur der Master (PC) braucht einen USB-Stack, auch der Slave (Maus, 
Tastatur, Headset...) müssen die "USB-Sprache" sprechen.

Das heißt einen einfachen Taster kriegst du am USB grundsätzlich nicht 
angeschlossen (zumindest nicht ohne dreckigste Hacks).
Früher, mit Parallelport usw. ging das noch.

Du brauchst also zwingend ein Gerät was bereits USB spricht, am besten 
etwas was sich als Tastatur ausgibt.

Schau dir mal sowas an:
https://www.amazon.de/USB-PushButton-benutzerdefiniert-konfigurierbar-Kunststoffgeh%C3%A4use/dp/B00IXIM6BC

Ein Javaprogramm sollte dafür auch nicht nötig sein.
Einfach die Audacity-Tastenkombi fürs Aufnehmen simulieren.
Oder, bei komplexeren Abfolgen, irgendwas mit AutoIT zusammenschuster.
#6572620
Lesenswert?

James F. schrieb:
> knipsy schrieb:
>> Definiere etwas weiter??
>
> Mit etwas weiter meinte ich, dass ich den Schalter/Taster an Kabel
> anschließe und somit wenn nötig durch den ganzen Raum verlegen könnte.
> Wobei ich mit einer Entfernung von ca. 50cm zufrieden wäre.
also da ist das Kabel meiner Tastatur länger. Mit USB kannst du erst mal 
5m weit gehen. Die Strecke zwischen USB-Device und Schalter ist erst mal 
'unbegrenzt' man muss halt nur die Eingangsbeschaltung entsprechend 
auslegen.

Sascha
#6572802
Lesenswert?

James F. schrieb:
> Liebes Forum,
> ich hätte da ein Projekt, bei dem ich nicht weiß, ob das machbar wäre:
> Über USB möchte ich einen Schalter/Taster an meinen PC anschließen und
> diesen mit Java so zu programmieren, dass er beispielsweise Aufnahmen
> bei Audacity startet und stoppt.
>
> Wäre das machbar? Und wenn ja, wie?
> Mit vielen Grüßen ein auf eure Hilfe bauender
> James

Du nimmst diesen Chip:

https://www.microchip.com/wwwproducts/en/MCP2221A

Den gibts auch bei Reichelt. Der hat UART, I2C und 4 IO-Pins. An einen 
der IO-Pins klemmst Du deinen Taster an (gegen GND schaltend), plus 
einem Pullup-Widerstand (10k oder so).

Dann nimmst Du das zugehörige JNI-Interface dazu:

https://ww1.microchip.com/downloads/en/DeviceDoc/MCP2221%20Java%20Native%20Interface.zip

und da steht dann alles weitere drin.

fchk
Gast #6573115
Lesenswert?

> Schon, aber ich hätte den Schalter gerne etwas weiter vom PC verlegt. Da
> reicht die Tastatur nicht aus.
Du steckst die in den USB Port, lötest ein Kabel parallel zu einer 
Taste, legst das 20m bis zum Nachbarn und lötest dort nen Taster dran.
Bei Audacity stellst Du den Shortcut für Record und Stop auf diese 
Taste.

Kein Java, kein JNI nix. Fertig.

Genauso hat's mein Opa nach dem Krieg auch mit der Schreibmaschine 
gemacht. Auch ohne Java. Er damit die Plattenaufnahmen gestartet.
Gast #6573479
Lesenswert?

Es gibt unzählige fertige Lösungen, vom Fussschalter mit USB bis zur 
zusätzlichen Nummerntastatur, und per USB mit niedriger Datenrate geht 
das bis 5 m sowieso und mit Verlängerungen noch mehr.

Georg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren