Linux HAM/Amateur Radio development
 help / color / mirror / Atom feed
* Announcing Perl module for parsing APRS packets
@ 2005-08-05 21:26 Jeff Laughlin
  2005-08-09 21:16 ` charlesb
  2005-08-10 15:56 ` Curt, WE7U
  0 siblings, 2 replies; 14+ messages in thread
From: Jeff Laughlin @ 2005-08-05 21:26 UTC (permalink / raw)
  To: Linux-Hams

Hello,

I've written a Perl module, Ham::APRS::Parser, for parsing APRS
packets, and I've released it under the GPL. You can find it here:
http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/

It takes the packet string, parses it, and returns a hash with the
data in a consistent and easy to process format. Currently it reliably
returns position, from and to calls, digi-path, symbols, and Mic-E
status reports from normal position reports, compressed position
reports, and Mic-E position reports. More work is needed to fully
implement the APRS protocol.

Once the data is in a friendlier format in the hash structure, it can
be used to generate Google Earth KML, or combined with the Google Maps
API to create a FOSS findu.com replacement.

OK this is actually from my IARU 2005 contest log but these could just
as easily be APRS stations :)
http://www.n1ywb.com/pics/iaru05.jpg

Also I would like to start working on a complementary module to
construct APRS packets from the hash structure returned by the parser
module. Applications could include a highly intelligent digipeater.

Comments and suggestions are appreciated.

73 de n1ywb

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-05 21:26 Announcing Perl module for parsing APRS packets Jeff Laughlin
@ 2005-08-09 21:16 ` charlesb
  2005-08-10  1:30   ` Nate Bargmann
  2005-08-10 15:56 ` Curt, WE7U
  1 sibling, 1 reply; 14+ messages in thread
From: charlesb @ 2005-08-09 21:16 UTC (permalink / raw)
  To: linux-hams

wow... cool....

i was considering writing one myself, but well done... i'm going to have a
propper play when i get back home from a tournament i'm in...

keep up the good work

regards & 73
Charles - 2E0GOM

Kirklees RAYNET - http://www.kirkleesraynet.org.uk

> Hello,
>
> I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> packets, and I've released it under the GPL. You can find it here:
> http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
>
> It takes the packet string, parses it, and returns a hash with the
> data in a consistent and easy to process format. Currently it reliably
> returns position, from and to calls, digi-path, symbols, and Mic-E
> status reports from normal position reports, compressed position
> reports, and Mic-E position reports. More work is needed to fully
> implement the APRS protocol.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-09 21:16 ` charlesb
@ 2005-08-10  1:30   ` Nate Bargmann
  2005-08-10 11:55     ` charlesb
  0 siblings, 1 reply; 14+ messages in thread
From: Nate Bargmann @ 2005-08-10  1:30 UTC (permalink / raw)
  To: linux-hams

> > Hello,
> >
> > I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> > packets, and I've released it under the GPL. You can find it here:
> > http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
> >
> > It takes the packet string, parses it, and returns a hash with the
> > data in a consistent and easy to process format. Currently it reliably
> > returns position, from and to calls, digi-path, symbols, and Mic-E
> > status reports from normal position reports, compressed position
> > reports, and Mic-E position reports. More work is needed to fully
> > implement the APRS protocol.

Perhaps it can be included in CPAN?

73, de Nate >>

-- 
 Wireless | Amateur Radio Station N0NB          |  Successfully Microsoft
  Amateur radio exams; ham radio; Linux info @  | free since January 1998.
             http://www.qsl.net/n0nb/           |  "Debian, the choice of
             My Kawasaki KZ-650 SR @            |     a GNU generation!"
        http://www.networksplus.net/n0nb/       |   http://www.debian.org

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10  1:30   ` Nate Bargmann
@ 2005-08-10 11:55     ` charlesb
  0 siblings, 0 replies; 14+ messages in thread
From: charlesb @ 2005-08-10 11:55 UTC (permalink / raw)
  To: linux-hams

<CUT>
> Perhaps it can be included in CPAN?

never even thought of that one lol

regards/73
Charles - 2E0GOM


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-05 21:26 Announcing Perl module for parsing APRS packets Jeff Laughlin
  2005-08-09 21:16 ` charlesb
@ 2005-08-10 15:56 ` Curt, WE7U
  2005-08-10 16:14   ` Chuck Hast
  2005-08-10 16:21   ` Jeff Laughlin
  1 sibling, 2 replies; 14+ messages in thread
From: Curt, WE7U @ 2005-08-10 15:56 UTC (permalink / raw)
  To: Jeff Laughlin; +Cc: Linux-Hams

On Fri, 5 Aug 2005, Jeff Laughlin wrote:

