Skip to content

IoT Monitoring

Overview

Internet of Things (IoT) monitoring solutions connect physical devices to digital infrastructure, enabling real-time data collection, analysis, and automation. The De. platform provides comprehensive tools for device management, telemetry processing, and rule-based automation across logistics, supply chain, and asset tracking applications.

Key Capabilities

Device Management

Register, configure, and monitor IoT devices at scale:

typescript
// Register a new device
const device = await de.iotb.devices.register({
  name: 'Trailer GPS Tracker',
  type: 'gps_tracker',
  model: 'AssetTracker Pro',
  uniqueId: 'IMEI:356938035643809',
  metadata: {
    installDate: '2026-01-15',
    firmware: '2.1.5',
    batteryType: 'lithium',
    location: 'rear-left'
  }
})

// Provision device with credentials
const credentials = await de.iotb.devices.provision({
  deviceId: device.id,
  authType: 'certificate',
  expiresIn: '365d'
})

console.log('Device provisioned:', device.id)
console.log('Certificate:', credentials.certificate)
console.log('Private key:', credentials.privateKey)

// Get device status and health
const status = await de.iotb.devices.getStatus({
  deviceId: device.id,
  includeMetrics: true,
  includeConnectivity: true
})

console.log('Online status:', status.online)
console.log('Last seen:', status.lastSeen)
console.log('Battery level:', status.metrics.batteryLevel)
console.log('Signal strength:', status.connectivity.signalStrength)

Real-Time Telemetry

Process, store, and analyze device data streams:

typescript
// Configure telemetry schema
await de.iotb.telemetry.configureSchema({
  deviceType: 'environmental_sensor',
  schema: {
    temperature: { type: 'number', unit: 'celsius' },
    humidity: { type: 'number', unit: 'percent' },
    pressure: { type: 'number', unit: 'hPa' },
    batteryLevel: { type: 'number', unit: 'percent' },
    tamperDetected: { type: 'boolean' }
  },
  validationEnabled: true
})

// Subscribe to telemetry stream
de.iotb.telemetry.subscribe('device/+/temperature', (message, topic) => {
  const deviceId = topic.split('/')[1]
  console.log(`Temperature from ${deviceId}:`, message.value, message.unit)
})

// Query historical telemetry
const history = await de.iotb.telemetry.query({
  deviceId: 'dev_123',
  metrics: ['temperature', 'humidity'],
  timeRange: {
    start: '2026-01-01T00:00:00Z',
    end: '2026-01-15T23:59:59Z'
  },
  aggregation: {
    function: 'avg',
    interval: '1h'
  },
  limit: 1000
})

// Process telemetry with stream analytics
await de.iotb.analytics.createPipeline({
  name: 'Temperature Anomaly Detection',
  source: {
    type: 'mqtt',
    topic: 'device/+/temperature'
  },
  processors: [
    {
      type: 'filter',
      condition: 'value > 30 OR value < -10'
    },
    {
      type: 'enrich',
      fields: ['deviceMetadata', 'locationName']
    }
  ],
  sink: {
    type: 'alert',
    channel: 'high_priority'
  }
})

Rules & Automation

Create rule-based automations for device events:

typescript
// Create a rule to detect temperature anomalies
const rule = await de.iotb.rules.create({
  name: 'High Temperature Alert',
  description: 'Alert when temperature exceeds threshold',
  condition: {
    type: 'comparison',
    field: 'temperature',
    operator: 'greater_than',
    value: 25
  },
  actions: [
    {
      type: 'notification',
      channel: 'email',
      recipients: ['[email protected]'],
      template: 'temperature_alert'
    },
    {
      type: 'webhook',
      url: 'https://example.com/api/alerts',
      headers: { 'Content-Type': 'application/json' },
      includeDeviceDetails: true
    }
  ],
  scope: {
    deviceTypes: ['environmental_sensor'],
    tags: ['cold_chain', 'perishable']
  },
  severity: 'high',
  throttle: { period: '5m', maxExecutions: 3 }
})

