bluetooth_low_energy
A Flutter plugin for controlling the bluetooth low energy.
Features
CentralManager
xGet/Listen the state of the central manager.xListen connection state cahgned.xListen GATT characteristic notified.xStart/Stop discovery.xConnect/Disconnect peripherals.xRead RSSI of peripherals.xDiscover GATT.xRead/Write GATT characteristics.xSet GATT characteristics notify state.xRead/Write GATT descriptors.
PeripheralManager
xGet/Listen the state of the peripheral manager.xListen GATT characteristic read/written/notifyStateChanged.xAdd/Remove/Clear service(s).xStart/Stop advertising.xRead/Write(Notify) GATT characteristics.
Getting Started
Add bluetooth_low_energy as a dependency in your pubspec.yaml file.
dependencies:
bluetooth_low_energy: ^<latest-version>
Remember to call await CentralManager.setUp() and await PeripheralManager.setUp() before use any apis of this plugin.
Note: Bluetooth Low Energy doesn't work on emulators, so use physical devices which has bluetooth features for development.
Android
Make sure you have a miniSdkVersion with 21 or higher in your android/app/build.gradle file.
iOS and macOS
According to Apple's documents, you must include the NSBluetoothAlwaysUsageDescription on or after iOS 13, and include the NSBluetoothPeripheralUsageDescription key before iOS 13.
Note: The PeripheralManager#startAdvertising only support name and serviceUUIDs, see the startAdvertising document.
Note: When use bluetooth or other hardwares on macOS, developers need to configure the app sandbox.
Linux
PeripheralManager is not implemented because the bluez plugin doesn't support this yet, see How to use bluez to act as bluetooth peripheral.
Windows
PeripheralManager is not implemented, it will be implemented in the future.
Note: The CentralManager#readRSSI method is not implemented on windows(windows doesn't support read RSSI after connected), avoid call this when running on windows devices.
Libraries
- bluetooth_low_energy
- A Flutter plugin for controlling the bluetooth low energy, supports central and peripheral apis.