> I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> packets, and I've released it under the GPL. You can find it here:
> http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
>
> It takes the packet string, parses it, and returns a hash with the
> data in a consistent and easy to process format. Currently it reliably
> returns position, from and to calls, digi-path, symbols, and Mic-E
> status reports from normal position reports, compressed position
> reports, and Mic-E position reports. More work is needed to fully
> implement the APRS protocol.

Have you considered tracking down the Perl code that Ian (the APRS
spec editor) created which decodes packets?  That was quite
complete and fully decoded everything similar to the "listen"
command.

--
Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 15:56 ` Curt, WE7U
@ 2005-08-10 16:14   ` Chuck Hast
  2005-08-10 16:33     ` Curt, WE7U
                       ` (2 more replies)
  2005-08-10 16:21   ` Jeff Laughlin
  1 sibling, 3 replies; 14+ messages in thread
From: Chuck Hast @ 2005-08-10 16:14 UTC (permalink / raw)
  To: Curt Mills, WE7U; +Cc: Jeff Laughlin, Linux-Hams

On 8/10/05, Curt, WE7U <archer@eskimo.com> wrote:
> On Fri, 5 Aug 2005, Jeff Laughlin wrote:
> 
> > I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> > packets, and I've released it under the GPL. You can find it here:
> > http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
> >
> > It takes the packet string, parses it, and returns a hash with the
> > data in a consistent and easy to process format. Currently it reliably
> > returns position, from and to calls, digi-path, symbols, and Mic-E
> > status reports from normal position reports, compressed position
> > reports, and Mic-E position reports. More work is needed to fully
> > implement the APRS protocol.
> 
> Have you considered tracking down the Perl code that Ian (the APRS
> spec editor) created which decodes packets?  That was quite
> complete and fully decoded everything similar to the "listen"
> command.

Could this be used to dump APRS data into a db like MySQL? I am interested
in doing something like that, but have to learn about db. I work with them up
to a certain point, time to learn the rest and getting APRS data into a db would
be a neat exersize.


-- 
Chuck Hast 
To paraphrase my flight instructor;
"the only dumb question is the one you DID NOT ask resulting in my going
out and having to identify your bits and pieces in the midst of torn
and twisted metal."

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 15:56 ` Curt, WE7U
  2005-08-10 16:14   ` Chuck Hast
@ 2005-08-10 16:21   ` Jeff Laughlin
  2005-08-10 16:36     ` Curt, WE7U
  1 sibling, 1 reply; 14+ messages in thread
From: Jeff Laughlin @ 2005-08-10 16:21 UTC (permalink / raw)
  To: Curt Mills, WE7U; +Cc: Linux-Hams

Hi Curt,

Thanks for the suggestion. I wasn't aware that it existed.

After thwarting a few broken links I did manage to find a copy. It
targets perl 4, it's not a module, and it outputs formatted text
instead of a data structure, so it doesn't exactly acheive the same
goals that I have. However it is GPL'ed which is good, so I may be
able to re-use some of it's parsing code without tainting my code. I
still have quite a bit left to implement to have a complete
implementation. And it will certainly be nice to have another GPL code
base to reference other than XASTIR.

On 8/10/05, Curt, WE7U <archer@eskimo.com> wrote:
> On Fri, 5 Aug 2005, Jeff Laughlin wrote:
> 
> > I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> > packets, and I've released it under the GPL. You can find it here:
> > http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
> >
> > It takes the packet string, parses it, and returns a hash with the
> > data in a consistent and easy to process format. Currently it reliably
> > returns position, from and to calls, digi-path, symbols, and Mic-E
> > status reports from normal position reports, compressed position
> > reports, and Mic-E position reports. More work is needed to fully
> > implement the APRS protocol.
> 
> Have you considered tracking down the Perl code that Ian (the APRS
> spec editor) created which decodes packets?  That was quite
> complete and fully decoded everything similar to the "listen"
> command.
> 
> --
> Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
> "Lotto:    A tax on people who are bad at math." -- unknown
> "Windows:  Microsoft's tax on computer illiterates." -- WE7U
> "The world DOES revolve around me:  I picked the coordinate system!"
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:14   ` Chuck Hast
@ 2005-08-10 16:33     ` Curt, WE7U
  2005-08-10 16:33     ` Jeff Laughlin
  2005-08-11  5:34     ` Wilbert Knol
  2 siblings, 0 replies; 14+ messages in thread
From: Curt, WE7U @ 2005-08-10 16:33 UTC (permalink / raw)
  To: Chuck Hast; +Cc: Jeff Laughlin, Linux-Hams

On Wed, 10 Aug 2005, Chuck Hast wrote:

> > Have you considered tracking down the Perl code that Ian (the APRS
> > spec editor) created which decodes packets?  That was quite
> > complete and fully decoded everything similar to the "listen"
> > command.
>
> Could this be used to dump APRS data into a db like MySQL?

Perl?  Or Ian's program?

Yes to the first.  Combine Either Ian's or this new program with a
bit of Perl database code and you can inject this into a database.
I've done a bunch of sybperl and Perl5 talking to Sybase and it
works quite well.


> I am interested
> in doing something like that, but have to learn about db. I work with them up
> to a certain point, time to learn the rest and getting APRS data into a db would
> be a neat exersize.

Yep!

MySQL has some spatial extensions which would be useful (so you can
query on lat/long).  PostgreSQL with the PostGIS extensions also
gives you this.  I've been hoping to play with these at some point
myself.

--
Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:14   ` Chuck Hast
  2005-08-10 16:33     ` Curt, WE7U
@ 2005-08-10 16:33     ` Jeff Laughlin
  2005-08-10 16:38       ` Curt, WE7U
  2005-08-11  5:34     ` Wilbert Knol
  2 siblings, 1 reply; 14+ messages in thread
