No description
- Python 99.6%
- Dockerfile 0.4%
Validates IMEI (numeric, 10-15 digits), coordinates (valid lat/lon ranges), battery (0-100%), speed (non-negative), and course (0-360). Prevents spurious Pushover alerts from garbage data sent by internet scanners. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| docs | ||
| src/gps_tracker | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| gps_dashboard.py | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
| zensical.toml | ||
GPS Tracker Server
A multi-protocol Python server for receiving and visualizing location data from GPS tracking devices. Supports MQTT publishing in OwnTracks format.
Supported Devices
| Protocol | Devices | Default Port |
|---|---|---|
| GT06/Topin 365GPS | G68, ZX303, ZX612, and similar | 5023 |
| H02/SinoTrack | ST-904L, ST-901, and similar | 5014 |
Features
- Multi-protocol support (GT06, H02) in a single process
- Decodes binary and ASCII GPS protocols
- Stores locations in JSON Lines format
- MQTT publishing in OwnTracks format
- Battery status tracking
- Alarm detection (SOS, power cut, vibration, geofence, overspeed, low battery)
- Server-to-device commands (location request, set interval, restart, etc.)
- LBS/WiFi positioning support
- Pushover notifications for alarms
- Single Docker container for all protocols
Quick Start
Using Docker (recommended)
docker compose up -d --build
docker compose logs -f
Using UV (development)
uv sync
uv run gps-tracker -p gt06:5023 -p h02:5014
Documentation
Full documentation is available at the docs site:
# Preview documentation locally
uv run zensical serve
# Build documentation
uv run zensical build
Documentation Sections
- Getting Started - Installation and configuration
- Devices - Device setup guides for GT06 and SinoTrack
- Commands - CLI and programmatic API reference
- Integrations - MQTT/OwnTracks and Pushover setup
- Reference - Alarms, data storage, architecture
- Troubleshooting - Common issues and solutions
Development
# Install dependencies
uv sync
# Run with debug logging
uv run gps-tracker -p gt06 -p h02 --debug
# Interactive mode (start server with console)
uv run gps-tracker -p gt06 -p h02 -i
# Connect to running server
uv run gps-tracker -C
Docker Build
docker build --build-arg GIT_SHA=$(git rev-parse --short HEAD) -t git.tbrnt.ch/tobru/g68-gps:latest .
docker push git.tbrnt.ch/tobru/g68-gps:latest
License
MIT - Use freely for personal and commercial projects.