-
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Documentation Updates. - Fixes #17. Added ReadTheDocs site. - Fixes #18: Deprecate ADSBX_URL in favor of FEED_URL akin to adsbcot.
- Loading branch information
Showing
24 changed files
with
232 additions
and
148 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,3 +32,5 @@ redis-server.log | |
redis-server/ | ||
__pycache__ | ||
.ipynb_checkpoints/ | ||
.python-version | ||
config.ini |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# .readthedocs.yaml | ||
# Read the Docs configuration file | ||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details | ||
|
||
version: 2 | ||
|
||
build: | ||
os: ubuntu-22.04 | ||
tools: | ||
python: "3.11" | ||
|
||
mkdocs: | ||
configuration: mkdocs.yml | ||
|
||
python: | ||
install: | ||
- requirements: docs/requirements.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,10 +13,6 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# Copyright:: Copyright 2022 Greg Albrecht | ||
# License:: Apache License, Version 2.0 | ||
# | ||
|
||
this_app = adsbxcot | ||
.DEFAULT_GOAL := all | ||
|
@@ -76,3 +72,7 @@ test_cov: | |
|
||
black: | ||
black . | ||
|
||
mkdocs: | ||
pip install -r docs/requirements.txt | ||
mkdocs serve |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,123 +1,25 @@ | ||
ADSBExchange.com ADS-B to Cursor-On-Target Gateway. | ||
*************************************************** | ||
|
||
.. image:: https://raw.githubusercontent.com/ampledata/adsbxcot/main/docs/Screenshot_20201026-142037_ATAK-25p.jpg | ||
:alt: Screenshot of ADS-B PLI in ATAK. | ||
:target: https://github.com/ampledata/adsbxcot/blob/main/docs/Screenshot_20201026-142037_ATAK.jpg | ||
|
||
Display Aircraft in TAK | ||
*********************** | ||
|
||
The ADSBXCOT ADS-B to Cursor-On-Target Gateway transforms Automatic | ||
Dependent Surveillance-Broadcast (ADS-B) aircraft position information into | ||
Cursor-On-Target (COT) Position Location Information for display on | ||
Situational Awareness applications such as the Android Team Awareness Kit | ||
(ATAK), WinTAK, RaptorX, TAKX, iTAK, et al. ADS-B data is provided by | ||
ADSBExchange.com and requires an `API key <https://www.adsbexchange.com/data/>`_ from that service. | ||
|
||
For more information on the TAK suite of tools, see: https://www.tak.gov/ | ||
|
||
.. image:: https://raw.githubusercontent.com/ampledata/adsbxcot/main/docs/adsbxcot_concept.png | ||
:alt: ADSBXCOT Concept. | ||
:target: https://github.com/ampledata/adsbxcot/blob/main/docs/adsbxcot_concept.png | ||
|
||
|
||
Support Development | ||
=================== | ||
|
||
**Tech Support**: Email [email protected] or Signal/WhatsApp: +1-310-621-9598 | ||
|
||
This tool has been developed for the Disaster Response, Public Safety and | ||
Frontline Healthcare community. This software is currently provided at no-cost | ||
to users. Any contribution you can make to further this project's development | ||
efforts is greatly appreciated. | ||
|
||
.. image:: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png | ||
:target: https://www.buymeacoffee.com/ampledata | ||
:alt: Support Development: Buy me a coffee! | ||
|
||
|
||
Installation | ||
============ | ||
|
||
ADSBXCOT's functionality provided by a command-line program called `adsbxcot`. | ||
|
||
Installing as a Debian / Ubuntu Package [Recommended]:: | ||
|
||
$ sudo apt update | ||
$ wget https://github.com/ampledata/aircot/releases/latest/download/python3-aircot_latest_all.deb | ||
$ sudo apt install -f ./python3-aircot_latest_all.deb | ||
$ wget https://github.com/ampledata/pytak/releases/latest/download/python3-pytak_latest_all.deb | ||
$ sudo apt install -f ./python3-pytak_latest_all.deb | ||
$ wget https://github.com/ampledata/adsbxcot/releases/latest/download/python3-adsbxcot_latest_all.deb | ||
$ sudo apt install -f ./python3-adsbxcot_latest_all.deb | ||
|
||
|
||
Install from the Python Package Index (PyPI) [Advanced Users]:: | ||
|
||
$ pip install adsbxcot | ||
|
||
|
||
Install from this source tree [Developers]:: | ||
|
||
$ git clone https://github.com/ampledata/adsbxcot.git | ||
$ cd adsbxcot/ | ||
$ python setup.py install | ||
|
||
|
||
Usage | ||
===== | ||
|
||
The `adsbxcot` command-line program has 2 runtime arguments:: | ||
|
||
usage: adsbxcot [-h] [-c CONFIG_FILE] | ||
|
||
optional arguments: | ||
-h, --help show this help message and exit | ||
-c CONFIG_FILE, --CONFIG_FILE CONFIG_FILE. Default: config.ini | ||
|
||
|
||
Configuration | ||
============= | ||
Configuration parameters can be specified either via environment variables or in | ||
a INI-stile configuration file. | ||
|
||
Parameters: | ||
|
||
* **ADSBX_URL**: ADSBExchange.com API or Rapid API URL. | ||
* **COT_URL**: (*optional*) Destination for Cursor-On-Target messages. See `PyTAK <https://github.com/ampledata/pytak#configuration-parameters>`_ for options. | ||
* **POLL_INTERVAL**: (*optional*) Period in seconds to poll API. Default: 30 | ||
* **KNOWN_CRAFT**: (*optional*) CSV-style aircraft hints file for overriding callsign, icon, COT Type, etc. | ||
* **INCLUDE_TISB**: (*optional*) If set, will also including TIS-B identified aircraft. | ||
* **INCLUDE_ALL_CRAFT**: (*optional*) If set & KNOWN_CRAFT is set, will include aircraft not in KNOWN_CRAFT. | ||
|
||
There are other configuration parameters available via `PyTAK <https://github.com/ampledata/pytak#configuration-parameters>`_. | ||
|
||
Configuration parameters are imported in the following priority order: | ||
|
||
1. ``config.ini`` (if exists) or ``-c <filename>`` (if specified). | ||
2. Environment Variables (if set). | ||
3. Defaults. | ||
|
||
|
||
Source | ||
====== | ||
ADSBXCOT source can be found on Github: https://github.com/ampledata/adsbxcot | ||
|
||
ADSBXCOT is a PyTAK gateway for displaying aircraft tracks from ADS-B Aggregators (ADSBExchange, adsb.fi, et al.) in `TAK Products <https://tak.gov>`_ (ATAK, WinTAK, iTAK, TAK Server, TAKX). | ||
|
||
Author | ||
====== | ||
ADSBXCOT is written and maintained by Greg Albrecht W2GMD [email protected] | ||
ADSBXCOT converts ADS-B messages from aircraft into Cursor on Target (CoT), as spoken by TAK Products like ATAK. ADS-B messages are read from global ADS-B data aggregators, such as ADSBExchange.com or adsb.fi. ADS-B data sent to TAK Products retains many of the aircraft's track, course & speed parameters, but also metadata about the aircraft, including Flight, Tail, Category, and more. | ||
|
||
https://ampledata.org/ | ||
ADSBXCOT runs in any Python 3.6+ environment, on both Windows & Linux. | ||
|
||
N.B.: Almost all ADS-B Aggreators require pre-authorization before allowing access to ADS-B data. This pre-authorization is often in the form of an API key. Many of these services provide these API keys for free, provided you feed data from your local ADS-B receiver into their cloud-service. Otherwise, they charge a fee for access to ADS-B data. Your organization should reach out to these ADS-B data aggregator services directly to negotiate terms for your use. | ||
|
||
Copyright | ||
========= | ||
ADSBXCOT is Copyright 2022 Greg Albrecht | ||
`Documentation is available here. <https://adsbxcot.rtfd.io>`_ | ||
|
||
Have your own ADS-B receiver? Check out `ADSBCOT <https://adsbcot.rtfd.io>`_. | ||
|
||
License | ||
======= | ||
Copyright 2022 Greg Albrecht <[email protected]> | ||
Copyright Sensors & Signals LLC https://www.snstac.com | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#!/usr/bin/env python3 | ||
# -*- coding: utf-8 -*- | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,17 +13,14 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# | ||
|
||
""" | ||
ADS-B Exchange Cursor-on-Target Gateway. | ||
~~~~ | ||
Display Aircraft in TAK. | ||
:author: Greg Albrecht W2GMD <[email protected]> | ||
:copyright: Copyright 2022 Greg Albrecht | ||
:author: Greg Albrecht <[email protected]> | ||
:copyright: Copyright Sensors & Signals LLC https://www.snstac.com | ||
:license: Apache License, Version 2.0 | ||
:source: <https://github.com/ampledata/adsbxcot> | ||
:source: <https://github.com/snstac/adsbxcot> | ||
""" | ||
|
||
from .constants import DEFAULT_POLL_INTERVAL, DEFAULT_LIGHT_COT # NOQA | ||
|
@@ -32,6 +29,6 @@ | |
|
||
from .classes import ADSBXWorker # NOQA | ||
|
||
__author__ = "Greg Albrecht W2GMD <[email protected]>" | ||
__copyright__ = "Copyright 2022 Greg Albrecht" | ||
__author__ = "Greg Albrecht <[email protected]>" | ||
__copyright__ = "Copyright Sensors & Signals LLC https://www.snstac.com" | ||
__license__ = "Apache License, Version 2.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#!/usr/bin/env python3 | ||
# -*- coding: utf-8 -*- | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,8 +13,6 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# | ||
|
||
"""ADSBXCOT Class Definitions.""" | ||
|
||
|
@@ -30,14 +28,14 @@ | |
import adsbxcot | ||
|
||
|
||
__author__ = "Greg Albrecht W2GMD <[email protected]>" | ||
__copyright__ = "Copyright 2022 Greg Albrecht" | ||
__author__ = "Greg Albrecht <[email protected]>" | ||
__copyright__ = "Copyright Sensors & Signals LLC https://www.snstac.com" | ||
__license__ = "Apache License, Version 2.0" | ||
|
||
|
||
class ADSBXWorker(pytak.QueueWorker): | ||
|
||
"""Reads ADSBExchange.com ADS-B Data, renders to COT, and puts on Queue.""" | ||
"""Reads ADS-B Aggregator Data, renders to COT, and puts on Queue.""" | ||
|
||
def __init__(self, queue: asyncio.Queue, config: SectionProxy) -> None: | ||
super().__init__(queue, config) | ||
|
@@ -96,8 +94,8 @@ async def handle_data(self, data: list) -> None: | |
|
||
async def get_adsbx_feed(self, url: str) -> None: | ||
""" | ||
ADSBExchange.com ADS-B Feed API Client wrapper. | ||
Connects to ADSBX API and passes messages to `self.handle_message()`. | ||
ADS-B Aggregator API Client wrapper. | ||
Connects to API and passes messages to `self.handle_message()`. | ||
""" | ||
api_key: str = self.config.get("API_KEY") | ||
|
||
|
@@ -132,7 +130,7 @@ async def run(self, number_of_iterations=-1) -> None: | |
"""Runs this Thread, Reads from Pollers.""" | ||
self._logger.info("Running %s", self.__class__) | ||
|
||
url: str = self.config.get("ADSBX_URL") | ||
url: str = self.config.get("FEED_URL", self.config.get("ADSBX_URL")) | ||
poll_interval: str = self.config.get( | ||
"POLL_INTERVAL", adsbxcot.DEFAULT_POLL_INTERVAL | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#!/usr/bin/env python3 | ||
# -*- coding: utf-8 -*- | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,15 +13,13 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# | ||
|
||
"""PyTAK Command Line.""" | ||
"""ADSBXCOT Command Line.""" | ||
|
||
import pytak | ||
|
||
__author__ = "Greg Albrecht W2GMD <[email protected]>" | ||
__copyright__ = "Copyright 2022 Greg Albrecht" | ||
__author__ = "Greg Albrecht <[email protected]>" | ||
__copyright__ = "Copyright Sensors & Signals LLC https://www.snstac.com" | ||
__license__ = "Apache License, Version 2.0" | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#!/usr/bin/env python3 | ||
# -*- coding: utf-8 -*- | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,13 +13,11 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# | ||
|
||
"""ADSBXCOT Constants.""" | ||
|
||
__author__ = "Greg Albrecht W2GMD <[email protected]>" | ||
__copyright__ = "Copyright 2022 Greg Albrecht" | ||
__author__ = "Greg Albrecht <[email protected]>" | ||
__copyright__ = "Copyright Sensors & Signals LLC https://www.snstac.com" | ||
__license__ = "Apache License, Version 2.0" | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#!/usr/bin/env python3 | ||
# -*- coding: utf-8 -*- | ||
# | ||
# Copyright 2022 Greg Albrecht <[email protected]> | ||
# Copyright Sensors & Signals LLC https://www.snstac.com | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
|
@@ -13,8 +13,6 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# Author:: Greg Albrecht W2GMD <[email protected]> | ||
# | ||
|
||
"""ADSBXCOT Functions.""" | ||
|
||
|
@@ -27,8 +25,8 @@ | |
import aircot | ||
import adsbxcot # pylint: disable=cyclic-import | ||
|
||
__author__ = "Greg Albrecht W2GMD <[email protected]>" | ||
__copyright__ = "Copyright 2022 Greg Albrecht" | ||
__author__ = "Greg Albrecht <[email protected]>" | ||
__copyright__ = "Copyright Sensors & Signals LLC https://www.snstac.com" | ||
__license__ = "Apache License, Version 2.0" | ||
|
||
|
||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Concept of Operations (CONOP) | ||
|
||
[![ADSBXCOT Concept of Operations (CONOP)](ADSBXCOT_CONOP/[email protected])](ADSBXCOT_CONOP/[email protected]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
![ATAK Screenshot with ADSBXCOT aircraft tracks.](atak_screenshot_with_pytak_logo-x25.jpg) | ||
|
||
# Display Aircraft in TAK | ||
|
||
ADSBXCOT is a PyTAK gateway for displaying aircraft tracks from ADS-B Aggregators (ADSBExchange, adsb.fi, et al.) in [TAK Products](https://tak.gov>) (ATAK, WinTAK, iTAK, TAK Server, TAKX). | ||
|
||
ADSBXCOT converts ADS-B messages from aircraft into Cursor on Target (CoT), as spoken by TAK Products like ATAK. ADS-B messages are read from global ADS-B data aggregators, such as ADSBExchange.com or adsb.fi. ADS-B data sent to TAK Products retains many of the aircraft's track, course & speed parameters, but also metadata about the aircraft, including Flight, Tail, Category, and more. | ||
|
||
ADSBXCOT runs in any Python 3.6+ environment, on both Windows & Linux. | ||
|
||
N.B.: Almost all ADS-B Aggreators require pre-authorization before allowing access to ADS-B data. This pre-authorization is often in the form of an API key. Many of these services provide these API keys for free, provided you feed data from your local ADS-B receiver into their cloud-service. Otherwise, they charge a fee for access to ADS-B data. Your organization should reach out to these ADS-B data aggregator services directly to negotiate terms for your use. | ||
|
||
[Documentation is available here.](https://adsbxcot.rtfd.io) | ||
|
||
Have your own ADS-B receiver? Check out [ADSBCOT](https://adsbcot.rtfd.io). |
Oops, something went wrong.