APRS API in Python.
Go to file
2023-04-06 20:46:10 -05:00
.gitignore Add .gitignore. 2023-04-06 20:46:10 -05:00
app.py Lots of changes. 2023-04-06 20:45:31 -05:00
config.ini Lots of changes. 2023-04-06 20:45:31 -05:00
locations.csv Init. 2023-04-05 16:28:39 -05:00
README.md Add readme and stub out requirements.txt. 2023-04-05 22:43:35 -05:00
requirements.txt Add readme and stub out requirements.txt. 2023-04-05 22:43:35 -05:00
users.csv Init. 2023-04-05 16:28:39 -05:00

README

I got tired of APRS-IS websites not showing me all the paths that packets take, only the shortest path to IS. So this is a Python 3 tool that turns direwolf logs into a REST API in JSON format.

Setup

  1. Run direwolf with logging to CSV on by using -l. (-L not yet implemented).
  2. Install requirements using pip install -r requirements.txt.
  3. Run app.py with either a Python call or gunicorn (or some other WSGI server). You can use screen to detach the session.
  4. Access the API from whatever other system you want.

Endpoints:

-/packets - gives the most recent packets, with the fields from the Dire Wolf User Guide.

Example of an object packet sent by W1CDN-1 and digipeated by K0UND-2:

{
            "chan": 0,
            "utime": 1680566406,
            "isotime": "2023-04-04T00:00:06Z",
            "source": "W1CDN-1",
            "heard": "K0UND-2",
            "level": "113(71/42)",
            "error": 0,
            "dti": ";",
            "name": "147.390GF",
            "symbol": "/r",
            "latitude": 47.924167,
            "longitude": -97.009667,
            "speed": 0.0,
            "course": 0.0,
            "altitude": 0.0,
            "frequency": 147.39,
            "offset": 600.0,
            "tone": 0.0,
            "system": "DireWolf, WB2OSZ",
            "status": 0,
            "telemetry": 0.0,
            "comment": " https://www.wa0jxt.org/"
        },