Device Configurator
This guide explains how clients should add devices, connect protocols, and validate live data inside Vehk Axle.
Access Path
- Sign in to axle.vehk.in.
- Go to Settings → Device Config.
- Use these tabs:
| Tab | Purpose |
|---|---|
| Management | Live status, SIM config, gateway view, OTA actions, disconnect alerts |
| Devices | All registered devices with status and message count |
| Add | 3-step guided device onboarding |
| Channels | Listener/channel status by protocol |
| Diagnostics | Per-device telemetry shadow + raw messages |
| Bulk | CSV onboarding for many devices |
| Credentials | Shared tenant credentials for large fleets |
Choose Your Onboarding Method
| Fleet size | Recommended method |
|---|---|
| 1-10 devices | Add tab (individual setup) |
| 10-100 devices | Bulk CSV import |
| 100+ devices | Credentials 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
| Field | Required | Notes |
|---|---|---|
name | Yes | Human-friendly name shown in dashboard |
imei | Usually yes | 15-digit IMEI is validated; required for OTA and many TCP devices |
device_type | Yes | Usually set automatically from selected model |
device_type_id | Recommended | Needed for protocol-specific behavior and OTA format selection |
vehicle_id | Optional | Link to vehicle/registration |
sim_number | Optional now, needed for OTA | Use international format if possible |
connection_method | Yes | tcp, 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
HTTP Ingest (recommended for external integrations)
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 (optionalstatusfilter).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,862061048760001,MH12AB1234
Truck-02,teltonika_fmb920,862061048760002,MH14CD5678
- Backend also accepts optional columns:
device_type_id,sim_number.
Important notes
nameis 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
- Management → Live Status: verify
online,offline,never_connected. - Channels: check protocol listeners and active connection count.
- Diagnostics: verify incoming raw messages and parsed telemetry.
- 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_idnot matching actual device protocol). - Incorrect JSON keys for HTTP payloads.
- Wrong TCP listener port.
OTA fails
- No
sim_numberset on device. - Missing or wrong IMEI.
- Wrong device password.
- SMS provider not configured server-side (manual SMS still possible).