Skip to main content

airtrackrelay

UDP socket server to collect live tracking reports and relay them to metarace telegraph as JSON encoded objects.

Supported tracking devices and messages:

  • Quectel GL300/320 "Air Interface"
    • +ACK : Command acknowledge, type: 'drdack'
    • +RESP, +BUFF:
    • GTFRI, GTRTL, GTSOS, GTLOC : Location report, type: 'drdpos'
    • GTINF : Information report, type: 'drdstat'
  • Beaker
    • AES128 Location, type 'drdpos'

Configuration is via metarace sysconf section 'airtrackrelay' with the following keys:

key (type) Description [default]
topic (string) MQTT relay topic ['tracking/data']
port (int) UDP listen port [1911]
k1 (string) Beaker K1, 128 bit hex string
k2 (string) Beaker K2, 128 bit hex string
uid (int32) Beaker uid/config id [0]

Tracker imeis are read from the section 'tracking' under the key 'devices', which is a map of device ids to a dict object:

key (type) Description [default]
imei (string) Device IMEI
type (string) Device type

Example config:

{
 "airtrackrelay": {
  "port": 12345,
  "topic": "tracking/data",
  "k1": "000102030405060708090a0b0c0d0e0f",
  "k2": "f0e0d0c0b0a090807060504030201000",
  "uid": 1234567890
 },
 "tracking": {
  "devices": {
   "bob": { "imei": "012345678901234", "label": null,
    "phone": "+12345678901", "type": null },
   "gem": { "imei": "023456788901234", "label": null,
    "phone": null, "type": null },
  }
 }
}

Example Info Message:

{"type": "drdstat", "drd": "bob", "devstate": "41", "rssi": "13",
 "voltage": "4.08", "battery": "94", "charging": "0",
 "sendtime": "20220101023424" }

Example Ack Message:

{"type": "drdack", "drd": "gem", "ctype": "GTFRI", "cid": "1A3D",
 "sendtime": "20220101031607", "req": ""}

Example GL3xx/Beaker Location Message:

{"type": "drdpos", "lat": "-13.567891", "lng": "101.367815",
 "elev": "22.6", "speed": "12.7", "drd": "gem",
 "fixtime": "20220101022231", "battery": "94", "flags": 0}

Requirements

  • metarace >=2.0

Installation

$ pip3 install airtrackrelay

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

airtrackrelay-1.0.4.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airtrackrelay-1.0.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file airtrackrelay-1.0.4.tar.gz.

File metadata

  • Download URL: airtrackrelay-1.0.4.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for airtrackrelay-1.0.4.tar.gz
Algorithm Hash digest
SHA256 1516fc61d27b8ac4be29684fb8c0190f2ffa57e1f1816108f81510a72bc5580d
MD5 03e7efc2461002ce7f75e4ea2806a0fb
BLAKE2b-256 9c090c47a1f608688f2d1530aaffbc4575d8d9dae60135d18a2c8a5d80293995

See more details on using hashes here.

File details

Details for the file airtrackrelay-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: airtrackrelay-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for airtrackrelay-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5d1103b1bd05617229312d0bae4b14c90fc5d6be370b57c593cc4afbf357ee59
MD5 97f10ecee80c6405bcd366961263fa3d
BLAKE2b-256 60a65505ae56b6f93fce9152836aa89c08ef234624135b3c8e562aa63348cfea

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page