rename module to Biblio::RFID
[Biblio-RFID.git] / scripts / program.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Data::Dump qw(dump);
7 use Getopt::Long;
8 use lib 'lib';
9 use Biblio::RFID::Reader;
10 use Biblio::RFID::RFID501;
11
12 my $reader;
13 my $afi;
14
15 GetOptions(
16         'reader=s', => \$reader,
17         'afi=i',    => \$afi,
18 ) || die $!;
19
20 my ( $sid, $content ) =  @ARGV;
21 die "usage: $0 [--reader regex_filter] [--afi 214] E0_RFID_SID [barcode]\n" unless $sid && ( $content | $afi );
22
23 my @rfid = Biblio::RFID::Reader->available( $reader );
24
25 foreach my $rfid ( @rfid ) {
26         my $visible = $rfid->scan;
27         foreach my $tag ( keys %$visible ) {
28                 next unless $tag eq $sid;
29                 warn "PROGRAM $tag with $content\n";
30                 $rfid->write_blocks( $tag => Biblio::RFID::RFID501->from_hash({ content => $content }) );
31                 $rfid->write_afi(    $tag => chr($afi) ) if $afi;
32         }
33 }
34