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 / TypeScript — client.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,860000000000001,MH12AB1234
Truck-02,teltonika_fmb920,860000000000002,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​