Skip to main content

HyteraCoT - Hytera to Cursor-On-Target Gateway

The HyteraCoT Hytera to Cursor-On-Target Gateway transforms Hytera radio position information into Cursor On Target (COT) Position Location Information (PLI) for display on Situational Awareness (SA) applications such as the Android Team Awareness Kit (ATAK), WinTAK, RaptorX, TAKX, iTAK, et al.

For more information on the TAK suite of tools, see: https://www.tak.gov/

Support HyteraTAK Development

HyteraTAK has been developed for the Disaster Response, Public Safety and Frontline Healthcare community. This software is currently provided at no-cost to non-commercial users. Any contribution you can make to this project's development efforts is greatly appreciated.

Support HyteraTAK development: Buy me a coffee!

How it works

The HyteraCoT Hytera to Cursor-On-Target Gateway connects to your Hytera repeater (tested RD965) via Ethernet cable, registers with repeater and transforms Hytera radio positions (tested PD985 and PD785) tinto Cursor On Target format to be displayed on Situational Awareness apps.

It can also forward all packets it receives to a list of hosts. All packets received on one of slot ports will be forwarded to all listed hosts on the same port number.

It does not require running under root/admin user, if you bind to ports over 1024.

Required configuration

The repeater needs to have Forward to PC enabled with your computer IP address and both Radio GPS slot ports enabled. Radios need to have GPS Trigger enabled (time, distance and/or both).

Settings file

The software should work well with the default configuration. It is possible to change global defaults and per radio configuration.

The settings.ini file structure is described below:

Sections

  • [forward-to-pc] - general repeater settings
    • IP as defined in repeater [0.0.0.0] (it will listen on all available addresses by default)
    • gps1_port, gps2_port GPS slot ports [30003,30004]
    • forward_to list of hosts to forward packets ""
  • [hyteratak] - general TAK server settings
    • url - TAK server url udp broadcast on default port [broadcast://239.2.3.1] (it uses the default WinTAK multicast address 239.2.3.1 and port 6969)
    • type - default CoT type [a-f-G-U-C]
    • stale - CoT stale in seconds [3600]
    • group - default group [Green]
    • role - default role [Team Member]
  • [100] radio Section
    • name section as radio ID, for ID=100, section name will be [100]
    • type, stale, group, role as for global server settings
    • name - radio name to be displayed [RadioID (Hytera)]
    • uid - evant ID [HYTERA.RadioID]

Other connection options

You can use other options for sending to CoT server and use IP or hostnames.

UDP protocol

[hyteratak]
url=udp://192.168.1.2:1234

TCP protocol

[hyteratak]
url=tcp://192.168.1.2:2345

Packet forwarding

HyteraCoT can forward all received packets to a defined list of hosts. You can use packet forwarding if you use another servers to receive Hytera packets. All packets received on one slot ports will be forwarded to each host from the defined list on the same port number. So all gps1 packets received on port 30003 will be forwarded to each host from the list to port 30003. You define the host list using forward_to in [forward-to-pc] section as a comma-separated list of host names and/or IP addresses.

Packet forwarding

[forward-to-pc]
forward_to=host1,192.168.1.3

Servers and protocols

HyteraTAK is compatible with the following:

Servers:

  • TAK Server <https://tak.gov/>
  • taky <https://github.com/tkuester/taky>
  • Free TAK Server (FTS/FreeTAKServer) <https://github.com/FreeTAKTeam/FreeTakServer>

Clients:

  • WinTAK <https://tak.gov/>
  • ATAK <https://tak.gov/>
  • iTAK <https://tak.gov/>
  • TAKX <https://tak.gov/>
  • RaptorX

HyteraTAKsupports the following network protocols:

  • TCP Unicast
  • TLS Unicast
  • UDP Unicast
  • UDP Broadcast

Installation

Hytera is provided by a command-line tool called hyteratak, which can be installed from the Python Package Index, or directly from this source tree.

Simple install

Install from the Python Package Index (PyPI)

You need to have Python3 installed, at least version 3.7

# You need to have Python3 installed, at least version 3.7
$ python3 -m pip install pip wheel setuptools --upgrade
$ python3 -m pip install hyteratak --upgrade
# download config file
$ curl "https://raw.githubusercontent.com/kortel-systems/hyteratak/master/settings.ini.example" -o settings.ini
# Now edit settings.ini
# forward-to-pc: You may provide Forward to PC IP
# hyteratak: You may provide global defaults
# See "settings.ini.example" for configuration
$ hyteratak <optional path to settings.ini> <optional path to logging.ini>

Install from this source tree

git clone https://github.com/kortel-systems/hyteratak.git
cd hyteratak/
python3 setup.py install

Install on Windows

To get software running on Windows, you need to install appropriate Python 3.7+ package (depending on your Windows version).

Then you should be able to use Simple install

# From standard Windows Command Line (cmd.exe)
$ python -m pip install pip wheel setuptools --upgrade
$ python -m pip install hyteratak --upgrade
# download config file
$ curl "https://raw.githubusercontent.com/kortel-systems/hyteratak/master/settings.ini.example" -o settings.ini
# Now edit settings.ini
# forward-to-pc: You may provide Forward to PC IP
# hyteratak: You may provide global defaults
# See "settings.ini.example" for configuration
$ hyteratak <optional path to settings.ini> <optional path to logging.ini>

Usage

To run hyteratak from command-line supply the program with settings file.

hyteratak settings.ini

Metadata

Release files for hyteratak 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hyteratak 1.1.1
File Size Uploaded
hyteratak-1.1.1.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hyteratak 1.1.1
File Interpreter ABI Platform
hyteratak-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 47.1 kB

Release files / hyteratak-1.1.1.tar.gz

Download URL hyteratak-1.1.1.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e7e5c637965ffd4c094ec6a4b7f4b3c5ad8e8750a68a1de9d03b6d55c44c484c
BLAKE2b-256 checksum
How to use checksums
e16a116213a3481df048708b9c5727a66043fa8c62358d315b3eaf179c2999f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release files / hyteratak-1.1.1-py3-none-any.whl

Download URL hyteratak-1.1.1-py3-none-any.whl
Size 27.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b49a53e0a9062be3fddd73084188872ed4c2e989d970bca9ce4a87b87f246b1
BLAKE2b-256 checksum
How to use checksums
07d98cddc5bde0ad82d5c4fbcd564f2946699f07501e1a03f0035bf7629a7552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page