1 package RFID::Biblio::Reader::Serial;
6 use Device::SerialPort qw(:STAT);
7 use Data::Dump qw(dump);
11 RFID::Biblio::Reader::Serial - base class for serial RFID readers
17 Open serial port (if needed) and init reader
26 $self->port && $self->init && return $self;
32 Tries to open usb serial ports C</dev/ttyUSB*>
34 my $serial_obj = $self->port;
36 To try just one device use C<RFID_DEVICE=/dev/ttyUSB1> enviroment variable
45 return $self->{port} if defined $self->{port};
47 my $settings = $self->serial_settings;
48 my @devices = $ENV{RFID_DEVICE} ? ( $ENV{RFID_DEVICE} ) : glob '/dev/ttyUSB*';
49 warn "# port devices ",dump(@devices);
51 foreach my $device ( @devices ) {
53 next if $serial_device->{$device};
55 if ( my $port = Device::SerialPort->new($device) ) {
56 foreach my $opt ( qw/handshake baudrate databits parity stopbits/ ) {
57 $port->$opt( $settings->{$opt} );
59 warn "found ", ref($self), " $device settings ",dump $settings;
60 $self->{port} = $port;
61 $serial_device->{$device} = $port;
66 warn "# serial_device ",dump($serial_device);
76 L<RFID::Biblio::Reader::3M810>
78 L<RFID::Biblio::Reader::CPRM01>
80 L<RFID::Biblio::Reader::API>