Skip to content

kylesayrs/ATAK_push_cots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATAK_push_cots

Push Cursor on Target messages to TAK clients with attachments and other information without requiring a TAK server.

ATAK

Background

The Android Tactical Awareness Kit (ATAK) is a software platform used to enable geospatial awareness and multiuser collaboration. ATAK was originally developed by the Air Force Research Laboratory (AFRL) and is now maintained by the TAK Product Center (TPC) as a civilian application. This package exists to allow the easy sharing of markers (CoTs) to users of ATAK and other CivTAK distributions exist such as iTAK (iOS) and WinTAK (Windows).

A summary of the cursor on target schema (CoT) can be found here.

For troubleshooting, create an issue or ask on the reddit or discord.

Install

git clone https://github.com/kylesayrs/ATAK_push_cots
cd ATAK_push_cots
python3 -m pip install -e .

Usage

Pushing a standard CoT message can be done using the push_cot function

from atakcots import CotConfig, push_cot

cot_config = CotConfig(
    uid="Message",
    latitude=40.74931973338903,
    longitude=-73.96791282024928
)
    
push_cot(cot_config, "192.168.0.2")

Pushing CoTs which include attachments such as images must be done using CotServer.push_cot

from atakcots import CotConfig, CotServer

cot_config = CotConfig(
    uid="Message",
    latitude=40.74931973338903,
    longitude=-73.96791282024928,
    attachment_paths="sandeot.png"
)
    
with CotServer("192.168.0.1", 8000) as server:
    server.push_cot(cot_config, "192.168.0.2")
    server.push_cot(cot_config, "192.168.0.3")
    server.push_cot(cot_config, "192.168.0.4")

    # you should keep the context alive for as long as
    # you want clients to receive the attachments

If you'd rather not use a context manager, you can use start and stop functions

from atakcots import CotConfig, CotServer

cot_config = CotConfig(
    uid="Message",
    latitude=40.74931973338903,
    longitude=-73.96791282024928,
    attachment_paths="sandeot.png"
)

server = CotServer("192.168.0.1", 8000)
server.start()

server.push_cot(cot_config, "192.168.0.2")
server.push_cot(cot_config, "192.168.0.3")
server.push_cot(cot_config, "192.168.0.4")

# stop when clients no longer need to receive attachments
server.stop()

See examples for more use cases.

About

Push Cursor on Target messages to TAK clients with attachments and other information

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages