# FleetTracker360 / Traccar — GPS Tracking Platform Traccar open-source GPS tracking server deployed as a Docker container. Tracks phones (iOS Traccar Client) and OBD2 dongles. HERE Maps API for traffic-aware ETAs. ## Architecture ``` iPhone (Traccar Client) → Traccar Server (Docker) → HERE Maps API (traffic) OBD2 dongles → → Sho'Nuff (ETAs, alerts) Garrison's iPhone → → Live Dashboard (ops portal) ``` ## Traccar Docker Deployment ```bash # Run Traccar with bundled H2 database (no external DB needed) docker run -d --restart unless-stopped \ --name traccar \ -p 8082:8082 \ -p 5055:5055 \ -p 5055:5055/udp \ -v /opt/traccar/logs:/opt/traccar/logs \ traccar/traccar:latest ``` | Port | Protocol | Purpose | |------|----------|---------| | 8082 | TCP | Web UI + REST API | | 5055 | TCP/UDP | Device communication (GPS protocols) | ## Traccar REST API | Endpoint | Method | Returns | |----------|--------|---------| | `/api/session` | POST | Login (username, password) | | `/api/devices` | GET | All registered devices | | `/api/positions` | GET | Latest positions per device | | `/api/positions?deviceId=X` | GET | Position history for device | | `/api/geofence` | GET | Defined geofence zones | | `/api/notifications` | GET | Push notification rules | | `/api/reports/route` | POST | Trip history between dates | | `/api/server` | GET | Server info and settings | Default credentials: `admin` / `admin`. ## HERE Maps API Integration HERE API signup: https://developer.here.com/ | Feature | Free Tier | Endpoint | |---------|-----------|----------| | Geocoding | 250k/mo | `GET https://geocode.search.hereapi.com/v1/geocode` | | Routing with traffic | 250k/mo | `GET https://router.hereapi.com/v8/routes` | | Reverse geocode | 250k/mo | `GET https://revgeocode.search.hereapi.com/v1/revgeocode` | ### ETA Calculation Flow ```python # 1. Get current position from Traccar # GET /api/positions?deviceId=1 → {latitude, longitude} # 2. Reverse geocode to address (optional) # GET https://revgeocode.search.hereapi.com/v1/revgeocode?at={lat},{lng}&apikey={key} # 3. Route to destination with traffic # GET https://router.hereapi.com/v8/routes?origin={lat},{lng}&destination={address}&transportMode=car&traffic=enabled&apikey={key} # → Returns travelTime (with traffic) and travelTimeWithoutTraffic ``` ### ETA Query from Sho'Nuff ```python # When Master asks "how long to home?" position = traccar_api.get_latest_position("Germaine's iPhone") home = geocode("Savannah, GA") route = here_api.route(position, home, traffic=True) # → "34 min via I-95 S (traffic normal). Without traffic: 28 min." ``` ## iOS Traccar Client Setup 1. Install "Traccar Client" from App Store 2. Server URL: `http://fleettracker360.com:5055` (or whatever the deployed domain/port is) 3. Device identifier: any name (e.g., "Germaine's iPhone") 4. Enable background location updates 5. Client sends periodic GPS pings to the Traccar server ## OBD2 Dongle Pairing Traccar supports 200+ GPS protocols. Most OBD2 dongles speak one of: - TK103 - GPS103 - GL200 - GT06 - Oscium Configure in Traccar: add a new device, select the protocol matching the dongle, enter the IMEI/serial. ## Dashboard Concept The FleetTracker360 live dashboard at `ops.itpropartner.com/fleettracker360.html` shows: - Hero location card (current position, speed, heading) - ETA grid to saved locations (Home, Office, School, Gym) - Vehicle telemetry (speed, RPM, fuel, battery, engine codes) - Daily trip stats (miles, steps, time) - Alert feed (arrivals, departures, geofence crossings) - Mini map with breadcrumb trail - Device status row (phones, vehicles) ## Subscription Selling Model Multi-user Traccar instance with per-vehicle pricing. Use HERE Maps free tier (250k/mo) for initial deployments. Upgrade to paid HERE plan only when fleet exceeds traffic limits. Project folder: `/root/projects/fleettracker/` Domain: `fleettracker360.com` (Cloudflare proxied)