Files
bluetooth_low_energy/bluetooth_low_energy/README.md
iAMD 87fe3e2447 feat: 5.0.0 (#35)
* draft: 临时提交

* feat: 实现扫描功能

* fix: 优化广播逻辑

* feat: 添加协程方法

* fix: 修改宏定义

* draft: 临时提交

* feat: 调整接口

* fix: 修改版本号

* feat: 4.1.1

* draft: 临时提交

* feat: 5.0.0-dev.2

* fix: 修复版本号错误

* draft: 临时提交

* fix: 修复连接断开异常

* fix: 修复问题

* fix: 优化代码

* fix:  优化 short UUID 格式化逻辑

* fix: 尝试实现 read_rssi 接口,当前此接口不可用,会报异常

* feat: 删除 getMaximumWriteLength 方法

* fix: 更新 CHANGELOG.md

* feat: 5.0.0-dev.1

* fix: 更新依赖项

* feat: linux-5.0.0-dev.1

* fix: 更新 CHANGELOG.md

* fix: 开始搜索设备时清空设备列表

* fix: 开始扫描时清空设备列表

* feat: 5.0.0-dev.2

* fix: 优化 MyGattService 和 MyGattCharacteristic

* feat: 更新 interface 版本 -> 5.0.0-dev.4

* feat: 更新 interface 版本 -> 5.0.0-dev.4

* feat: 实现 flutter 部分 5.0.0

* fix: 移除 maximumWriteLength

* fix: 移除 rssi

* feat: 5.0.0-dev.1

* feat: 5.0.0-dev.2

* fix: 更新依赖项

* fix: 5.0.0-dev.4

* fix: 更新依赖项

* draft: 临时提交

* feat: 5.0.0-dev.5

* draft: 删除 MyCentralManager 和 MyPeripheralManager

* fix: 更新依赖项

* fix: 更新依赖项

* feat: 适配新接口

* feat: 5.0.0-dev.6

* draft: 临时提交

* feat: 5.0.0-dev.7

* fix: 修改版本号

* feat: 5.0.0-dev.8

* feat: 5.0.0-dev.9

* fix: 修复 trimGATT 错误

* feat: 5.0.0-dev.6

* feat: 5.0.0-dev.3

* feat: 5.0.0-dev.4

* fix: 更新 pubspec.lock

* feat: 5.0.0-dev.7

* feat: 5.0.0-dev.3

* fix: balabala

* fix: balabala

* draft: 5.0.0-dev.1

* fix: trim GATT when call the `writeCharacteristic` method.

* fix: make difference of `trim` and `fragment`.

* feat: 5.0.0-dev.1

* feat: 5.0.0-dev.1

* feat: 优化示例程序

* fix: 更新 README.md

* fix: 修复插件引用

* draft: XXXX

* feat: 增加调试信息

* fix: 更新 pubspec.lock

* feat: 5.0.0-dev.4

* feat: 5.0.0-dev.3

* feat: 5.0.0

* feat: 5.0.0

* feat: 5.0.0

* feat: 5.0.0

* feat: 5.0.0

* feat: 5.0.0
2023-12-31 00:53:48 +08:00

2.5 KiB

bluetooth_low_energy

A Flutter plugin for controlling the bluetooth low energy.

Features

CentralManager

  • Get/Listen the state of the central manager.
  • Listen connection state cahgned.
  • Listen GATT characteristic notified.
  • Start/Stop discovery.
  • Connect/Disconnect peripherals.
  • Read RSSI of peripherals.
  • Discover GATT.
  • Read/Write GATT characteristics.
  • Set GATT characteristics notify state.
  • Read/Write GATT descriptors.

PeripheralManager

  • Get/Listen the state of the peripheral manager.
  • Listen GATT characteristic read/written/notifyStateChanged.
  • Add/Remove/Clear service(s).
  • Start/Stop advertising.
  • Read/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

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.