Taster an COM Schnittstelle anschließen

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von Egge, 30.11.2008.

  1. Egge

    Egge Jungspund

    Dabei seit:
    22.09.2006
    Beiträge:
    16
    Zustimmungen:
    0
    Hallo zusammen,

    ich würde gerne eine kleine Box mit zwei Tastern an den seriellen Port meines Linuxservers anstecken.
    Über jeweils einen Taster soll ein SNMP Befehl ausgelöst werden (WLAN an / WLAN aus).

    1) Gibt es solche "Tasterboxen" bzw. Bausätze?
    2) kann man diese Tasten per shell scripts auswerten oder muß man das mit einer "richtigen" Programmiersprache lösen.

    Vielleicht kann man mich jemand mit Links etc. versorgen, da ich nicht wirklich weiß, nach was ich genau suchen muß.

    Danke und Gruß
    Egge
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Schneemann, 01.12.2008
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    Bei der seriellen Schnittstelle gibt es das Problem, das es jeweils nur einen Pin zum empfangen und zum Senden gibt. Außerdem werden die Datenbits kodiert. Man kann den DCD oder Ring usw. für den 2. Taster benutzen. Die Programmierung wird dann aber schwieriger, da man dann imho nicht einfach den Linux-COM-Treiber nehmen kann. Da musst du wohl oder übel deinen eigenen schreiben.
    http://de.wikipedia.org/wiki/EIA-232
    http://lowlevel.brainsware.org/wiki/index.php/Serielle_Schnittstelle

    Einfacher wäre das eventuell mit der parallelen Schnittstelle. Dort gibt es mehrere Datenpins. Diese sind leider oft nur einseitig. Also müsstest du nachschauen ob deine Hardware bidirektionale Verbindungen unterstützt. Wenn nicht, kann man noch die Kontrollregister als Inputs nehmen. Das wurde sogar oft benutzt und eventuell gibt es dafür Treiber. Ansonsten selber schreiben :/

    BTW: Ja es gibt solche "Tasterboxen". Man kennt sie unter dem Namen Tastatur ;) Das wäre wahrscheinlich auch die einfachste Möglichkeit.
     
  4. Egge

    Egge Jungspund

    Dabei seit:
    22.09.2006
    Beiträge:
    16
    Zustimmungen:
    0
    Hmm, auf einen Taster könnte ich zur Not verzichten.
    Leider muß ich die serielle Schnittstelle verwenden, da ich keine parallele Schnittstelle mehr habe.
    USB wäre noch eine Möglichkeit, aber dürfte sich ja zur COM Schnittstelle nicht wirklich unterscheiden.

    Aber eine Tastatur hat doch zuviele Tasten ;)
     
  5. andy81

    andy81 von_suse_zu_arch_wechsler

    Dabei seit:
    30.03.2008
    Beiträge:
    72
    Zustimmungen:
    0
    Was sagst du zu einer kleinen Schaltung mit einem Microcontroller, der die serielle Schnittstelle als das benutzt wozu sie auch gedacht ist, nämlich als Kommunikationsschnittstelle.

    Für so eine Schaltung genügt im Prinzip ein kleiner Controller, der allerdings eine UART-Schnittstelle haben muss (z.B. Attiny2313). Außerdem brauchst du noch einen MAX232 für die Anbindung an die serielle Schnittstelle und eine handvoll Widerstände und Kondensatoren für die externe Beschaltung.

    Du musst dich zwar etwas mit Microcontrollerprogrammierung beschäftigen, aber gerade Atmel bietet sehr viele Beispielprogramme für deren Controller.

    Die gesamte Schaltung sollte eigentlich nicht mehr wie 10Euro kosten. Ein weiterer Vorteil besteht darin, dass du das ganze theoretisch mit einem Shellscript abfragen kannst, da du lediglich die Gerätedatei der seriellen Schnittstelle auslesen musst.

    Es gibt allerdings auch einen Haken an der Sache: Du brauchst für den Controller einen Programmer, was doch etwas teurer werden kann. Vielleicht hast du aber auch die Möglichkeit dir einen auszuleihen.

    Gute Anlaufstellen für diese Lösung:

    http://www.mikrocontroller.net/
    http://www.atmel.com/
     
  6. #5 saeckereier, 01.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Voll daneben. Riesen Unterschied. USB auf Parallel würde aber gehen.
     
  7. yai

    yai yet another idiot

    Dabei seit:
    22.01.2007
    Beiträge:
    166
    Zustimmungen:
    0
    Moin,
    sieh mal auf http://www.lirc.org/ nach, da gibt es Schaltungen, Programme, Links etc. zu Infrarotschnittstellen (seriell, parallel, usb ....). Damit bist du dann auch nicht auf 2 Taster beschränkt.
    Tschööö,
    yai
     
  8. #7 Programmer78, 02.02.2010
    Programmer78

    Programmer78 Foren As

    Dabei seit:
    28.11.2007
    Beiträge:
    93
    Zustimmungen:
    1
    Hallo,

    ich habe auch das Problem, möchte nur einen Taster an eine COM-Schnittstelle anschliessen um diesen Schaltzustand im Shellscript zu verwenden. Habe dazu noch eine Idee und möchte somit diesen Thread nocheinmal zum Leben erwecken : )

    Zufällig weiss ich, dass wenn man PIN 3+4? (rx/tx) brückt.. (also Taster geschlossen ist zum Beispiel), dass man im Terminalprogramm ein echo bekommt.
    Das heisst, ich sende an eine COM mit der Tastatur die Buchstaben "adsf" und es erscheint auf dem Terminalprogramm die Zeichenfolge "adsf". Im ungebrückten Zustand ist es nicht der Fall, weil eben nichts auf RX empfangen wird und TX sozusagen ins Leere läuft.

    Scripttechnisch müsste man also eine beliebige Information an die COM-Schnittstelle senden (0,5sek Schleife) und selbige nach der selben Ausgabe überwachen.

    Funktion: Wenn Ausgabe an COM1=adsf, dann... Also eine normale IF-Anweisung. Ich vermute das müsste funktionieren.

    Nur wie sendet man per Shell eine Info an COM1 oder fragt diese ab? Oder ja eher, gleichzeitig senden und empfangen? Naja das gleichzeitige sollte nicht das Problem sein.

    Ich hoffe dieser Thread wird jetzt dank diesem Hinweis so bis zur Lösung vervollständigt, dass wirklich nur noch Stecker, Kabel, ein Taster und ein paar Befehlszeilen erforderlich sind.

    Gruß und vielen Dank im Vorraus
     
  9. #8 flugopa, 03.02.2010
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Wenn nur eine Taste benötigt wird, dann würde ich USB verwenden.

    1 x USB-Kabel
    1 x alten USB-Stick oder irgend ein anderes USB-Gerät

    - Im USB-Kabel den grünen Draht druchschneiden, danach an dieser Stelle einen Taster einbauen. http://www.hardware-bastelkiste.de/usb.html
    - lsusb in einer Bashschleife einbinden, (oder mit SNMP abfragen)
    - Alles verbinden.
    Fertig.
     
  10. #9 saeckereier, 03.02.2010
    Zuletzt bearbeitet: 03.02.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Auch wenns funktioniert: Das ist so ziemlich die dreckigste Lösung, die ich mir vorstellen kann. Und so würde ich es definitiv nicht machen.. Das mit dem Brücken übrigens klingt ebenfalls ziemlich abentuerlich. Klar, funktioniert, aber trotzdem.. Die Lösung von andy81 ist nicht sehr kompliziert, technisch einwandfrei und ausserdem noch ganz interessant, um dabei etwas zu lernen..
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .
    Hier steht eigentlich alles drin was man braucht, man sollte wohl bis zu 4 der Pins eines RS232 auslesen können, die normalerweise anderen Zwecken dienen:
    http://www.mikrocontroller.net/articles/Ports_benutzen_(GCC)#Die_Pins_DCD.2CDSR.2CCTS.2CRI_lesen

    EDIT: Und falls man es braucht kann man auch noch ein paar Pins als Ausgang nutzen.
     
  11. #10 flugopa, 03.02.2010
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Was ist an meiner Lösung, wenn nur EIN Taster benötigt wird dreckig ?
    Von Realtime war bisher nicht die Rede.
    Ich hätte es ja noch verstanden, wenn Du Sinngemäß gesagt hättest: "...man sollte noch ein 10nF-Kondensator parallel zum Taster verwenden um ...".
    Was ist der physikalische Unterschied zwischen einen Taster und dem Ein- bzw. Ausstecken eines USB-Sticks?

    Wenn eines Tages mehr als ein Taster benötigt wird, kommt er um ein MC nicht herum.

    Dreckig ist, wenn die große die Schulden machen und die kleinen dafür zahlen müssen, oder sehe ich das falsch?
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 saeckereier, 03.02.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    flugopa: Lass es bleiben. Ich hab schon den anderen Thread gesehen den du total vom Thema abgebracht hast und ihn nicht kommentiert, obwohl ich denke, dass man sowas nicht unkommentiert stehen lassen kann. Wenn du dich unbedingt unterhalten willst, dann nicht in einem Thread der damit nichts zu tun hat.

    Dreckig bezieht sich darauf, dass man hier um einfach nur einen Schaltzustand eines Tasters festzustellen die komplette USB-HDD Logik des Kernels plus diverse Userspaceprozesse anspricht. Eine saubere Lösung ist das einfach nicht. Ausserdem fehleranfällig. Dann dauert es teilweise bis zur vollständigen Erkennung des Sticks einige Zeit. Der einzige Vorteil der Lösung ist, dass sie funktionieren würde. Aber es gibt wesentlich elegantere Lösungswege. Die Pins des seriellen Ports dazu zu verwenden ist deutlich einfacher und weniger fehleranfällig.

    Auch die Aussage, für mehr als einen Taster braucht man unbedingt einen µC ist wieder Quark. An der parallelen Schnittstelle kann man deutlich mehr als einen Taster auslösen. Auch die Standard RS-232 (EIA-232) Schnittstelle hat deutlich mehr als einen IO-Pin.

    Bitte bleibe bei Antworten nur auf dem Thema des Threads. Alles andere gehört nicht hierher!
     
  14. #12 flugopa, 03.02.2010
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Gern, wenn meine Angreifer Ihre Wortwahl (Beleidigungen) übedenken/einstellen.

    Wir sind hier um uns zu helfen, oder?
     
