Code Examples

Learn from practical examples and sample code. Explore common use cases and integration patterns.

Fleet Management

Basic fleet management operations

python
from lattis_nexus import Client

# Initialize client
client = Client(api_key='your_api_key')

# Get all vehicles
vehicles = client.fleet.get_vehicles()

# Filter active vehicles
active_vehicles = [v for v in vehicles if v.status == 'active']

# Get vehicle telemetry
for vehicle in active_vehicles:
    telemetry = client.telemetry.get_latest(vehicle.id)
    print(f"Vehicle {vehicle.id}:")
    print(f"  Location: {telemetry.location}")
    print(f"  Battery: {telemetry.battery}%")
    print(f"  Status: {telemetry.status}")
javascript
import { LattisNexusClient } from '@lattis-nexus/sdk';

// Initialize client
const client = new LattisNexusClient({
  apiKey: 'your_api_key'
});

// Get all vehicles
const vehicles = await client.fleet.getVehicles();

// Filter active vehicles
const activeVehicles = vehicles.filter(v => v.status === 'active');

// Get vehicle telemetry
for (const vehicle of activeVehicles) {
  const telemetry = await client.telemetry.getLatest(vehicle.id);
  console.log('Vehicle', vehicle.id);
  console.log('  Location:', telemetry.location);
  console.log('  Battery:', telemetry.battery + '%');
  console.log('  Status:', telemetry.status);
}

Real-time Updates

Subscribe to real-time vehicle updates

python
from lattis_nexus import Client

client = Client(api_key='your_api_key')

# Define event handler
async def handle_telemetry(data):
    vehicle_id = data['vehicle_id']
    location = data['location']
    print(f"Vehicle {vehicle_id} location update:")
    print(f"  Lat: {location['lat']}")
    print(f"  Lng: {location['lng']}")

# Subscribe to updates
await client.stream.subscribe(
    'vehicle_telemetry',
    callback=handle_telemetry,
    vehicle_ids=['v123', 'v124'],
    events=['location_update']
)

# Start streaming
await client.stream.connect()
javascript
import { LattisNexusClient } from '@lattis-nexus/sdk';

const client = new LattisNexusClient({
  apiKey: 'your_api_key'
});

// Subscribe to updates
client.stream.subscribe('vehicle_telemetry', {
  vehicleIds: ['v123', 'v124'],
  events: ['location_update']
}, (data) => {
  const { vehicleId, location } = data;
  console.log('Vehicle', vehicleId, 'location update:');
  console.log('  Lat:', location.lat);
  console.log('  Lng:', location.lng);
});

// Handle connection events
client.stream.on('connected', () => {
  console.log('Connected to stream');
});

client.stream.on('error', (error) => {
  console.error('Stream error:', error);
});

// Start streaming
client.stream.connect();

Data Processing

Process and analyze vehicle data

python
from lattis_nexus import Client
from datetime import datetime, timedelta

client = Client(api_key='your_api_key')

# Get historical data
end_time = datetime.utcnow()
start_time = end_time - timedelta(hours=24)

# Get vehicle metrics
metrics = client.analytics.get_metrics(
    vehicle_id='v123',
    start_time=start_time,
    end_time=end_time,
    metrics=['speed', 'battery', 'distance']
)

# Calculate averages
avg_speed = sum(m.speed for m in metrics) / len(metrics)
avg_battery = sum(m.battery for m in metrics) / len(metrics)
total_distance = sum(m.distance for m in metrics)

print(f"24-hour Statistics:")
print(f"  Average Speed: {avg_speed:.1f} km/h")
print(f"  Average Battery: {avg_battery:.1f}%")
print(f"  Total Distance: {total_distance:.1f} km")
javascript
import { LattisNexusClient } from '@lattis-nexus/sdk';

const client = new LattisNexusClient({
  apiKey: 'your_api_key'
});

// Get historical data
const endTime = new Date();
const startTime = new Date(endTime - 24 * 60 * 60 * 1000);

// Get vehicle metrics
const metrics = await client.analytics.getMetrics({
  vehicleId: 'v123',
  startTime,
  endTime,
  metrics: ['speed', 'battery', 'distance']
});

// Calculate averages
const avgSpeed = metrics.reduce((sum, m) => sum + m.speed, 0) / metrics.length;
const avgBattery = metrics.reduce((sum, m) => sum + m.battery, 0) / metrics.length;
const totalDistance = metrics.reduce((sum, m) => sum + m.distance, 0);

console.log('24-hour Statistics:');
console.log('  Average Speed:', avgSpeed.toFixed(1), 'km/h');
console.log('  Average Battery:', avgBattery.toFixed(1), '%');
console.log('  Total Distance:', totalDistance.toFixed(1), 'km');