IMDS - Industrial Measurement Device

Component Type: NimBLE GATT Service

Status: Implemented

Overview

CProtoNimblePrphImds - Bluetooth SIG Industrial Measurement Device Service (UUID 0x185A).

Units conversion: see Units conversion.

Configuration

Kconfig

  • CONFIG_DAWN_PROTO_NIMBLE_IMDS: enables the Industrial Measurement Device Service.

  • CONFIG_DAWN_PROTO_NIMBLE_EXTENDED_METADATA: enables optional metadata descriptor support for standard services.

  • CONFIG_DAWN_PROTO_NIMBLE_IMDS_DESC_USER_DESCRIPTION: enables Characteristic User Description descriptors (0x2901).

YAML

services:
  imds:
    temperature:
      data: temp1
      metadata:
        user_description: "Process temperature"
    humidity:       hum1
    pressure:       press1
    uv_index:       uv1
    gas_resistance: gas1
    light:          light1

Supported keys:

  • temperature

  • humidity

  • pressure

  • uv_index

  • gas_resistance (uses non-standard 0x272A UUID; see Units conversion)

  • light

Each measurement may be either a direct IO reference or a mapping with data/io and metadata. Supported metadata:

  • user_description: UTF-8 text for the Characteristic User Description descriptor (UUID 0x2901), truncated to 16 bytes.

Optional Characteristics

Implemented per-measurement descriptors:

  • Characteristic User Description (0x2901) from metadata.user_description.

Other IMDS service-level status, lifecycle, control, and historical-data characteristics are not implemented yet.

Doxygen