© klicker@pixelio.de
Perl-Skript katalogisiert Bücher und CDs dank
Barcodes
Kein Etikettenschwindel
von Michael Schilli
Erschienen im Linux-Magazin
2008/10
Jeder kennt es aus dem Supermarkt: Die Kassiererinnen scannen Barcodes ein. Diese Technik hat aber noch ganz andere Anwendungsmöglichkeiten, jeder kann davon profitieren: Mit einem Lesegerät für 25 Euro lässt sich auch die hauseigene Bibliothek, CD- oder DVD-Sammlung erfassen.
Die Hongkonger Firma Dealextreme bietet allerhand Artikel aus chinesischer Billigproduktion zu, wie ich finde, absoluten Schlagerpreisen an. Der Kunde zahlt per Paypal, der Versand ist kostenlos. Soll\'s ein Laserpointer für anderthalb Dollar sein oder ein SATA/IDE-Adapter für nur acht Dollar? Wer es nicht eilig hat (der Versand dauert bis zu zwei Wochen), der wird bei Dealextreme gut bedient. Auf den CCD-Barcodeleser für 42 Dollar (etwa 25 Euro, eines der teuersten Produkte dort, [2]) hatte ich schon geraume Zeit ein Auge geworfen und eines Tages drückte ich gut gelaunt den »Buy«-Button.
Post aus Hongkong
Als der Postbote dann endlich das Paket brachte, gab es kein Halten mehr: Was lag näher, als eine Applikation zu schreiben, die die Barcodes aller Ausgaben meiner umfangreichen Fachbuchsammlung erfasst und in einer Datenbank ablegt? Die Barcodes sind dort - je nach Herkunft des Buches - im Format UPC (Universal Product Number) oder EAN (Europäische Artikelnummer) aufgedruckt und Amazon bietet einen kostenlosen Webservice, der detaillierte Produktinformationen liefert, sobald man ihm die Nummer aus einem solchen Barcode übergibt. Ein Perl-Skript kann so Autor und Titel eines Buches bestimmen oder den Interpreten einer gerade eingescannten CD herausfinden. Auch Bilddateien der CD- und Buchcover gehören zum Lieferumfang. Läuft die Applikation als grafische Oberfläche, kann sie die Buchdeckel und die Hüllen eingescannter CDs sofort farbig auf dem Bildschirm anzeigen.
Als zweite Tastatur
Das Lesegerät verfügt über einen USB-Stecker, Linux erkennt es sofort als zweite Tastatur. Wer den Lesekopf wie ein Kassierer über den Barcode auf einem Fachbuch, einer CD oder DVD hält und den Knopf drückt, der schaltet das rote Licht ein, aktiviert den CCD-Sensor - und der eingebaute Kleinstcomputer versucht anhand der verschieden dicken Striche den dargestellten Barcode zu erkennen (Abbildungen 1 und 2).

|
Abbildung 1: Der Barcode-Scanner erfasst den UPC- oder EAN-Code eines Buchs. Die Software fragt Amazon anhand der Nummer nach weiteren Informationen.
|

|
Abbildung 2: Der Scanner arbeitet mit einem CCD-Sensor und schaltet auf Knopfdruck ein Rotlicht der Leuchtdioden an.
|
Der Barcode-Leser arbeitet sehr zuverlässig, piept, wenn er fertig ist, und sendet die Ziffernfolge per USB an den Rechner, ganz so, als hätte der User jede Ziffer einzeln über die Tastatur eingegeben und anschließend [Return] gedrückt. Sollte der Leser einen Barcode einmal nicht erkennen, was bei meinen Versuchen nicht vorkam, dann kann der Benutzer die Nummern auch in das Eingabefeld der unten vorgestellten Applikation tippen - der Effekt wäre der gleiche.
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|
niwo,
07.03.2009 08:59
./upcscan.sh: line 1: #!/usr/bin/perl: No such file or directory
./upcscan.sh: line 2: use: command not found
...
./upcscan.sh: line 11: syntax error near unexpected token `('
./upcscan.sh: line 11: `use Log::Log4perl qw(:easy);'
Aaron Digulla,
04.10.2008 23:19
Ich habe ein neues Script zum Scannen in meinem Blog gepostet. Es braucht nur eine Konsole, hat ein brauchbares Logging und legt die DB automatisch an, wenn sie noch nicht existiert und man kann einfach weitere Datenquellen einhängen.
http://darkviews.blogspot.c...dvd-book-comic-collection.html
MDX,
01.10.2008 15:22
Funktioniert prinzipiell auch mit Python (soappy) recht gut
Nettes Gadget und prompte Lieferung. Ging sogar ohne Zollgebühren ab.
Thorsten,
16.09.2008 13:39
Ich habe einen barcode scanner am comm-port (/dev/ttyUSB0).
Hätte gedacht, dass ./upcscan.perl < /dev/ttyUSB0 funktioniert - tuts aber nicht
Auch wenn ich in die Konsole was eingebe, klappt nicht. Aber der Input _kommt_ doch von der Konsole, oder?!?
Fragen, fragen fragen ...
Lupe Christoph,
15.09.2008 19:11
Dirk,
15.09.2008 18:25
my $entry = $top->Entry(
-textvariable => \my $UPC_VAR);
Gruß,
Dirk
Dirk,
15.09.2008 18:09
klasse Idee -- beim Ausprobieren bekomme ich aber immer die Fehlermeldung, dass der Parameter upc beim Amazon-Request nicht definiert sei. Wenn ich statt
my($upc) = @_;
my($upc) = "1234...";
eingebe, dann funktioniert es. Also liegt der Fehler vermutlich in der Behandlung von $UPC_VAR -- eventuell auch nur fehlerhaft rüberkopiert. Könnte mir jemand mal eine funktionierende Version ohne die Zeilennummern zur Verfügung stellen?
Danke und Gruß,
Dirk
Stefan,
03.09.2008 14:26
Der Autor hat vieleicht seinen eigenen "unbekannten" FTP-Server
Gruß an alle
Stefan