Skip to main content

UDP GPS Tracker Relay

Project description

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

Project details


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.

Supported by

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