Bluetooth BLE
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 Setting | Description |
|---|---|
| Device Address (MAC) | Specifies the MAC address of the target BLE device (e.g., 50:65:83:A2:1A:E8). |
| Device Name | Friendly display name of the discovered BLE device. |
| Auto Reconnect | Boolean 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. |
| Notes | Free-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 Parameter | Description |
|---|---|
| Friendly Name | Human-readable point name (e.g., Rotation, Movement, Heart Rate). |
| Data Type | Data conversion type: Int16, UInt16, Int32, UInt32, Float, Double, Bool, Byte, String. |
| Byte Offset | Zero-indexed byte offset within the raw characteristic payload buffer. |
| Byte Length | Length in bytes to extract (used for strings or multi-byte payloads; set 0 for default). |
| Service UUID | Service UUID in 128-bit GUID format (e.g., 0000fff0-0000-1000-8000-00805f9b34fb) or 16-bit short hex (FFF0). |
| Characteristic UUID | Characteristic UUID in 128-bit GUID format (e.g., 0000fff1-0000-1000-8000-00805f9b34fb) or 16-bit short hex (FFF1). |
| Access Mode | Subscription mechanism: Notify (CCCD notifications), Indicate (CCCD indications), or ReadPolling. |
4. Key Features & Dialogs
BLE Device & GATT Browser
Dedicated Point Editor
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 Name | Route ID | Kind | Category | Access | Data Type |
|---|---|---|---|---|---|
| point.Name | point.Id (GUID) | Value | GATT Characteristic | Read / Stream | Configured DataType (Int16, UInt16, Float, etc.) |
| Connection Status | MetaConnectedItemId | Value | System | Read | Bool |
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.