Softwaretool für Parallelschnittstelle ( LPT)?

Hallo Group!

Habe da mal wieder so eine Sache...

Ich habe ein elektrisches Signal, passender weise sogar mit TTL-Pegel (0V/5V) als "Vorfallmeldung".

Jedes mal wenn dieses Signal auf "High" springt, möchte ich ein Foto mittels Webcam schießen, die an dem PC (W2k) hängt der eh vor Ort ist.

Die Webcam tut das gewünschte ordentlich via Komandozeile / Batchbefehl.

Das letzte Stückchen was mir noch fehlt, und wo mir die letzten 2 Stunden selbst Google nicht weiter helfen konnte:

Ein kleines Programm welches z.B. eine Leitung am LPT-Port beobachtet und die Batch-Datei aufruft wenn da was wackelt.

Andersherum kein Problem. Haufenweise Programme welche die LPT als Schaltausgang z.B. für Relaissteuerungen usw. nutzen. Aber als Eingang nix...nichtmal ansatzweise was gefunden..:-(

Da muss es doch was geben...so derart ungewönlich kann mein Vorhaben doch nicht sein?

Für ein Tip wäre ich dankbar!

Grüße aus Dortmund

Jürgen Hüser

--

www.funktechnik-hueser.de
Reply to
Jürgen Hüser
Loading thread data ...

Lesen geht ueber einen der Feedback Register Pins da das eh schon Inputs sind. Sieh Dich mal in der Robotik-Ecke um. Vielleicht kommst Du hiermit weiter:

formatting link

Anzeigen tut es dann, wie weit das mit Batch File Aktivierung geht muessest Du ausprobieren oder im VB selbst dazuschreiben (Source Code ist dabei). Kann bei Win2k aber sein dass es nur ueber die DLL geht, dazu gibt es etwas info hierueber:

formatting link

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Die Low-Tech Lösung: alte USB-Tastatur nehmen (oder neue für 5 Euro kaufen), zwei Kabel an eine Taste löten, ggf. noch mit Schalttransistor und mit der Windows Script Engine deiner Wahl die Taste abfragen und dann das Script aufrufen.

Ein klein wenig mehr Hightech: Selber eine "Tastatur" per Microcontroller implementieren :-)

formatting link

Die ultimative Lösung: Ein gerätespezifisches USB-HID Device, nebst passender HID-Auswertesoftware programmieren.

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Low-tech Brachialmethode, Ingenieure in Paraguay moegen ab hier bitte nicht weiterlesen oder wenigstens vorher eine Magentablette nehmen:

RS232 Port nehmen, auf Remote Echo mit Loop Check schalten, weitgehend "high" senden. Widerstand von TXD nach RXD. Diode oder Relais an das Kabel mit dem TTL Signal. Das zieht bei Null den RXD Pin auf Masse, Loop Check meldet COM Failure, Kamera wird ausgeloest. Bei der Diodenversion aufpassen dass der Widerstand hoch genug ist dass er die TTL Versorgung nicht raufzieht, denn der "lehnt sich in die Substratdiode".

Gibt auch noch Tricks mit anderen RS232 Pins, ist ja interrupt-faehig. Koennte man die Diode sparen :-)

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Das meinte ich mit Tricks. Muss man aber eine Software finden die das als Statusaenderung so verknusern kann dass ein Batch File gestartet wird. Oder wo man das irgendwie per Script reinzimmern kann. Wenn das auch nur fuenf Minuten laenger dauert haette ich die beiden Bauteile schon angeloetet und das Kabel zugentlastet :-)

Ich habe Rechner gesehen da war ein LPT Port dran aber keine echte RS232. Das musste man dann ueber USB machen. Wuerde fuer die Kamera vermutlich auch noch schnell genug reagieren.

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Viel zu kompliziert :) und zu teuer, da Diode + R verplempert :p

Einfach RI nehmen und einen IR auslösen lassen. Notfalls zyklische Statusabfrage des COMport statusRegs bzw. ModemControlReg (weiss nicht mehr genau, wo das RI zu begaffen ist.

Wer LPT hat, hat auch RS232 :)

Saludos Wolfgang

--
Wolfgang Allinger              15h00..21h00 MEZ: SKYPE:wolfgang.allinger
Paraguay            mailer: CrossPoint XP 3.20 (XP2) in WinXPprof DOSbox
 Click to see the full signature
Reply to
Wolfgang Allinger

Am 04.12.2011 00:45, schrieb Frank Buss:

Ich habe die Tastatur entsorgt und nur den Controller im Einsatz. Frage so 8 Kontakte ab und das funktioniert top. Preiswerter, zuverlässiger und nachbausicherer (auch bei einem evt. Defekt) geht es wohl kaum. Gruß Mirko

Reply to
Mirko Siederik

Beispiel 1:

ProfiLab Expert 4.0 von

formatting link
eigentlich so eine Art Mini-Labview

Da greift man sich dann den LPT-Port und das "Programm ausführen"-Element, verbindet diese und lässt es nach Einstellung der Portadresse und des auszuführenden Programmes im Hintergrund laufen.

Beispiel 2:

Girder von

formatting link

eine Was-passiert-dann-Maschine, ursprünglich wohl mal zur Auswertung von Fernsteuerungen entwickelt. Kann diverse PC-Ereignisse auswerten und daraus folgend Aktionen starten. Ich benutze das im QRL um bei Empfang eines bestimmten seriellen Schnittstellentelegrammes ein Batch zu starten. Funktioniert aber ähnlich auch mit anderen PC-Schnittstellen und -Ereignissen.

Beides keine Freeware aber für zweistellige Eurobeträge zu haben.

Beispiel 3:

