2023-04-05 22:43:35 -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).
|
|
|
|
1. Install requirements using `pip install -r requirements.txt`.
|
2023-04-16 16:49:25 -05:00
|
|
|
1. Set up database file with `python init_db.py`.
|
2023-04-11 20:55:58 -05:00
|
|
|
2. Run `app.py` with either a Python call or a real WSGI server.
|
2023-04-05 22:43:35 -05:00
|
|
|
You can use screen to detach the session.
|
2023-04-23 21:13:06 -05:00
|
|
|
- Default URL is http://127.0.0.1:5001
|
2023-04-11 20:55:58 -05:00
|
|
|
- Example `waitress` and `screen` scripts are included, see
|
|
|
|
- `api_waitress.py` and
|
|
|
|
- `start-aprs_api.sh`
|
2023-04-05 22:43:35 -05:00
|
|
|
3. Access the API from whatever other system you want.
|
|
|
|
|
|
|
|
## Endpoints:
|
2023-04-16 18:50:39 -05:00
|
|
|
-`/packets` - gives the most recent packets, sorted descending by time received.
|
|
|
|
- argument `n` will return a specific number of packets, default 10. E.g.,
|
|
|
|
`https://digi.w1cdn.net/aprs_api/packets?n=1` returns one packet.
|
2023-04-23 21:13:06 -05:00
|
|
|
- argument `from` will return packets from the named station-SSID (no wildcards).
|
|
|
|
E.g., `https://digi.w1cdn.net/aprs_api/packets?n=1&from=W1CDN-1` returns
|
|
|
|
one packet from W1CDN-1.
|
2023-04-05 22:43:35 -05:00
|
|
|
|
|
|
|
Example of an object packet sent by W1CDN-1 and digipeated by K0UND-2:
|
|
|
|
```
|
|
|
|
{
|
2023-04-16 16:49:25 -05:00
|
|
|
"id": 1,
|
|
|
|
"addresse": null,
|
|
|
|
"alive": null,
|
|
|
|
"altitude": null,
|
|
|
|
"comment": "Leave a message to say hi!",
|
|
|
|
"course": null,
|
|
|
|
"created": "2023-04-16 15:04:03",
|
|
|
|
"format": "uncompressed",
|
|
|
|
"frame": null,
|
|
|
|
"from": "W1CDN-2",
|
|
|
|
"gpsfixstatus": null,
|
|
|
|
"latitude": 47.94133333333333,
|
|
|
|
"longitude": -97.02683333333333,
|
|
|
|
"mbits": null,
|
|
|
|
"messagecapable": 1,
|
|
|
|
"message_text": null,
|
|
|
|
"mtype": null,
|
|
|
|
"object_format": null,
|
|
|
|
"object_name": null,
|
|
|
|
"path": "['K0UND-2', 'WIDE2-2']",
|
|
|
|
"phg": null,
|
|
|
|
"phg_dir": null,
|
|
|
|
"phg_gain": null,
|
|
|
|
"phg_height": null,
|
|
|
|
"phg_power": null,
|
|
|
|
"phg_range": null,
|
|
|
|
"posambiguity": 0,
|
|
|
|
"raw": "W1CDN-2>APQTH1,K0UND-2,WIDE2-2:@150321h4756.48N/09701.61W-Leave a message to say hi!",
|
|
|
|
"raw_timestamp": "150321h",
|
|
|
|
"speed": null,
|
|
|
|
"station_call": "W1CDN-1",
|
|
|
|
"station_lat": 47.9415,
|
|
|
|
"station_lon": -97.027,
|
|
|
|
"status": null,
|
|
|
|
"symbol": "-",
|
|
|
|
"symbol_table": "/",
|
|
|
|
"telemetry": null,
|
|
|
|
"timestamp": 1681657401,
|
|
|
|
"to": "APQTH1",
|
|
|
|
"tEQNS": null,
|
|
|
|
"tPARM": null,
|
|
|
|
"tUNIT": null,
|
|
|
|
"via": "",
|
|
|
|
"weather": null,
|
|
|
|
"wx_raw_timestamp": null
|
|
|
|
}
|
2023-04-05 22:43:35 -05:00
|
|
|
```
|
2023-04-08 16:54:45 -05:00
|
|
|
|
|
|
|
# Contributing
|
|
|
|
If you want to contribute, please get in touch with me on Mastodon at
|
|
|
|
https://mastodon.radio/@W1CDN.
|