Thema:

Taster an COM Schnittstelle anschließen

Die Seite wird geladen...

Taster an COM Schnittstelle anschließen - Ähnliche Themen

  1. Xorg probleme mit Maus und Tastertur

    Xorg probleme mit Maus und Tastertur: Hi ich hab Xorg mit pacman draufgemacht. Füher hat das immer ganz gut funktioniert aber irgentwie wird die Maus und die Tastertur nicht erkannt...
  2. 1 Rechner 2 Monitore 2 Maus,Tasterturen, 2 Netzwerkkarten???

    1 Rechner 2 Monitore 2 Maus,Tasterturen, 2 Netzwerkkarten???: Hallo bin mal wieder ratlos. Dass ich Maus, Tastertur einen 2. Monitor zuordne, denke ich geht. (in der xorg.cfg) ABER ich habe 2...
  3. Tastertur und Ländereinstellung

    Tastertur und Ländereinstellung: OK Bei meiner Tastaur gehen die Zeichen für größer kleiner und den Querstrich nicht mehr. Würde die Zeichen jetzt abbilden geht aber halt nett...
  4. Rechner über Taster runterfahren

    Rechner über Taster runterfahren: Wie kann ich eigentlich einstellen, dass wenn ich den powerknopf kurz drücke, der Rechner runterfährt? oder zumindest einen halt macht.
  5. HummingBoard Gate: SBC mit Click-Board-Schnittstelle

    HummingBoard Gate: SBC mit Click-Board-Schnittstelle: Der israelische Minicomputerhersteller SolidRun hat den Einplatinencomputer HummingBoard Gate auf den Markt gebracht. Der Hummingboard Gate ist...