Distance Profile (17000-17999)

Time-of-flight distance measurement sensors.

Sensor Data Messages

Distance Info (17100)

Basic distance measurement in millimeters.

{
    "dist": 145
}

Example:

[{
    "tsmId": 17100,
    "tsmEv": 10,
    "tsmTs": 1492603998,
    "tsmTuid": "T5T0FS3R1AL",
    "tsmGw": "TSGW1234",
    "tsmAp": "ThingseeDemoApp",
    "dist": 145
}]

Distance 2 Info (17200)

Advanced distance measurement with status and optional diagnostics.

{
    "dist": Number,          // Distance in mm
    "status": Number,        // 0 = OK, non-zero = error
    "ambientRate": Number,   // optional debug
    "numberOfSPADs": Number, // optional debug
    "signalPerSPAD": Number  // optional debug
}

Measured distance is reported when it differs from the previous value by more than the configured threshold. Otherwise, values are reported at the configured reporting interval.

Example:

[{
    "tsmId": 17200,
    "tsmEv": 10,
    "tsmTs": 1892603998,
    "tsmTuid": "TSTF02SERIAL1",
    "tsmGw": "TSGW1234",
    "dist": 79,
    "status": 0,
    "ambientRate": 8,
    "numberOfSPADs": 5,
    "signalPerSPAD": 20856
}]

Distance 2 2D Area Info (17201)

Multi-zone distance measurements (4×4 grid).

{
    "dist": [
        [Number, Number, Number, Number],
        [Number, Number, Number, Number],
        [Number, Number, Number, Number],
        [Number, Number, Number, Number]
    ]
}

Distance 2 Temperature Info (17210)

Sensor temperature as a moving average over 90 measurements (15 minutes). Reported when the average differs by more than 20°C from the previous value.

{
    "temp": Number  // Celsius
}

Configuration Messages

Distance Sensor Profile Configuration (17110)

Select measurement profile for basic distance sensors. Sent with tsmEv: 30.

{
    "transactionId": Number,
    "profileId": Number
}
Profile IDDescription
0Default profile
1High accuracy profile
2Long range profile (dark conditions)
3Short distance profile (max 0.5m)

Distance 2 Sensor Configuration (17220)

Comprehensive configuration for advanced ToF sensors. Sent with tsmEv: 30.

{
    "transactionId": Number,
    "rangingMode": Number,
    "rangingTimingBudget": Number,
    "rangingROI": [Number, Number, Number, Number],
    "reportingHysteresisAbsolute": Number,
    "reportingHysteresisRelative": Number,
    "reportingIgnoreErrors": Number,
    "reportingEnableDebug": Number,
    "accelerometerMode": Number,
    "temperatureMode": Number,
    "mode": Number,
    "peopleCountingOrientation": Number,
    "peopleCountingDistanceThreshold": Number
}

Ranging Configuration

FieldDefaultDescription
rangingMode11: Short range, 2: Long range
rangingTimingBudget50Measurement time in ms (15, 20, 33, 50, 100, 200, 500)
rangingROI[4,4,11,11]Region of interest [X1, Y1, X2, Y2], values 0–15

Reporting Configuration

FieldDefaultDescription
reportingHysteresisAbsolute50Threshold in mm for immediate report
reportingHysteresisRelative5Threshold in % for immediate report
reportingIgnoreErrors10: Report all errors, 1: Report first error only
reportingEnableDebug00: Disabled, 1: Include debug fields in 17200

Feature Configuration

FieldDefaultDescription
accelerometerMode10: Disabled, 1: Report orientation
temperatureMode10: Disabled, 1: Report temperature
mode00: Distance mode, 1: People counter mode
peopleCountingOrientation0Counter orientation (0–3)
peopleCountingDistanceThreshold1280Detection threshold in mm

Example - Read current configuration:

[{
    "tsmId": 17220,
    "tsmEv": 30,
    "tsmDstTuid": "TSTF02SERIAL1",
    "transactionId": 2147483647
}]

Example - Change ranging mode:

[{
    "tsmId": 17220,
    "tsmEv": 30,
    "tsmDstTuid": "TSTF02SERIAL1",
    "transactionId": 2147483647,
    "rangingMode": 2,
    "rangingTimingBudget": 100
}]