The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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('SP');

  or

  use GPS::gpsd;
  $gps->register(sub=>\&gpsd_handler,
                 send=>'SP');
  sub gpsd_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('SP') 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('SDPTVAEL'); 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=>\&gpsd_handler, send=>'SDPTVAE');

sub gpsd_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 133:

You forgot a '=back' before '=head1'