quick_blue icon indicating copy to clipboard operation
quick_blue copied to clipboard

A cross-platform (Android/iOS/macOS/Windows/Linux) BluetoothLE plugin for Flutter

quick_blue

A cross-platform (Android/iOS/macOS/Windows/Linux) BluetoothLE plugin for Flutter

Note: It is a federated plugin structure

Usage

  • Scan BLE peripheral
  • Connect BLE peripheral
  • Discover services of BLE peripheral
  • Transfer data between BLE central & peripheral

General useful Bluetooth information

https://www.bluetooth.com/blog/4-essential-tools-for-every-bluetooth-low-energy-developer/

  1. Client Emulator Apps

  2. Bluetooth Sniffer

iOS/macOS specific info

On iOS/macOS some common service/characteristic would be shortened. Be careful when comparing the UUID. I haven't finished the refactor of notepad_core to quick_blue yet

On the Dart side you'd better call like: https://github.com/woodemi/notepad_core/blob/b0e329f3d6e02f14f8a0e5e48a6ddb48e026b658/notepad_core/lib/woodemi/WoodemiClient.dart#L245-L256

const CODE__SERV_BATTERY = "180f";
const CODE__CHAR_BATTERY_LEVEL = "2a19";

const SERV__BATTERY = "0000$CODE__SERV_BATTERY-$GSS_SUFFIX";
const CHAR__BATTERY_LEVEL = "0000$CODE__CHAR_BATTERY_LEVEL-$GSS_SUFFIX";

Common service/characteristic list

  • Official: https://www.bluetooth.com/specifications/specs/gatt-specification-supplement-5/
  • gist: https://gist.github.com/sam016/4abe921b5a9ee27f67b3686910293026

Windows specific info

Doc of samples: https://docs.microsoft.com/en-us/samples/microsoft/windows-universal-samples/bluetoothle Code of samples: https://github.com/microsoft/windows-universal-samples/tree/main/Samples/BluetoothLE

Some other help

There is a version restriction with Connection without pairing on C++/WinRT and Windows 10

  • https://answers.microsoft.com/en-us/windows/forum/all/reconnecting-a-paired-bluetooth-device-without/90b42dd3-2998-4393-9d89-1624e120502f
  • https://stackoverflow.com/questions/55765090/windows-bluetooth-le-require-pairing-before-connection
  • https://social.msdn.microsoft.com/Forums/azure/en-US/66d6fb43-e41e-4751-99fe-170b8f63ad22/uwpcc-uwp-bluetooth-communication-without-pairing?forum=wpdevelop

Linux specific info

  • BlueZ official: http://www.bluez.org/
  • Ubuntu official: https://ubuntu.com/core/docs/bluez
  • Ubuntu bluez package: https://github.com/canonical/bluez.dart
  • Doc of samples: https://www.bluetooth.com/wp-content/uploads/2019/03/T1804_How-to-set-up-BlueZ_LFC_FINAL-2.pdf