call /scan without hostname
[Biblio-RFID.git] / scripts / scan.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Data::Dump qw(dump);
7 use Getopt::Long;
8
9 my $loop = 0;
10 my $only;
11
12 GetOptions(
13         'loop!'   => \$loop,
14         'only=s', => \$only,
15 ) || die $!;
16
17 my @readers = ( '3M810', 'CPRM02' );
18 my @rfid;
19
20 foreach my $reader ( @readers ) {
21         next if $only && $only ne $reader;
22         my $module = "RFID::Serial::$reader";
23         eval "use $module";
24         die $@ if $@;
25         if ( my $rfid = $module->new( device => '/dev/ttyUSB0' ) ) {
26                 push @rfid, $rfid;
27                 warn "# added $module\n";
28         } else {
29                 warn "# ignored $module\n";
30         }
31 }
32
33 use lib 'lib';
34
35 do {
36         foreach my $rfid ( @rfid ) {
37                 my $visible = $rfid->scan;
38                 foreach my $tag ( keys %$visible ) {
39                 warn "XXX $tag";
40                         print ref($rfid),"\t$tag\t", join('', @{ $visible->{$tag} }), $/;
41                 }
42         }
43
44 } while $loop;