A cross-platform (Android/iOS/macOS/Windows/Linux) BluetoothLE plugin for Flutter
Note: It is a federated plugin structure
- Scan BLE peripheral
- Connect BLE peripheral
- Discover services of BLE peripheral
- Transfer data between BLE central & peripheral
https://www.bluetooth.com/blog/4-essential-tools-for-every-bluetooth-low-energy-developer/
-
Client Emulator Apps
-
Bluetooth Sniffer
- High-end/commercial: Ellisys sniffers, Teledyne LeCroy sniffers (formerly Frontline), the Spanalytics PANalyzr
- Low-cost: TI CC2540 USB dongle sniffer, Nordic nRF sniffer, Ubertooth One
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
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
- Nordic Semiconductor: Dev Zone, e.g. this post
- LightBlue: Windows tool, Docs
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
- 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