diff --git a/README.rst b/README.rst index a2d338b..a8834e9 100644 --- a/README.rst +++ b/README.rst @@ -1,21 +1,29 @@ aiscot - AIS Cursor-on-Target Gateway. **************************************** -**IF YOU HAVE AN URGENT OPERATIONAL NEED**: Email ops@undef.net or call/sms +1-415-598-8226 .. image:: https://raw.githubusercontent.com/ampledata/aiscot/main/docs/screenshot-1601068921-25.png :alt: Screenshot of AIS points in ATAK-Div Developer Edition. :target: https://raw.githubusercontent.com/ampledata/aiscot/main/docs/screenshot-1601068921.png +**IF YOU HAVE AN URGENT OPERATIONAL NEED**: Email: ops@undef.net or Signal: +1-415-598-8226 -aiscot receives AIS Sentences from an AIS Receiver, such as ais-decoder, -converts them to Cursor-on-Target Events, and transmits the CoT Events to a -destination. - -For use with CoT systems such as ATAK, WinTAK, etc. See https://www.civtak.org/ +AISCOT transforms AIS data to Cursor-On-Target for display on Situational Awareness +applications like ATAK, WinTAK, iTAK, TAKX, COPERS, et al. See https://www.tak.gov/ for more information on the TAK program. -Utilized for an open ocean boat race in the Northern Pacific Ocean, as -described in this article: http://ampledata.org/boat_race_support.html +AISCOT has two modes of operation: + +1. Over-the-air AIS: Receives AIS data from a VHF AIS receiver, such as the +Megwatt `dAISy+ _`. From there +AIS can be decoded by `AIS Dispatcher _` and +forwarded to AISCOT to be transformed to COT and transmitted to COT destinations. + +2. AIS Aggregator feeds: Receives AIS data from the `AISHUB _` service. +Requires a subscription to AISHUB. + + +AISCOT was original developed to support an open ocean boat race in the Northern +Pacific Ocean, as described in this article: http://ampledata.org/boat_race_support.html Support AISCOT Development ========================== @@ -38,7 +46,7 @@ Installation AISCOT functionality is provided by a command-line tool called `aiscot`, which can be installed several ways. -Installing as a Debian/Ubuntu Package [USE ME]:: +Installing as a Debian/Ubuntu Package [Use Me!]:: $ wget https://github.com/ampledata/pytak/releases/latest/download/python3-pytak_latest_all.deb $ sudo apt install -f ./python3-pytak_latest_all.deb @@ -64,17 +72,21 @@ environmental variables. Command-line options: -h, --help show this help message and exit - -c CONFIG_FILE, --CONFIG_FILE CONFIG_FILE + -c CONFIG_FILE, --CONFIG_FILE If specified, use this config file. Default 'config.ini'. Configuration options: COT_URL : `str` - URL to CoT Destination. Must be a URL, e.g. tcp:1.2.3.4:1234 or tls:...:1234, etc. + URL to COT destination. Must be a URL, e.g. `tcp://1.2.3.4:1234` or `tls://...:1234`, etc. Default `udp://239.2.3.1:6969` AIS_PORT : `int` AIS UDP Listen Port. COT_STALE : `int` - CoT Stale period, in seconds. Default 3600 seconds (1 hour). + CoT Stale period ("timeout"), in seconds. Default `3600` seconds (1 hour). KNOWN_CRAFT : `str` Known Craft hints file. CSV file containing callsign/marker hints. + INCLUDE_ALL_CRAFT : `bool` + If using KNOWN_CRAFT, still include other craft not in our KNOWN_CRAFT list. + COT_TYPE : `str` + Override COT Event Type ("marker type"). Default `a-u-S-X-M`. See example-config.ini in the source tree for example configuration. diff --git a/aiscot/constants.py b/aiscot/constants.py index e25a1a9..8d74618 100644 --- a/aiscot/constants.py +++ b/aiscot/constants.py @@ -8,7 +8,7 @@ import pkg_resources __author__ = "Greg Albrecht W2GMD " -__copyright__ = "Copyright 2021 Greg Albrecht" +__copyright__ = "Copyright 2022 Greg Albrecht" __license__ = "Apache License, Version 2.0" diff --git a/example-config.ini b/example-config.ini index 2ef6786..b0d3676 100644 --- a/example-config.ini +++ b/example-config.ini @@ -4,7 +4,7 @@ ; command-line options. All parameters ARE IN ALL CAPS. ; CoT Destination URL, in this example UDP Port 4242 on ATAK device IP 172.17.2.151 -COT_URL = udp:172.17.2.151:4242 +COT_URL = udp://172.17.2.151:4242 ; Optional. If specified uses craft data from this file to filter, populate callsign, CoT type, etc ; KNOWN_CRAFT = example-known_craft.csv