From a1f72617c09d002fa7e7a45b06c9bb5d05640e0d Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Tue, 27 Jul 2010 21:33:12 +0200 Subject: [PATCH] decode RFID 501 --- scripts/RFID-JSONP-server.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/RFID-JSONP-server.pl b/scripts/RFID-JSONP-server.pl index dbb51a8..0b4bd3d 100755 --- a/scripts/RFID-JSONP-server.pl +++ b/scripts/RFID-JSONP-server.pl @@ -15,7 +15,7 @@ use warnings; use Data::Dump qw/dump/; -use JSON; +use JSON::XS; use IO::Socket::INET; my $debug = 1; @@ -25,6 +25,7 @@ my $server_url = "http://localhost:$listen_port"; use lib 'lib'; +use RFID::Serial::Decode::RFID501; use RFID::Serial::3M810; my $rfid = RFID::Serial::3M810->new; @@ -70,12 +71,15 @@ sub http_server { print $client "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n$index_html"; } elsif ( $method =~ m{/scan} ) { my $tags = $rfid->scan; - my $json = { - time => time(), - tags => $tags, + my $json = { time => time() }; + foreach my $tag ( keys %$tags ) { + my $hash = RFID::Serial::Decode::RFID501->to_hash( $tags->{$tag} ); + $hash->{sid} = $tag; + push @{ $json->{tags} }, $hash; }; + warn "#### ", encode_json($json); print $client "HTTP/1.0 200 OK\r\nContent-Type: application/json\r\n\r\n", - $param->{callback}, "(", to_json($json), ")\r\n"; + $param->{callback}, "(", encode_json($json), ")\r\n"; } elsif ( $method =~ m{/program} ) { my $status = 501; # Not implementd -- 2.20.1