I’ve implemented asset tracking for multiple large-scale deployments. Here’s the complete solution:
Asset Tracking Configuration:
Configure the field mapping for your GPS data format in Asset Management → Tracking Configuration:
{
"mapping_rules": [
{
"source_field": "lat",
"target_field": "latitude",
"data_type": "float"
},
{
"source_field": "lon",
"target_field": "longitude",
"data_type": "float"
},
{
"source_field": "ts",
"target_field": "timestamp",
"data_type": "datetime"
}
]
}
MQTT Topic Subscription:
Ensure the asset tracking service is subscribed to your location topics:
POST /asset/v1/tracking/subscriptions
{
"topic_pattern": "assets/+/location",
"message_format": "json",
"field_mapping_id": "gps_field_mapping_001"
}
Location Data Validation:
Your GPS messages must include these minimum fields after mapping:
{
"latitude": 40.7128,
"longitude": -74.0060,
"timestamp": "2024-11-26T14:30:00Z",
"accuracy_meters": 5.0
}
The accuracy_meters field is optional but recommended for filtering poor GPS signals.
Implementation steps:
- Create the field mapping configuration with your lat/lon to latitude/longitude translation
- Update the asset tracking subscription to reference your mapping configuration
- Clear the tracking service cache: POST /asset/v1/tracking/cache/clear
- Verify mapping is active: GET /asset/v1/tracking/mappings/gps_field_mapping_001/status
- Monitor incoming location updates: GET /asset/v1/tracking/diagnostics/update-rate
For your 180 mobile assets, the tracking service should process 360 location updates per minute (180 assets × 2 updates/minute). If the diagnostics show lower rates, there may be message validation failures.
To reprocess the stale location data from November 12-18:
POST /asset/v1/tracking/reconciliation
{
"asset_group": "mobile_trackers",
"date_range": {
"start": "2024-11-12T00:00:00Z",
"end": "2024-11-18T23:59:59Z"
},
"apply_field_mapping": true,
"mapping_id": "gps_field_mapping_001"
}
This reconciliation API replays MQTT messages through the new field mapping, updating asset locations retroactively. Processing typically takes 2-3 minutes per day of historical data.
One additional recommendation: enable location validation to filter out invalid GPS coordinates (latitude outside ±90 or longitude outside ±180). This prevents tracking errors from GPS signal issues or device malfunctions.