Skip to main content

Device Configurator

This guide explains how clients should add devices, connect protocols, and validate live data inside Vehk Axle.

Access Path

  1. Sign in to axle.vehk.in.
  2. Go to Settings → Device Config.
  3. Use these tabs:
TabPurpose
ManagementLive status, SIM config, gateway view, OTA actions, disconnect alerts
DevicesAll registered devices with status and message count
Add3-step guided device onboarding
ChannelsListener/channel status by protocol
DiagnosticsPer-device telemetry shadow + raw messages
BulkCSV onboarding for many devices
CredentialsShared tenant credentials for large fleets

Choose Your Onboarding Method

Fleet sizeRecommended method
1-10 devicesAdd tab (individual setup)
10-100 devicesBulk CSV import
100+ devicesCredentials tab (shared credential + auto-discovery)

Add One Device (3-Step Flow)

Step 1: Choose model

  • Select manufacturer/model from supported types (GET /api/devices/types/list).
  • If your hardware is not listed, use Custom / Unlisted Device.

Step 2: Enter device details

FieldRequiredNotes
nameYesHuman-friendly name shown in dashboard
imeiUsually yes15-digit IMEI is validated; required for OTA and many TCP devices
device_typeYesUsually set automatically from selected model
device_type_idRecommendedNeeded for protocol-specific behavior and OTA format selection
vehicle_idOptionalLink to vehicle/registration
sim_numberOptional now, needed for OTAUse international format if possible
connection_methodYestcp, mqtt, or http

Step 3: Configure the physical device

Use one of the integration paths below.

TCP Gateway

  • Set server host/IP and port as shown in the setup panel.
  • Protocol-specific ports are available via GET /api/devices/connection-info.
  • Auto-detect TCP port is 5050 (when used by your selected device type/workflow).

MQTT

After registration, Vehk returns per-device credentials:

Broker:   <from API>
Port: 8883 (TLS) / 1883
Username: {tenant_id}/{device_id}
Password: shown once only
Topic: vehk/{tenant_id}/devices/{device_id}/telemetry
curl -X POST "https://<api-host>/api/ingest/<DEVICE_ID>" \
-H "Content-Type: application/json" \
-d '{
"latitude": 12.9716,
"longitude": 77.5946,
"speed": 45.2,
"ignition": true,
"vehicleId": "MH12AB1234",
"timestamp": "2026-03-11T10:00:00Z"
}'

External API & SDK (GPS + fleet map)

After a device exists in Device Config, you can send GPS points and read latest positions through the External API (same paths the official SDK calls):

  • POST /api/external/track — one fix; POST /api/external/track/batch — up to 100 points.
  • GET /api/external/devices — list registered devices (optional status filter).
  • GET /api/external/devices/locations — latest point per device (fleet map).
  • GET /api/external/devices/{device_id}/location — one device.

Use an API key with scopes tracking:write and devices:read (or broader admin keys from the dashboard). Subscribe to a plan that covers External API and quotas; see Pricing and the SDK overview.

Official SDKs (v2): Python · JavaScript / TypeScriptclient.tracking.send, sendBatch, locations, location, and client.devices.list.

Bulk Device Import (CSV)

Use Bulk tab for faster onboarding.

CSV headers

  • Minimum working file:
name,device_type,imei,vehicle_id
Truck-01,itriangle_ts101,862061048760001,MH12AB1234
Truck-02,teltonika_fmb920,862061048760002,MH14CD5678
  • Backend also accepts optional columns: device_type_id, sim_number.

Important notes

  • name is mandatory.
  • IMEI must be 15 digits if provided.
  • Generated passwords are shown once; store securely.

Shared Fleet Credentials (100+ Devices)

Use this when all devices can share one tenant credential and differentiate by topic/device ID.

Username: {tenant_id}
Topic: vehk/{tenant_id}/devices/{DEVICE_ID}/telemetry

Password handling:

  • Existing password cannot be revealed later (stored as hash).
  • Use Reset Password to generate a new one.
  • After reset, all devices must be updated with the new password.

Validate Data Is Actually Flowing

  1. Management → Live Status: verify online, offline, never_connected.
  2. Channels: check protocol listeners and active connection count.
  3. Diagnostics: verify incoming raw messages and parsed telemetry.
  4. Management → Gateway: verify active TCP connections and message counters.

Common Issues

Device stays pending

  • Device not publishing yet.
  • Wrong host/port/topic/credentials.
  • Network/SIM/APN issue.

Device appears but no telemetry

  • Protocol mismatch (device_type_id not matching actual device protocol).
  • Incorrect JSON keys for HTTP payloads.
  • Wrong TCP listener port.

OTA fails

  • No sim_number set on device.
  • Missing or wrong IMEI.
  • Wrong device password.
  • SMS provider not configured server-side (manual SMS still possible).

Next Steps