7 our @EXPORT = qw( hex2bytes as_hex hex_tag );
9 use Data::Dump qw(dump);
13 RFID::Biblio - perl tools to use different RFID readers for library use
17 our $VERSION = '0.02';
24 Main idea is to develop simple API to reader, and than provide useful
25 abstractions on top of it to quickly write applications to respond on
26 tags which come in range of RFID reader using L<RFID::Biblio::Reader>.
28 Writing support for new RFID readers should be easy.
29 L<RFID::Biblio::Reader::API> provides documentation on writing support
30 for different readers.
32 Currently, two serial RFID readers based on L<RFID::Biblio::Reader::Serial>
39 L<RFID::Biblio::Reader::3M810>
43 L<RFID::Biblio::Reader::CPRM02>
47 There is also simple read-only reader using shell commands in
48 L<RFID::Biblio::Reader::librfid>.
50 For implementing application take a look at L<RFID::Biblio::Reader>
52 C<scripts/RFID-JSONP-server.pl> is example of such application. It's local
53 interface to RFID reader and JSONP REST server.
55 C<examples/koha-rfid.js> is jQuery based JavaScript code which can be inserted
56 in Koha Library System to provide overlay with tags in range and
57 check-in/check-out form-fill functionality.
59 Applications can use L<RFID::Biblio::RFID501> which is some kind of
60 semi-standard 3M layout or blocks on RFID tags.
66 Formatting functions are exported
70 my $bytes = hex2bytes($hex);
75 my $str = shift || die "no str?";
82 warn "## str2bytes( $str ) => $b => ",as_hex($bytes) if $debug;
88 print as_hex( $bytes );
94 foreach my $str ( @_ ) {
95 my $hex = uc unpack( 'H*', $str );
96 $hex =~ s/(..)/$1 /g if length( $str ) > 2;
100 return join(' | ', @out);
105 print hex_tag $8bytes;
109 sub hex_tag { uc(unpack('H16', shift)) }
113 =head1 HARDWARE SUPPORT
117 L<RFID::Biblio::Reader::3M810>
121 L<RFID::Biblio::Reader::CPRM02>
125 L<RFID::Biblio::Reader::librfid>
130 Dobrica Pavlinusic, C<< <dpavlin at rot13.org> >>
132 L<http://blog.rot13.org/>
136 Please report any bugs or feature requests to C<bug-rfid-biblio at rt.cpan.org>, or through
137 the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RFID-Biblio>. I will be notified, and then you'll
138 automatically be notified of progress on your bug as I make changes.
145 You can find documentation for this module with the perldoc command.
148 perldoc RFID::Biblio::Reader
149 perldoc RFID::Biblio::Reader::API
152 You can also look for information at:
156 =item * RT: CPAN's request tracker
158 L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=RFID-Biblio>
160 =item * AnnoCPAN: Annotated CPAN documentation
162 L<http://annocpan.org/dist/RFID-Biblio>
166 L<http://cpanratings.perl.org/d/RFID-Biblio>
170 L<http://search.cpan.org/dist/RFID-Biblio/>
175 =head1 ACKNOWLEDGEMENTS
178 =head1 LICENSE AND COPYRIGHT
180 Copyright 2010 Dobrica Pavlinusic.
182 This program is free software; you can redistribute it and/or modify
183 it under the terms of the GNU General Public License as published by
184 the Free Software Foundation; version 2 dated June, 1991 or at your option
187 This program is distributed in the hope that it will be useful,
188 but WITHOUT ANY WARRANTY; without even the implied warranty of
189 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
190 GNU General Public License for more details.
192 A copy of the GNU General Public License is available in the source tree;
193 if not, write to the Free Software Foundation, Inc.,
194 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
199 1; # End of RFID::Biblio