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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1516fc61d27b8ac4be29684fb8c0190f2ffa57e1f1816108f81510a72bc5580d
|
|
| MD5 |
03e7efc2461002ce7f75e4ea2806a0fb
|
|
| BLAKE2b-256 |
9c090c47a1f608688f2d1530aaffbc4575d8d9dae60135d18a2c8a5d80293995
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d1103b1bd05617229312d0bae4b14c90fc5d6be370b57c593cc4afbf357ee59
|
|
| MD5 |
97f10ecee80c6405bcd366961263fa3d
|
|
| BLAKE2b-256 |
60a65505ae56b6f93fce9152836aa89c08ef234624135b3c8e562aa63348cfea
|