Bluetooth BLE

Bluetooth BLE

ID: uniflow.plugin.bluetoothble  •  Category: Generic Protocol  •  Version: v1.0.29

Bluetooth BLE Plugin Reference Manual

1. Overview

Plugin Name: Bluetooth BLE

Type: Generic Protocol

Identifier: uniflow.plugin.bluetoothble

Description

Integration with Bluetooth Low Energy (BLE) peripheral devices. Enables active device scanning, automatic GATT service/characteristic discovery, subscription to characteristic notification streams (CCCD), sub-payload byte offset parsing, and telemetry publishing into the Uniflow catalog.


2. Configuration Parameters

The following configuration fields are available in the User Interface for this plugin:

Configuration SettingDescription
Device Address (MAC)Specifies the MAC address of the target BLE device (e.g., 50:65:83:A2:1A:E8).
Device NameFriendly display name of the discovered BLE device.
Auto ReconnectBoolean flag (True/False) indicating if Uniflow should automatically attempt reconnection if signal is lost.
Reconnect Interval (s)Time in seconds between automatic reconnection attempts.
Connection Timeout (s)Time in seconds to wait for GATT connection establishment before timing out.
NotesFree-text notes or description.

3. Subscribed GATT Characteristics (Points)

Each configured BLE source maintains a list of GATT characteristic telemetry points. Points can be added automatically using the BLE Device & GATT Browser or manually created and edited via the dedicated Point Editor Dialog.

Point ParameterDescription
Friendly NameHuman-readable point name (e.g., Rotation, Movement, Heart Rate).
Data TypeData conversion type: Int16, UInt16, Int32, UInt32, Float, Double, Bool, Byte, String.
Byte OffsetZero-indexed byte offset within the raw characteristic payload buffer.
Byte LengthLength in bytes to extract (used for strings or multi-byte payloads; set 0 for default).
Service UUIDService UUID in 128-bit GUID format (e.g., 0000fff0-0000-1000-8000-00805f9b34fb) or 16-bit short hex (FFF0).
Characteristic UUIDCharacteristic UUID in 128-bit GUID format (e.g., 0000fff1-0000-1000-8000-00805f9b34fb) or 16-bit short hex (FFF1).
Access ModeSubscription mechanism: Notify (CCCD notifications), Indicate (CCCD indications), or ReadPolling.

4. Key Features & Dialogs

BLE Device & GATT Browser

  • Active Scanning: Performs active BLE advertisement scanning with real-time RSSI signal strength monitoring.
  • Service Discovery: Connects to selected BLE devices to enumerate all available GATT services and characteristics.
  • Characteristic Pre-Selection: Automatically checks and highlights characteristics already configured in the source points list.
  • Device Disconnection: Allows explicit device disconnection and configuration clearing from within the browser window.
  • Dedicated Point Editor

  • Dedicated modal editor for configuring individual characteristic points.
  • Automatically manages unique internal GUIDs for point identification (hidden from UI).
  • Includes paginated table views matching standard Uniflow industrial plugin layouts.
  • Multi-Value Sub-Payload Parsing

    Supports mapping multiple distinct telemetry points to the same characteristic payload by specifying different ByteOffset values. For instance, a single 4-byte characteristic payload can publish:

  • Rotation (Int16 at ByteOffset: 0)
  • Movement (Int16 at ByteOffset: 2)

  • 5. Exposed Routes & Data Types

    The following routes are available in the Uniflow catalog for this plugin:

    Display NameRoute IDKindCategoryAccessData Type
    point.Namepoint.Id (GUID)ValueGATT CharacteristicRead / StreamConfigured DataType (Int16, UInt16, Float, etc.)
    Connection StatusMetaConnectedItemIdValueSystemReadBool

    6. Usage Examples

    Scenario A: Reading Telemetry from a Single Characteristic

    1. Open the BLE Device Browser and start scanning for nearby BLE devices.

    2. Select your device and click Connect & Discover GATT Services.

    3. Check the desired characteristic (e.g., 0x2A37 Heart Rate Measurement) and click Import Selected Points.

    4. In the Rule Editor, add an Input Source node selecting your BLE device, and connect the characteristic output port to rule logic.

    Scenario B: Multi-Value Proxy / IMU Payload

    When a device emits multiple sensor metrics packed inside a single 4-byte notification payload on Service FFF0 and Characteristic FFF1:

    1. Add Point 1: Name = Rotation, Service = FFF0, Characteristic = FFF1, DataType = Int16, ByteOffset = 0.

    2. Add Point 2: Name = Movement, Service = FFF0, Characteristic = FFF1, DataType = Int16, ByteOffset = 2.

    3. In the Rule Editor, both ports will emit independent stream values whenever the BLE characteristic payload updates.