// Create a geofence rule
await de.iotb.rules.createGeofenceRule({
  name: 'Warehouse Arrival',
  description: 'Detect device arrival at warehouse',
  geofence: {
    name: 'Warehouse Zone',
    type: 'circle',
    center: {
      latitude: 37.7749,
      longitude: -122.4194
    },
    radius: 200 // meters
  },
  events: ['enter', 'exit'],
  actions: [
    {
      type: 'webhook',
      url: 'https://example.com/api/arrivals',
      method: 'POST',
      payload: {
        event: '{{event}}',
        deviceId: '{{deviceId}}',
        timestamp: '{{timestamp}}'
      }
    },
    {
      type: 'mqtt',
      topic: 'warehouse/device/{{deviceId}}/{{event}}',
      payload: { timestamp: '{{timestamp}}' }
    }
  ],
  scope: {
    deviceTypes: ['gps_tracker'],
    tags: ['asset', 'vehicle']
  }
})

// Test rule against sample data
const testResult = await de.iotb.rules.test({
  ruleId: rule.id,
  sampleData: {
    temperature: 28,
    humidity: 45,
    deviceId: 'dev_456'
  }
})

console.log('Rule would trigger:', testResult.wouldTrigger)
console.log('Actions to execute:', testResult.actionsToExecute)

Asset Tracking

Monitor and manage assets with IoT devices:

typescript
// Link device to asset
await de.iotb.assets.linkDevice({
  assetId: 'ast_789',
  deviceId: 'dev_456',
  relationship: 'primary_tracker'
})

// Get asset location history
const locations = await de.iotb.assets.getLocationHistory({
  assetId: 'ast_789',
  startTime: '2026-01-14T00:00:00Z',
  endTime: '2026-01-15T23:59:59Z',
  resolution: 'medium', // or 'high', 'low'
  includeStops: true,
  includePath: true
})

// Create a shared tracking link
const trackingLink = await de.iotb.tracking.createLink({
  assetId: 'ast_789',
  expiresIn: '24h',
  shareMode: 'location_only',
  refreshInterval: 60, // seconds
  notifyAsset: false
})

console.log('Tracking URL:', trackingLink.url)
console.log('Expires at:', trackingLink.expiresAt)

Remote Control

Remotely control and configure devices:

typescript
// Send command to device
await de.iotb.devices.sendCommand({
  deviceId: 'dev_456',
  command: 'set_reporting_interval',
  parameters: { intervalSeconds: 300 },
  priority: 'normal',
  timeout: 30, // seconds
  waitForResponse: true
})

// Update device firmware
const firmwareUpdate = await de.iotb.devices.updateFirmware({
  deviceId: 'dev_456',
  firmwareVersion: '2.2.0',
  firmwareUrl: 'https://firmware.example.com/v2.2.0/tracker-pro.bin',
  scheduledTime: '2026-01-16T02:00:00Z', // off-peak hours
  rollbackOnFailure: true,
  validateChecksum: true
})

// Monitor firmware update status
de.iotb.devices.getFirmwareUpdateStatus({
  updateId: firmwareUpdate.id,
  includeStats: true
}).then(status => {
  console.log('Update status:', status.state)
  console.log('Progress:', status.progress)
  console.log('Estimated completion:', status.estimatedCompletion)
})

Integration Points

Sensor Integration

Connect and integrate with various sensor types:

  1. Environmental Monitoring

    • Temperature and humidity sensors
    • Air quality and gas detection
    • Pressure and vibration sensors
  2. Asset Tracking

    • GPS and cellular trackers
    • BLE beacons and RFID systems
    • Motion and accelerometer sensors
  3. Power Management

    • Battery monitoring
    • Solar charging systems
    • Power optimization strategies

Cloud Integration

Connect IoT data with cloud services:

  1. Data Storage

    • Time-series database integration
    • Data lake connection
    • Archive and retention policies
  2. Analytics Integration

    • Stream processing
    • Machine learning pipelines
    • Business intelligence tools
  3. Multi-cloud Support

    • AWS IoT Core integration
    • Azure IoT Hub connection
    • Google Cloud IoT compatibility

Enterprise Systems

Integrate IoT data with business systems:

  1. ERP Integration

    • Asset management systems
    • Inventory and warehouse management
    • Maintenance planning
  2. Supply Chain Visibility

    • Order tracking and monitoring
    • Chain-of-custody verification
    • Condition monitoring
  3. Compliance & Reporting

    • Environmental monitoring
    • Temperature record compliance
    • Audit trail and reporting

Benefits

  • Real-time Visibility - Monitor assets and conditions in real-time
  • Predictive Maintenance - Anticipate failures before they occur
  • Operational Efficiency - Automate processes and reduce manual checks
  • Enhanced Security - Monitor asset location and detect tampering
  • Compliance Support - Maintain records for regulatory requirements

API Reference

For detailed API documentation including endpoints, schemas, and examples:

Next Steps