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' );
-
-use lib 'lib';
+my @rfid = RFID::Biblio::Readers->available( $reader );
do {
- foreach my $reader ( '3M810', 'CPRM02' ) {
- next if $only && $only ne $reader;
- my $module = "RFID::Serial::$reader";
- eval "use $module";
- die $@ if $@;
- my $rfid = $module->new( device => '/dev/ttyUSB0' );
+ foreach my $rfid ( @rfid ) {
my $visible = $rfid->scan;
foreach my $tag ( keys %$visible ) {
- warn "XXX $tag";
- print "$reader\t$tag\t", join('', @{ $visible->{$tag} }), $/;
+ my $afi = $rfid->read_afi( $tag );
+ print ref($rfid)
+ , " $tag AFI: "
+ , uc unpack('H2', $afi)
+ , " "
+ , dump( RFID::Biblio::RFID501->to_hash( join('', @{ $visible->{$tag} }) ) )
+ , $/
+ ;
}
}