From: Jeff Laughlin @ 2005-08-10 16:33 UTC (permalink / raw)
  To: Chuck Hast; +Cc: Linux-Hams

On 8/10/05, Chuck Hast <wchast@gmail.com> wrote:
> On 8/10/05, Curt, WE7U <archer@eskimo.com> wrote:
> > On Fri, 5 Aug 2005, Jeff Laughlin wrote:
> >
> > > I've written a Perl module, Ham::APRS::Parser, for parsing APRS
> > > packets, and I've released it under the GPL. You can find it here:
> > > http://aprs.n1ywb.com/Ham-APRS-Parser-0.01/
> > >
> > > It takes the packet string, parses it, and returns a hash with the
> > > data in a consistent and easy to process format. Currently it reliably
> > > returns position, from and to calls, digi-path, symbols, and Mic-E
> > > status reports from normal position reports, compressed position
> > > reports, and Mic-E position reports. More work is needed to fully
> > > implement the APRS protocol.
> >
> > Have you considered tracking down the Perl code that Ian (the APRS
> > spec editor) created which decodes packets?  That was quite
> > complete and fully decoded everything similar to the "listen"
> > command.
> 
> Could this be used to dump APRS data into a db like MySQL? I am interested
> in doing something like that, but have to learn about db. I work with them up
> to a certain point, time to learn the rest and getting APRS data into a db would
> be a neat exersize.

Yes that is certainly a possibility... In fact I am working on that
right now! My next code release will be a complete FOSS findu.com
replacement, with a postgresql backend.

http://www.trackulator.com/

Expect to see it sometime in the next few weeks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:21   ` Jeff Laughlin
@ 2005-08-10 16:36     ` Curt, WE7U
  0 siblings, 0 replies; 14+ messages in thread
From: Curt, WE7U @ 2005-08-10 16:36 UTC (permalink / raw)
  To: Jeff Laughlin; +Cc: Linux-Hams

On Wed, 10 Aug 2005, Jeff Laughlin wrote:

> Thanks for the suggestion. I wasn't aware that it existed.

I had an _extremely_ minor part in it I think:  I remember pointing
Ian towards Perl with a bit of example code to snag/parse packets
and he went crazy with it from that point!


> After thwarting a few broken links I did manage to find a copy. It
> targets perl 4, it's not a module, and it outputs formatted text
> instead of a data structure, so it doesn't exactly acheive the same
> goals that I have. However it is GPL'ed which is good, so I may be
> able to re-use some of it's parsing code without tainting my code. I
> still have quite a bit left to implement to have a complete
> implementation. And it will certainly be nice to have another GPL code
> base to reference other than XASTIR.

That was the idea.  I didn't think it'd be directly usable, but
examples are always good.

