NAME
GPS::gpsd is a module that provides a perl interface to the gpsd daemon. gpsd is an open source gps deamon from http://gpsd.berlios.de/.
SYNOPSIS
use GPS::gpsd;
$gps = new GPS::gpsd( host => 'localhost',
port => 2947
);
my $fix=$gps->get();
or
use GPS::gpsd;
$gps->register(sub=>\&gps_handler);
sub gps_handler {
my $data=shift();
print "Lat:". $data->{'P'}->[0]. " Lon:". $data->{'P'}->[1]. "\n";
}
DESCRIPTION
GPS::gpsd provides a very simple interface to gpsd daemon in perl scripts.
For example the method get() returns a hash reference like
{S=>[?|0|1|2],
P=>[lat,lon]}
Unfortunately you'll still need to know the single character protocol of the gpsd daemon.
GETTING STARTED
KNOWN LIMITATIONS
The subroutine registration could use some more work. I'd like to add a min time, max time, position tolerance and tracking tolerance capabilities.
BUGS
No known bugs.
EXAMPLES
#!/usr/bin/perl use strict; use lib './'; use GPS::gpsd;
my $gps=GPS::gpsd->new(host=>'192.168.33.130', port=>2947); my $data=$gps->get(); my %fix=('?'=>"Error", 0=>"No Fix", 1=>"Fix", 2=>"DGPS-Corrected Fix"); print "gpsd.pm Version:", $gps->VERSION, "\n"; print "gpsd Version:", $data->{'L'}->[1], "\n"; print "Fix:", $data->{'S'}->[0], "=", $fix{$data->{'S'}->[0]}, "\n"; print "Lat:", $data->{'P'}->[0], " Lon:", $data->{'P'}->[1], "\n"; print "Host:", $gps->host, " Port:", $gps->port, "\n";
$gps->register(sub=>\&gps_handler);
sub gps_handler { my $data=shift(); print join " ", "Fix", $data->{'S'}->[0], $data->{'P'}->[0], $data->{'P'}->[1], "\n"; }
AUTHOR
Michael R. Davis, qw/gpsd michaelrdavis com/
SEE ALSO
gpsd http tracker http://twiki.davisnetworks.com/bin/view/Main/GpsApplications
gpsd home http://gpsd.berlios.de/
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 182:
You forgot a '=back' before '=head1'