C-Compiler anschmeissen und den Overhead selber programmieren.

Reply to
Tim Cronenberg

"Jürgen Hüser" schrieb...

Falls du das gute alte Qbasic noch hast, da gibt es kleine Programmschnippselchen, die die Ports abfragen.

formatting link
Hier gibts u.a. auch eine portadr.bas oder eine lpt1_in.bas, oder einen Parallelport-Debugger. Vielleicht lässt sich da was "ausschlachten" und "missbrauchen". Abschnitt 9.1 ist vielleicht interessant.

W.

Reply to
Wolfgang P u f f e

Am 04.12.2011 10:12, schrieb Wolfgang P u f f e:

Ähh, direkter Zugriff auf die I/O-Ports -- geht das bei einem modernen Windows noch?! Ich kann es mir nicht vorstellen.

Unter Linux muss man sich zumindest vor jedem inb/outb erst per ioperm mit Root-Rechten die entsprechenden Permissions holen. Und das ist schon ziemlich ziemlich schmutzig programmiert dann.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt?
> Zumindest nicht öffentlich!
 Click to see the full signature
Reply to
Johannes Bauer

Das geht, aber nicht mehr ganz so direkt und vor allem nicht mehr so "echtzeitmaessig" wie frueher:

formatting link

Wobei wir in einer Firma NT4.0 mal ziemlich echtzeitmaessig umgestrickt haben, mit Erlaubnis von MS. Da geht eine ganz Menge.

Bei Windows geht es auch ueber Permission.

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Ja, wird aber nicht empfohlen und braucht von Microsoft undokumentierte Funktionen, z.B. Ke386SetIoAccessMap. Kann also sein, daß es z.B. nach dem nächsten Sicherheitsupdate nicht mehr läuft. Besser einen Treiber schreiben, oder den Portzugriff über einen generischen Treiber abwickeln, wenn es nicht laufzeitkritisch ist:

formatting link

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Hallo zusammen,

Warum eigentlich nicht via API-Calls, die dafür gedacht sind? Ich hab die jetzt nicht parat, aber so schwer war das seinerzeit mit dem COM-Port auch nicht. Das sollte mit dem LPT nicht schwieriger sein.

Alternativ gibt es reihenweise DLLs, die das anbieten. GiveIO war IMHO auch so 'n Tool, mit dem man dann einfach wieder Portzugriffe machen konnte.

Marte

Reply to
Marte Schwarz

Doch, das geht. Aber natürlich benötigt man einen Treiber, der den Zugriff auf die Ports "freischaltet".

Im Prinzip ist das bei Windows ganz genauso. Den Treiber kann man auch nur mit Adminrechten laden. Allerdings wäre es sogar möglich, den Treiber dauerhaft zu laden und die Zufriffsrechte nur prozess-selektiv anhand ihrer Besitzer-ACLs herauszurücken.

Zumindest eine grobe Steuerung in dieser Art habe ich schonmal irgendwo gesehen. Mit "grob" meine ich: Alle durch den Treiber zum Zugriff freigeschalteten Ports konnten von allen Benutzern in einer bestimmten Gruppe tatsächlich benutzt werden. Natürlich nicht gleichzeitig, das führt dann logischerweise zum Chaos.

Reply to
Heiko Nocon

Klar, so sollte man es idealerweise tun. Aber es gibt Situationen wo Latenzzeiten was kritischer sind. War bei unserem Projekt damals in den

90ern der Fall. Aus Gruenden der Kompatibilitaet mussten wir Windows benutzen.
--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Doch, ist es. Schlicht deshalb, weil Windows LPT längst nicht in dem Maße unterstützt wie COM. Es gibt für LPT keine API-Entsprechung für die für COM-Ports verfügbaren GetCommModemStatus() und EscapeCommFunction().

Möglich, aber schmutzig (und natürlich sehr, sehr unsicher).

Reply to
Heiko Nocon

Noch `ne weitere Idee:

Olle Maus nehmen und eine der Tasten mit dem Signal beaufschlagen.

IIRC haben viele Maustreiber die Möglichkeit die Tastenbelegung zu editieren und dann kannst ja die Batch oder sonstwas zum triggern der Webcam nehmen.

5V TTL hättest Du auch direkt vor Ort.

Wenn Du unterschiedliche Mäuse x*USB hast, solltest Du eigentlich andere/getrennte Treiber finden oder alte PS/2 Maus kastrieren.

Saludos Wolfgang

--
Wolfgang Allinger              15h00..21h00 MEZ: SKYPE:wolfgang.allinger
Paraguay            mailer: CrossPoint XP 3.20 (XP2) in WinXPprof DOSbox
 Click to see the full signature
Reply to
Wolfgang Allinger

Am 04.12.2011 20:30, schrieb Wolfgang Allinger:

Netzschalter mit dem Signal beaufschlagen und das Programm in den Autostart-Ordner ;-)

SCNR, aber die API-Funktion GetCommStatus existiert.

Viele Grüße, Alfred.

Reply to
Alfred Gemsa

Am 05.12.2011 01:14, schrieb Wolfgang Allinger:

Eigentlich dachte ich an was Handfestes (C, VB, Delphi o.ä).

Das sieht genial einfach aus. Morgen mal testen.

ALfred.

Reply to
Alfred Gemsa

No problem, aber kann man die API auch aus einer batch Datei aufrufen?

Saludos Wolfgang

--
Wolfgang Allinger              15h00..21h00 MEZ: SKYPE:wolfgang.allinger
Paraguay            mailer: CrossPoint XP 3.20 (XP2) in WinXPprof DOSbox
 Click to see the full signature
Reply to
Wolfgang Allinger

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.