program tags from command line
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 29 Jul 2010 13:11:13 +0000 (15:11 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 29 Jul 2010 13:12:05 +0000 (15:12 +0200)
lib/RFID/Biblio/RFID501.pm
scripts/program.pl [new file with mode: 0755]

index dc30fe8..760fe24 100644 (file)
@@ -118,7 +118,10 @@ sub to_hash {
 }
 
 sub from_hash {
-       my ( $self, $hash ) = @_;
+       my $self = shift;
+       my $hash = {@_};
+
+       warn "## from_hash ",dump($hash);
 
        return pack('C4Z16Nl>l',
                0x04,
diff --git a/scripts/program.pl b/scripts/program.pl
new file mode 100755 (executable)
index 0000000..4f9eaff
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+use Data::Dump qw(dump);
+use Getopt::Long;
+use lib 'lib';
+use RFID::Biblio::Readers;
+use RFID::Biblio::RFID501;
+
+my $only;
+
+GetOptions(
+       'only=s', => \$only,
+) || die $!;
+
+my ( $sid, $content ) =  @ARGV;
+die "usage: $0 E0_RFID_SID content\n" unless $sid && $content;
+
+my @rfid = RFID::Biblio::Readers->available( $only );
+
+foreach my $rfid ( @rfid ) {
+       my $visible = $rfid->scan;
+       foreach my $tag ( keys %$visible ) {
+               next unless $tag eq $sid;
+               warn "PROGRAM $tag with $content\n";
+               $rfid->write_blocks( $tag, RFID::Biblio::RFID501->from_hash( content => $content ) );
+       }
+}
+