Biblio-RFID

 view release on metacpan or  search on metacpan

lib/Biblio/RFID/SmartX.pm  view on Meta::CPAN

	return join('', map { sprintf("%02x",ord($_)) } split (//, $data));
}

sub to_hash {
	my ( $self, $data ) = @_;

	return unless $data;

	die "expecting array of sectors" unless ref $data eq 'ARRAY';

	my $decoded;
	foreach ( 4 .. 6 ) {
		warn "# $_: ",
		$decoded->[$_] = bcd( $data->[$_] );
	}

	my $hash;
	$hash->{SXID}    = substr( $decoded->[4], 0,  20 );
	$hash->{JMBAG}   = substr( $decoded->[4], 22, 10 );
	$hash->{OIB}     = substr( $decoded->[5], 16, 11 );
	$hash->{SPOL}    = substr( $data->[5], 14, 1 ); # char, not BCD!
	$hash->{INST_ID} = substr( $decoded->[6], 0, 12 );
	$hash->{CARD_V}  = substr( $decoded->[6], 12, 4  );

	warn "## hash = ",dump($hash);

	return $hash;

}

1;

scripts/RFID-JSONP-server.pl  view on Meta::CPAN

	my $ua = LWP::UserAgent->new;
	my $url = URI->new( $koha_url . '/cgi-bin/koha/ffzg/rfid/borrower.pl');
	$url->query_form(
		  RFID_SID => $hash->{sid}
		, OIB => $hash->{OIB}
		, JMBAG => $hash->{JMBAG}
	);
	warn "GET ",$url->as_string;
	my $response = $ua->get($url);
	if ( $response->is_success ) {
		my $json = decode_json $response->decoded_content;
		$rfid_sid_cache->{ $hash->{sid} } = $json;
		return $json;
	} else {
		warn "ERROR ", $response->status_line;
	}
}


sub sip2_socket {

scripts/RFID-JSONP-server.pl  view on Meta::CPAN

	my $url = URI->new( $rfid_url . '/register.pl');
	$url->query_form( %$ip,
		HTTP_LISTEN => $listen,
		RFID_LISTEN => $ENV{RFID_LISTEN},
		KOHA_URL => $koha_url,
		RFID_URL => $rfid_url,
	);
	warn "GET ",$url->as_string;
	my $response = $ua->get($url);
	if ( $response->is_success ) {
		warn "# ", $response->decoded_content;
		my $json = decode_json $response->decoded_content;
		warn "REGISTER: ",dump($json);
		return $json;
	} else {
		warn "ERROR ", $response->status_line;
	}
}

rfid_register if $rfid_url;
http_server;



( run in 0.237 second using v1.01-cache-2.11-cpan-26ccb49234f )