Barcodescanner

Shorti

Shorti

Routinier
Hallo liebe Gemeinde,

ich habe neulich mal meinen Dachboden ausgemistet und nen alten Barcodescanner, nein eigendlich 2 davon gefunden. Die sind vom Hirmer (Das Herrenmodenhaus) ausgesondert worden, da die neuere Funkbarcodescanner bekommen haben.

Der Barcodescanner hat eine COM-Schnittstelle.
Leider ist auf dem Barcodescanner keine Herstellernummer oder aehnliches zu sehen. Bzw die die zu sehen sind liefern zumindest ueber google kein brauchbares Ergebnis.
Bei Hirmer wollte mir auch niemand weiterhelfen. Da die Treiber fuer den Barcodescanner in der Kassensoftware integriert waren.

Ich habe jetzt mit ComSpy und Hyperterminal versucht die COM Schnittstelle auszulesen aber ohne Erfolg. (Ja HyperTerminal ist Windows Software, aber ich wusste grad keine Linux Software dafuer)
Nun ist mir auch gerade aufgefallen, dass der Laserstrich nicht da ist. Somit kann es ja nicht funktionieren ^^

Nun meine Fragen:


  • Muss / Kann man mit einem Treiber die Stromversorgung des COM-Geraetes regeln? (Bei USB gibts ja standardmaessig ne Grundspannung und mit Treiber sogar n bissl mehr)

  • Wenn ja, wie geht das?
Meine Programmierkenntnisse sind eher bescheiden. Ich kann einiges in Perl und PHP. C++ kann ich nicht wirklich aber n bissl. Also waere es nett wenn mir dann jemand eventuell unter die Arme greifen koennte.
 
Um den COM Port unter Linux auszulesen solltest du ein Programm wie ckermit verwenden. Um nun heauszufinden wie die Dinger den Barcode codieren brauchst du außerdem einen Barcodegenerator und dann musst du versuchen die Barcodes entweder direkt vom Bildschirm oder vom Papier abuzulesen und dir aus den Daten die reinkommen ein Reim machen. Aber da gibt es natürlich einige Tücken - insbesondere wenn der Scanner eine Antwort erwartet oder bestimmte Initialisierungssignale vorraussetzt.
 
Freie Librarys die Barcodes verarbeiten können gibt es schon - zwar für Android und in Java, aber immerhin: http://code.google.com/p/zxing/. Vielleicht ist es einfacher, das entsprechend zu adaptieren, dann brauchst du quasi "nur noch" die Daten einlesen, wäre aber dann sicherlich weniger Arbeit. :)
Für serielle Schnittstellen gibt es einige interessante Sachen und weitere Verweise, wenn man sich einfach mal die manpage zu setserial anschaut. Vielleicht hilft dir das ja schon weiter. :)
 

  • Muss / Kann man mit einem Treiber die Stromversorgung des COM-Geraetes regeln? (Bei USB gibts ja standardmaessig ne Grundspannung und mit Treiber sogar n bissl mehr)

  • Wenn ja, wie geht das?

Die Ausgangsliestung der Pins ist bei EIA-232 vom Ausgangstreiber deines PCs abhängig. Die gängigen Typen lassen ca. 12mA bei 9V zu. Über einen Treiber kannst du da nichts einstellen.
(Das geht bei USB übrigens auch nicht. Dort hast du 100mA bei 5V wenn sich ein Gerät beim Host-Controller meldet. Das Gerät kann nun, softwaremäßig, mehr Strom anfordern, und wenn es die Energieverwlatung zulääst, gibt der Host-Controller 500mA für das Gerät frei. So die Spezifikation, in der Praxis kannst du meistens ohne Anforderung sofort 500mA von der USB-Schnittstelle ziehen.)
Zu beachten ist, dass die EIA-232 Schnittstelle eigentlich garkeine Pins zur Stromversorgung von daran angeschossenen Geräten vorsieht. Es gibt aber die Möglichkeit, ein Gerät über bestimmte Signalleitungen zu versorgen (wird zB hier erleutert).
Hat der Scanner nur einen EIA-232 Anschluss, oder kann es sein, dass auch noch ein seperater Anschluss für die Versorgung am Gerät ist?

MC Raph
 
Zurück
Oben