X-Git-Url: http://git.rot13.org/?p=Biblio-RFID.git;a=blobdiff_plain;f=lib%2FRFID%2FBiblio.pm;h=78341da4f20732201eec8b752479b8f603c2470d;hp=1139a0cd91290b3454cac75805f54a507f1c64f3;hb=e51ef3bb234e92cf5c67b503438e622528123ad4;hpb=0dd4f35728c1e33825d5bb2f86104a483168c24d diff --git a/lib/RFID/Biblio.pm b/lib/RFID/Biblio.pm index 1139a0c..78341da 100644 --- a/lib/RFID/Biblio.pm +++ b/lib/RFID/Biblio.pm @@ -10,7 +10,7 @@ use Data::Dump qw(dump); =head1 NAME -RFID::Biblio - easy to use API for writing RFID enabled appliaction +RFID::Biblio - perl tools to use different RFID readers for library use =cut @@ -19,51 +19,47 @@ our $VERSION = '0.02'; my $debug = 0; -=head1 SYNOPSIS +=head1 DESCRIPTION -This module tries to support USB serial RFID readers wsing simple API -which is sutable for direct mapping to REST JSONP service. +Main idea is to develop simple API to reader, and than provide useful +abstractions on top of it to quickly write applications to respond on +tags which come in range of RFID reader using L. -For implementing application take a look at L - -=head1 READER IMPLEMENTATION - -Each reader must implement following hooks as sub-classes. - -=head2 init - - $self->init; - -=head2 inventory - - my @tags = $self->invetory; - -=head2 read_blocks +Writing support for new RFID readers should be easy. +L provides documentation on writing support +for different readers. - my $hash = $self->read_blocks( $tag ); +Currently, two serial RFID readers based on L +are implemented: -All blocks are under key which is tag UID with array of blocks returned from reader +=over 4 - $hash = { 'E000000123456789' => [ 'blk1', 'blk2', ... ] }; +=item * -L sends tag UID with data payload, so we might expect -to receive response from other tags from protocol specification, +L -=head2 write_blocks +=item * - $self->write_blocks( $tag => $bytes ); +L - $self->write_blocks( $tag => [ 'blk1', 'blk2', ... ] ); +=back -=head2 read_afi +There is also simple read-only reader using shell commands in +L. - my $afi = $self->read_afi( $tag ); +For implementing application take a look at L -=head2 write_afi +C is example of such application. It's local +interface to RFID reader and JSONP REST server. - $self->write_afi( $tag => $afi ); +C is jQuery based JavaScript code which can be inserted +in Koha Library System to provide overlay with tags in range and +check-in/check-out form-fill functionality. +Applications can use L which is some kind of +semi-standard 3M layout or blocks on RFID tags. +=for readme stop =head1 EXPORT @@ -112,10 +108,9 @@ sub as_hex { sub hex_tag { uc(unpack('H16', shift)) } +=for readme continue -=head1 SUPPORTED READERS - -Support for different RFID readers is implemented in subclasses: +=head1 HARDWARE SUPPORT =head2 3M 810 @@ -129,13 +124,16 @@ L L + =head1 AUTHOR Dobrica Pavlinusic, C<< >> +L + =head1 BUGS -Please report any bugs or feature requests to C, or through +Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. @@ -147,6 +145,8 @@ automatically be notified of progress on your bug as I make changes. You can find documentation for this module with the perldoc command. perldoc RFID::Biblio + perldoc RFID::Biblio::Reader + perldoc RFID::Biblio::Reader::API You can also look for information at: