Stream IoT Data to Infuse DB
Use this guide to design the bridge between Infuse IoT device workflows and Infuse DB ingestion.
Infuse IoT is the device communication and operational context layer. Infuse DB is the scalable time-series data layer for live and historical device records. A production pipeline usually has a backend service or gateway between them.
Integration Shape
1. Provision The Device
Register and provision the device in Infuse IoT first. The device record gives your pipeline stable identifiers such as deviceId, mcuId, board, organisation, and metadata.
See Connect an IoT Device for the full onboarding sequence.
2. Define The Target Dataset
Create or select the Infuse DB dataset that should hold the device records. The dataset should include the Infuse deviceId and any dimensions you need for querying, such as customer, environment, location, asset group, organisation, board, deployment site, firmware version, or measurement type.
3. Read IoT Context
Before writing records, your ingestion service can read Infuse IoT context:
| Context | Endpoint |
|---|---|
| Device record | GET /device/deviceId/{deviceId} |
| Device state | GET /device/deviceId/{deviceId}/state |
| Last route | GET /device/deviceId/{deviceId}/lastRoute |
| Logger state | GET /device/deviceId/{deviceId}/loggerStates |
| KV entries | GET /device/deviceId/{deviceId}/kv/entries |
| TDF definitions | GET /defs/tdf |
| KV definitions | GET /defs/kv |
Use definitions to decode structured payloads consistently. Store the definition version with ingested records when you need reproducible decoding later.
4. Write Records To Infuse DB
Your ingestion service should validate device identity, decode payloads, normalize timestamps, and write raw or computed records into Infuse DB. Keep the raw device identifier and decoded fields together so later queries can join operational data back to the device registry.
Recommended record fields include:
| Field | Why it helps |
|---|---|
deviceId | Joins records to Infuse IoT and Marketplace workflows. |
organisationId | Preserves account ownership. |
boardId | Supports hardware-family queries. |
customer | Supports customer-scoped fleet queries. |
environment | Separates production, test, staging, or field-trial data. |
location | Supports site, region, or installation queries. |
assetGroup | Groups devices by physical asset, product line, or operational unit. |
observedAt | Captures the device or gateway timestamp. |
ingestedAt | Captures when the backend wrote the record. |
definitionVersion | Makes decoding traceable. |
payload | Stores raw or computed measurement, event, signal, or status data. |
5. Use IoT Feedback Loops
After data is ingested, your backend can use Infuse IoT to act on device state:
- queue a KV update when configuration needs to change,
- send an RPC when an operator or automation requests action,
- inspect logger state before downloading more logged data,
- read last route before sending downlink work.
For endpoint schemas, see the Infuse IoT API reference and Infuse DB docs.