Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2008  »  10  »  Kein Etikettenschwindel  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© 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.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Selektive Wärme Selbstbauprojekt: Linux steuert Wärmepumpe
Vollautomatik Pentesting mit Metasploit und dem Autopwn-Modul
Wer A sagt, darf nicht B sagen Frage-Antwort-System fürs Web
Bus-Touristik Perl-Skript überwacht D-Bus
Tooltipps Werkzeuge im Kurztest
Erweiterungsbau Mit NSE den Netzwerkscanner Nmap erweitern
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)
Kommentare (8)
von
niwo,
07.03.2009 08:59
howto
Gute Idee, aber für perl Neulinge (wie mich) vermisse ich ein HOWTO. Wie startet man die GUI? Ich versuchs über die Konsole und bekomme:
./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);'

von
Aaron Digulla,
04.10.2008 23:19
Neues Script in Python
Hallo,

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
von
MDX,
01.10.2008 15:22
Gutes Beispiel für SOAP
Das Ganze würde auch ein gutes Lehrstück für SOAP, WSDL hergeben. Oder REST:
Funktioniert prinzipiell auch mit Python (soappy) recht gut
Nettes Gadget und prompte Lieferung. Ging sogar ohne Zollgebühren ab.
von
Thorsten,
16.09.2008 13:39
Barcodescanner an COMM
Nettes tool - klappt auch, wenn ich mal ne ean fake. Allerdings bekomme ich keine daten "rein".

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 ...
von
Lupe Christoph,
15.09.2008 19:11
Nett, braucht aber Arbeit
Das Problem ist, dass Amazon anscheinend deutsche DVDs nicht ueber die UPC findet, sondern ueber die EAN. Man muss locale => 'de' setzen und Net::Amazon::Request::EAN verwenden, um zum Beispiel die DVD "Ocean's Twelve", EAN 7321921389481 zu finden. Das komplifiziert die Angelegenheit zusaetzlich, weil man jetzt nicht nur in den Produktketagorien suchen muss, sondern auch noch mit UPC und EAN.
von
Dirk,
15.09.2008 18:25
Fehlerchen gelöst
Der Backslash in Zeile 40 hat gefehlt:

my $entry = $top->Entry(
-textvariable => \my $UPC_VAR);


Gruß,
Dirk
von
Dirk,
15.09.2008 18:09
Fehlerchen -- nur bei mir?
Hallo zusammen,

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
von
Stefan,
03.09.2008 14:26
Fehlerteufelchen
Bei den Links hat sich ein Fehlerteufelchen eingeschlichen.
Der Autor hat vieleicht seinen eigenen "unbekannten" FTP-Server wo die Listings liegen. Im FTP-Bereich hier hat sich das "Perl"-Verzeichnis noch nicht rein verirrt.

Gruß an alle
Stefan