Net::GPSD33pm
Interface to the gpsd server daemon protocol versions 3 (json).
Usage
Watch Interface
use Net::GPSD3;my $gpsd=Net::GPSD3->new;$gpsd->watch;
One Liner
perl -MNet::GPSD3 -e 'Net::GPSD3->new->watch'
Poll Interface
use Net::GPSD3;use Data::Dumper qw{Dumper};my $gpsd=Net::GPSD3->new;my $poll=$gpsd->poll;print Dumper($poll);
One Liner
perl -MNet::GPSD3 -e 'printf "Protocol: %s\n", Net::GPSD3->new->poll->parent->cache->VERSION->protocol;'Protocol: 3.4
POE Interface
See Net::GPSD3::POE
Overview
Net::GPSD3 provides an object client interface to the gpsd server daemon utilizing the version 3 protocol. gpsd is an open source GPS daemon from http://www.catb.org/gpsd/ Support for Version 3 of the protocol (JSON) was added to the daemon in version 2.90. If your daemon is before 2.90 (protocol 2.X), please use the Net::GPSD package.
Constructor
new
Returns a new Net::GPSD3 object.
my $gpsd=Net::GPSD3->new;my $gpsd=Net::GPSD3->new(host=>"127.0.0.1", port=>2947); #defaults
Methods
host
Sets or returns the current gpsd host.
my $host=$obj->host;
port
Sets or returns the current gpsd TCP port.
my $port=$obj->port;
poll
Sends a Poll request to the gpsd server and returns a Net::GPSD3::Return::POLL object. The method also populates the cache object with the Net::GPSD3::Return::VERISON and Net::GPSD3::Return::DEVICES objects.
my $poll=$gpsd->poll; #isa Net::GPSD3::Return::POLL object
Note: In order to use the poll method consistently you should run the GPSD daemon as a service. You may also need to run the daemon with the "-n" option.
watch
Calls all handlers that are registered in the handler method.
$gpsd->watch; #will not return unless something goes wrong.
addHandler
Adds handlers to the handler list.
$gpsd->addHandler(\&myHandler);$gpsd->addHandler(\&myHandler1, \&myHandler2);
A handler is a sub reference where the first argument is a Net::GPSD3::Return::* object.
handlers
List of handlers that are called in order to process objects from the gpsd wathcer stream.
my @handler=$gpsd->handlers; #()my $handler=$gpsd->handlers; #[]
cache
Returns the Net::GPSD3::Cache caching object.
METHODS Internal
default_handler
socket
Returns the cached IO::Socket::INET6 object
my $socket=$gpsd->socket; #try to reconnect on failure
json
Returns the cached JSON::XS object
decode
Returns a perl data structure given a JSON formated string.
my %data=$gpsd->decode($string); #()my $data=$gpsd->decode($string); #{}
encode
Returns a JSON string from a perl data structure
constructor
Constructs a class object by lazy loading the classes.
my $obj=$gpsd->constructor(%$data);my $obj=$gpsd->constructor(class=>"DEVICE",string=>'{...}',...);
Returns and object in the Net::GPSD3::Return::* namespace.
Support
DavisNetworks.com supports all Perl applications including this package.
Try gpsd-dev email list
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 4 times.