NAME Ham::APRS::LastPacket - A simple interface to retrieve the most recent packet data for a station from APRS-IS. VERSION Version 0.03 INSTALLATION To install this module, run the following commands: perl Makefile.PL make make test make install SYNOPSIS use Ham::APRS::LastPacket; my $aprs = Ham::APRS::LastPacket->new; $aprs->set_callsign('n8qq'); my $packet = $aprs->get_data; die $aprs->error_message if $aprs->is_error; # show the entire structure of data use Data::Dumper; print Dumper($packet); # get a single item print $aprs->get_callsign; print " is at $packet->{position}->{longitude}->{degrees} degrees longitude.\n"; DESCRIPTION The "Ham::APRS::LastPacket" module retrieves the latest packet from APRS-IS for a given station's callsign by referencing the aprsworld-to-XML interface. You provide the callsign for a station that exists in APRSWorld, and you will get back a hashref of hashrefs containing all data available for that station's latest packet. Use "Data::Dumper" to inspect the data to see all items that are available (as shown in the synopsis). The data set returned can differ based on what type of station is being referenced. For instance, a weather station will contain weather data that another type of station won't. CONSTRUCTOR new() Usage : my $aprs = Ham::APRS::LastPacket->new; Function : creates a new Ham::APRS::LastPacket object Returns : a Ham::APRS::LastPacket object Args : a hash: key required? value ------- --------- ----- timeout no an integer of seconds to wait for the timeout of the web site default = 10 suppress_empty no set the handling for empty elements suppress_empty => 1 will exclude empty elements suppress_empty => '' will set them to an empty hash suppress_empty => undef will set the hashes to undef default is empty string METHODS set_callsign() Usage : $aprs->set_callsign( $callsign ); Function : set the callsign of the station whose data will be retrieved with get_data() Returns : n/a Args : a case-insensitive string containing the callsign of the station in APRS-IS. you can use CWOP callsigns and callsigns with SSIDs. get_callsign() Usage : $callsign = $aprs->get_callsign; Function : get the callsign that was set with the most recent call to set_callsign(). Returns : a string. (the callsign will have been converted to upper case) Args : n/a get_data() Usage : $data = $aprs->get_data; Function : get a hashref of hashrefs of the data contained in APRS-IS for the station set in set_callsign() Returns : a hashref of hashrefs Args : n/a is_error() Usage : if ( $aprs->is_error ) Function : test for an error if one was returned from the call to the aprsworld-to-XML site Returns : a true value if there has been an error Args : n/a error_message() Usage : my $err_msg = $aprs->error_message; Function : if there was an error message when trying to call the site, this is it Returns : a string (the error message) Args : n/a DEPENDENCIES * XML::Simple * LWP::UserAgent * An Internet connection TODO * Maybe provide a list of data items and the hashref hierarchy. * Improve the module description. * Improve error checking. ACKNOWLEDGEMENTS * This module gets its data from the aprsworld-to-XML interface, by Brad McConahay N8QQ (me). See http://aprsearch.net/xml * The aprsworld-to-XML interface gets its data from APRSWorld, by Jim Jarvis KB0THN. See http://aprsworld.net * APRS-IS is the Internet-based network which inter-connects various APRS radio networks throughout the world (and space). See http://aprs-is.net * APRS was created by, and is a trademark of, Bob Bruninga WB4APR. See http://aprs.org AUTHOR Brad McConahay N8QQ, "" COPYRIGHT AND LICENSE "Ham::APRS::LastPacket" is Copyright (C) 2008-2010 Brad McConahay N8QQ. This module is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license in the file LICENSE. This program is distributed in the hope that it will be useful, but it is provided "as is" and without any express or implied warranties. For details, see the full text of the license in the file LICENSE.