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 ID | Description |
|---|---|
0 | Default profile |
1 | High accuracy profile |
2 | Long range profile (dark conditions) |
3 | Short 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
| Field | Default | Description |
|---|---|---|
rangingMode | 1 | 1: Short range, 2: Long range |
rangingTimingBudget | 50 | Measurement 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
| Field | Default | Description |
|---|---|---|
reportingHysteresisAbsolute | 50 | Threshold in mm for immediate report |
reportingHysteresisRelative | 5 | Threshold in % for immediate report |
reportingIgnoreErrors | 1 | 0: Report all errors, 1: Report first error only |
reportingEnableDebug | 0 | 0: Disabled, 1: Include debug fields in 17200 |
Feature Configuration
| Field | Default | Description |
|---|---|---|
accelerometerMode | 1 | 0: Disabled, 1: Report orientation |
temperatureMode | 1 | 0: Disabled, 1: Report temperature |
mode | 0 | 0: Distance mode, 1: People counter mode |
peopleCountingOrientation | 0 | Counter orientation (0–3) |
peopleCountingDistanceThreshold | 1280 | Detection 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
}]