X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=scripts%2Fscan.pl;h=9a920c185f34b4476a6d9a02eb98a77228f5b5bb;hb=8722c748f1fe0386819b8bda89dbefcea6e332ab;hp=605b82e76c76ab10cfa797bb9d6f315a38c6b638;hpb=485c76be8389ede166cf9fef4e96841e95baf490;p=Biblio-RFID.git diff --git a/scripts/scan.pl b/scripts/scan.pl index 605b82e..9a920c1 100755 --- a/scripts/scan.pl +++ b/scripts/scan.pl @@ -5,39 +5,26 @@ use strict; use Data::Dump qw(dump); use Getopt::Long; +use lib 'lib'; +use RFID::Biblio::Readers; +use RFID::Biblio::RFID501; my $loop = 0; -my $only; +my $reader; GetOptions( - 'loop!' => \$loop, - 'only=s', => \$only, + 'loop!' => \$loop, + 'reader=s', => \$reader, ) || die $!; -my @readers = ( '3M810', 'CPRM02' ); -my @rfid; - -foreach my $reader ( @readers ) { - next if $reader !~ /$only/i && $only ne $reader; - my $module = "RFID::Biblio::$reader"; - eval "use $module"; - die $@ if $@; - if ( my $rfid = $module->new( device => '/dev/ttyUSB0' ) ) { - push @rfid, $rfid; - warn "# added $module\n"; - } else { - warn "# ignored $module\n"; - } -} - -use lib 'lib'; +my @rfid = RFID::Biblio::Readers->available( $reader ); do { foreach my $rfid ( @rfid ) { my $visible = $rfid->scan; foreach my $tag ( keys %$visible ) { warn "XXX $tag"; - print ref($rfid),"\t$tag\t", join('', @{ $visible->{$tag} }), $/; + print ref($rfid),"\t$tag\t", dump( RFID::Biblio::RFID501->to_hash( join('', @{ $visible->{$tag} }) ) ), $/; } }