Provided by: libnet-gpsd3-perl_0.19-1_all
NAME
Net::GPSD3 - Interface to the gpsd server daemon protocol versions 3 (JSON).
SYNOPSIS
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
DESCRIPTION
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.
BUGS
Log on RT and Send to gpsd-dev email list There are no two GPS devices that are alike. Each GPS device has a different GPSD signature as well. If your GPS device does not work out of the box with this package, please send me a log of your devices JSON sentences. echo '?POLL;' | nc 127.0.0.1 2947 echo '?WATCH={"enable":true,"json":true};' | socat -t10 stdin stdout | nc 127.0.0.1 2947
SUPPORT
DavisNetworks.com supports all Perl applications including this package. Try gpsd-dev email list
AUTHOR
Michael R. Davis CPAN ID: MRDVT STOP, LLC domain=>michaelrdavis,tld=>com,account=>perl http://www.stopllc.com/
COPYRIGHT
This program is free software licensed under the... The BSD License The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
Net::GPSD, Net::GPSD3::POE, GPS::Point, JSON::XS, IO::Socket::INET6, DateTime