hi,

On Wednesday 19 September 2012, [email protected] wrote:
>  Die Bücher und Bibliotheksausweise sollen mit Balkencode
> (oder QR-Code) versehen sein.

zumindest zu dem Teil kann ich was sagen:

Nimm einfache 1-dimensionale Barcodes (Code-39, Code 128, EAN, ...) - die 
eindimensionalen Reader sind um einiges billiger als die Scanner für 2-
dimensionale Codes und die besseren Reader können normalerweise auch ältere 
Codes lesen. 2-dimensionale Codes haben auch das Problem dass sie leichter 
durcheinandergeraten kommen können - ein Knick oder Kratzer und der Code ist 
nahezu unlesbar.

Wie schon von "morphium" geschrieben: die meisten Scanner kommen als 
verkappte Tastatur daher. Es gibt hunderte Modelle mit sehr 
unterschiedlichem Support für Codes und Hardware-Schnittstellen. Im 
Wesentlichen findest Du folgende Varianten:

CCD+LED vs. Laser
- einfache CCD/LED-basierte Scanner sind billiger, Du musst sie aber in 
einem bestimmten Abstand über den Code ziehen, diese können nur 1-
dimensional lesen
- moderne CCD/LED-basierte Scanner, die 2-dimensional lesen können haben 
eine bessere Fokusierung, aber sind auch teurer
- Laser-basierte Scanner projizieren ein Muster auf das Papier - der Code 
kann in nahezu beliebiger Orientierung liegen, solange ein "Strahl" in 
vollständig erfaßt, diese Scanner sind wesentlich teurer als die ganz 
einfachen (manchmal günstig auf Ebay)

Schnittstellen:
- seriell: übertragen ein ASCII-basiertes Protokoll, modellspeziefisch, vom 
Aussterben bedroht (zum Glück)
- PS/2: werden an den Tastaturport angeschlossen, Tastatur wird 
durchgeschleift
- USB: melden sich als USB-Tastatur am Computer an
- WLAN/Ethernet: für Industrieanwendungen, können offline arbeiten, 
proprietäre Protokolle, wahnsinnig teuer

Außer bei den ganz komplexen passiert die Konfiguration über spezielle 
Barcodes im Manual des Scanners. Man kann alle möglichen Parameter 
einstellen:
* welche Codes erkannt werden (je weniger, umso besser funktionieren die 
verbliebenen, je mehr umso mehr verschiedene Anwendungen sind möglich)
* Verhalten mit Checksummen (durchreichen, ignorieren, prüfen)
* weitere  Einstellungen zu Codes (Übermittlung des Code-Typs, ...)
* Lesegeschwindigkeit
* Schnittstelleneinstellungen
* simuliertes Tastaturlayout

Zum Thema Codes:

Code-39 gehört zu den robustesten. Nachteil ist dass die codierbaren Zeichen 
auf Großbuchstaben, Ziffern und einige wenige Sonderzeichen beschränkt sind. 
Damit der Code scannbar bleibt sollte man bis zu 10 Zeichen codieren, 
maximal 12.

Code-128 ist kompakter, kann den ganzen ASCII-Satz (oder kompakte Zahlen) 
codieren, ist aber leichter zu korrumpieren.

Interleave-25 ist zwar schön kompakt und beliebt, aber hat schlimme 
Lesefehler.

EAN würde ich nicht einsetzen, da Du es sonst sehr einfach mit dem Barcode 
der ISBN verwechseln kannst (den würde ich übrigens auch nicht überkleben, 
manchmal braucht man die ISBN).

Diese Codes werden von fast jedem Scanner verstanden, egal ob er als 1-D 
oder 2-D Scanner verkauft wird oder eine Handy-App ist


Erzeugung von Barcodes:

Sogenannte Barcode-Fonts sind bestenfalls eine Notlösung - Du musst genau 
nachschauen dass Du das richtige Start- und Stopzeichen benutzt, musst die 
Checksummen selbst berechnen, es darf keine Abstände zwischen den Zeichen 
geben, ....

Aus Scripts heraus macht sich GNU barcode zum Erzeugen recht gut. Wenn Dein 
gewähltes Programm selbst Barcodes erzeugt - nimm diese Funktion. Ansonsten 
kann ich Dir C++-Code anbieten, der Qt-Images mit Code-39 erzeugt.


Thema Codierung:

Versuch einen Code zu nehmen, der nicht nur Ziffern enthält, damit es keine 
Verwechslung mit EAN, ISBN oder ISSN gibt.



        Konrad

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an