Quick start
For those who can't wait - the following two links: the first one with old traffic and the other one live traffic (if the perl server is on).
About The Perl and PHP version.
de SM6VYF/Arne.
For those who can't wait - the following two links: the first one with old traffic and the other one live traffic (if the perl server is on).
About The Perl and PHP version.
Some time ago when I happened to review an old example of LiveGraphics3D, I got the idea, that this could well be something to use with APRS. LiveGraphics3D is a Java-applet to, in HTML pages, display and rotate three dimensional graphics created by Mathematica, i.e. software for symbolic and numeric mathematics from Wolfram Research. LiveGraphics3D can also show animations, stero graphics, use hyperlinks and show bitmaps as backgrounds. The package doesn't seem to be very far away - for my use - from the examples at Sun'sJava pages.
The LiveGraphics3D example that got me the idea was one where a backgound image - a 360 degree panorama photo - is put as a rotatable background with a compass rose on top using graphics. My idea was that a panorama photo taken at the antenna on the rooftop would be perfect. Then it was obvious, that if I plotted APRS stations heard in their respective direction it would all be more interesting.
Now, to put all this together it takes a web server that can deliver the HTML pages etcetera for LiveGraphics3D. In the graphics I want to put links to APRS stations heard, meaning I need something to deliver this too. While devoting myself to generating graphics and links, I had to do with a database I have that works somewhat like the one at www.findu.com - i.e. a SQL database that is filled by a Perl script.
That I then came to implement it all using Common Lisp might not be to easy to explain, but that was the way chosen. It gets almost ecstatic when the Common Lisp is run inside the editor EMACS, which is in its turn programmable in Lisp, but even if one would also use EMACS as the web browser there will all the same be some Java left in LiveGraphics3D...
However, the first problem was to generate the matematica code for the compass rose. The original code was there, but I easily wanted to change its size and colors. Futhermore I wanted to add the APRS stations' links. This wasn't all that easy since I'm unfamiliar with the matematica code syntax, but in the end it worked (though I never change sizes or colors).
Now it was time to change focus towards the database. This solution had some flaws. For example, the database is nowadays not on the same computer as the one connected to the radio, which means that when I want to fill the database I have to run an APRS-server on the computer connected to the radio. Therfore it was close at hand to skip the detour over the database. Also, I had some difficulties to get the SQL question to give me the data I needed. So out with the editor and cut out the relevant parts from the server (see below) and paste these into the LiveGraphics3D program.
The first thing that got cut out was the KISS interface and then, since the server is configurated via a web interface, I cut these parts out too. After this a remade it to keep a list of the closest APRS stations and objects, instead of delivering data over the network. This list can then be read by the web server that also generates the LiveGraphics3D graphics. Some parts from a program that interprets APRS data was also added.
The view from the antenna with compass rose and station plots added. Click on the picture for a try!
Somewhat like this is how it looks. It's possible to "grab" the background to get it to rotate. This is accomplished either with a firm grip or it's possible to release it so it continues to rotate by itself at a leisurely pace. Unfortunately it's not possible to update the station links in real time.
The station links are linked to www.findu.com so with a click it's possible to see exactly where the station is situated.
For stations located further away the station links are positioned somewhat higher in the image - not much though.
If, by some obscure reason, it's not desirable to run Lisp I've also put together a version in Perl and PHP. The reason for this is that I want to put the whole thing on a web server that can be programmed only in PHP and can't keep track of the APRS traffic.
Therefore I wrote a small application, in Perl, that listens to a APRS source (TNC or Internet server) and compiles a list of the closest stations and the directions to them. This application also works as a server for the PHP program on the web server.
On the web server the page including LiveGraphics3D is created. In this there is a reference to a file of mathematica code for the compass rose and the station links. This file, which is a PHP program, tries to fetch the list of stations from my server and compiles the list or, if the list couldn't be fetched, an error message, with the code for the compass rose that subsequently is sent to the java applet. If my radio is on and the Perl application is running the traffic can be seen here.