Also look at the OpenTrac parsing code in Scott's "listen" patches
or in Xastir (Xastir code is directly derived from Scott's code).
Might as well do that too!  It's much easier to parse than APRS
anyway, something about being designed for parsing from the get-go I
suppose...

--
Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:33     ` Jeff Laughlin
@ 2005-08-10 16:38       ` Curt, WE7U
  2005-08-10 16:55         ` Chuck Hast
  2005-08-11 21:36         ` Bill Vodall
  0 siblings, 2 replies; 14+ messages in thread
From: Curt, WE7U @ 2005-08-10 16:38 UTC (permalink / raw)
  To: Jeff Laughlin; +Cc: Chuck Hast, Linux-Hams

On Wed, 10 Aug 2005, Jeff Laughlin wrote:

> Yes that is certainly a possibility... In fact I am working on that
> right now! My next code release will be a complete FOSS findu.com
> replacement, with a postgresql backend.
>
> http://www.trackulator.com/
>
> Expect to see it sometime in the next few weeks.

With PostGIS extensions I hope?

Hey, how about working in 'C' and doing the same thing for
Xastir-2????  That's the direction we're wanting to go.

--
Curt, WE7U.   APRS Client Comparisons: http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:38       ` Curt, WE7U
@ 2005-08-10 16:55         ` Chuck Hast
  2005-08-11 21:36         ` Bill Vodall
  1 sibling, 0 replies; 14+ messages in thread
From: Chuck Hast @ 2005-08-10 16:55 UTC (permalink / raw)
  To: Curt Mills, WE7U; +Cc: Jeff Laughlin, Linux-Hams

On 8/10/05, Curt, WE7U <archer@eskimo.com> wrote:
> On Wed, 10 Aug 2005, Jeff Laughlin wrote:
> 
> > Yes that is certainly a possibility... In fact I am working on that
> > right now! My next code release will be a complete FOSS findu.com
> > replacement, with a postgresql backend.
> >
> > http://www.trackulator.com/
> >
> > Expect to see it sometime in the next few weeks.
> 
> With PostGIS extensions I hope?
> 
> Hey, how about working in 'C' and doing the same thing for
> Xastir-2????  That's the direction we're wanting to go.

Yes, that is where I want to go, I would like to be able to dump the APRS
data to a db, probably will try to set things up to where only certain calls
are dumped to the db because I want to gather this for disaster activities,
actually my mapper would be linked to the db and so all data goes into
the db and the mapping is done out of the db. That is the way we do RF
coverage study data where I work. We dump all of the data captures into
a db and then I link the mapper to the db and look at the selected data.


-- 
Chuck Hast 
To paraphrase my flight instructor;
"the only dumb question is the one you DID NOT ask resulting in my going
out and having to identify your bits and pieces in the midst of torn
and twisted metal."

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:14   ` Chuck Hast
  2005-08-10 16:33     ` Curt, WE7U
  2005-08-10 16:33     ` Jeff Laughlin
@ 2005-08-11  5:34     ` Wilbert Knol
  2 siblings, 0 replies; 14+ messages in thread
From: Wilbert Knol @ 2005-08-11  5:34 UTC (permalink / raw)
  To: linux-hams

On Thursday 11 August 2005 04:14, Chuck Hast wrote:

> Could this be used to dump APRS data into a db like MySQL? I am
> interested in doing something like that, but have to learn about
> db. I work with them up to a certain point, time to learn the rest
> and getting APRS data into a db would be a neat exersize.

Consider SQLite as a light-weight self-contained DB for this sort of 
thing. It leaves MySQL/Postgres in the dust, and never misses a beat. 
My Perl/Tk realtime logger uses it.

Have a look at the sources for example code (not necessarily state of 
the art ;-)

  http://zl2arn.ath.cx/zl2bsj/qle-0.0.3.tar.gz

HTH...

Wilbert, ZL2BSJ

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Announcing Perl module for parsing APRS packets
  2005-08-10 16:38       ` Curt, WE7U
  2005-08-10 16:55         ` Chuck Hast
@ 2005-08-11 21:36         ` Bill Vodall
  1 sibling, 0 replies; 14+ messages in thread
From: Bill Vodall @ 2005-08-11 21:36 UTC (permalink / raw)
  To: Linux-Hams

On Wed, 10 Aug 2005, Curt, WE7U wrote:

> Hey, how about working in 'C' and doing the same thing for
> Xastir-2????  That's the direction we're wanting to go.

I have a PERL APRS library that's about medium complete.  See 'libaxu'
on Sourceforge.  I've not put much more effort in to it since I believe
the real need these days is a "golden parser" for APRS in a standard
language like C/C++. Then it can be leveraged by all platforms - including
PERL.

73,
Bill - WA7NWP



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2005-08-11 21:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-05 21:26 Announcing Perl module for parsing APRS packets Jeff Laughlin
2005-08-09 21:16 ` charlesb
2005-08-10  1:30   ` Nate Bargmann
2005-08-10 11:55     ` charlesb
2005-08-10 15:56 ` Curt, WE7U
2005-08-10 16:14   ` Chuck Hast
2005-08-10 16:33     ` Curt, WE7U
2005-08-10 16:33     ` Jeff Laughlin
2005-08-10 16:38       ` Curt, WE7U
2005-08-10 16:55         ` Chuck Hast
2005-08-11 21:36         ` Bill Vodall
2005-08-11  5:34     ` Wilbert Knol
2005-08-10 16:21   ` Jeff Laughlin
2005-08-10 16:36     ` Curt, WE7U

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox