quick_blue

Creator: coderz1093

Last updated:

Add to Cart

Description:

quick blue

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

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




API
Android
iOS
macOS
Windows
Linux




isBluetoothAvailable
✔️
✔️
✔️
✔️
✔️


startScan/stopScan
✔️
✔️
✔️
✔️
✔️


connect/disconnect
✔️
✔️
✔️
✔️



discoverServices
✔️
✔️
✔️
✔️



setNotifiable
✔️
✔️
✔️
✔️



readValue
✔️
✔️
✔️
✔️



writeValue
✔️
✔️
✔️
✔️



requestMtu
✔️
✔️
✔️
✔️




Scan BLE peripheral #
Android/iOS/macOS/Windows/Linux
QuickBlue.scanResultStream.listen((result) {
print('onScanResult $result');
});

QuickBlue.startScan();
// ...
QuickBlue.stopScan();
copied to clipboard
Connect BLE peripheral #
Connect to deviceId, received from QuickBlue.scanResultStream
QuickBlue.setConnectionHandler(_handleConnectionChange);

void _handleConnectionChange(String deviceId, BlueConnectionState state) {
print('_handleConnectionChange $deviceId, $state');
}

QuickBlue.connect(deviceId);
// ...
QuickBlue.disconnect(deviceId);
copied to clipboard
Discover services of BLE peripheral #
Discover services od deviceId
QuickBlue.setServiceHandler(_handleServiceDiscovery);

void _handleServiceDiscovery(String deviceId, String serviceId) {
print('_handleServiceDiscovery $deviceId, $serviceId');
}

QuickBlue.discoverServices(deviceId);
copied to clipboard
Transfer data between BLE central & peripheral #

Pull data from peripheral of deviceId


Data would receive within value handler of QuickBlue.setValueHandler
Because it is how peripheral(_:didUpdateValueFor:error:) work on iOS/macOS

// Data would receive from value handler of `QuickBlue.setValueHandler`
QuickBlue.readValue(deviceId, serviceId, characteristicId);
copied to clipboard

Send data to peripheral of deviceId

QuickBlue.writeValue(deviceId, serviceId, characteristicId, value);
copied to clipboard

Receive data from peripheral of deviceId

QuickBlue.setValueHandler(_handleValueChange);

void _handleValueChange(String deviceId, String characteristicId, Uint8List value) {
print('_handleValueChange $deviceId, $characteristicId, ${hex.encode(value)}');
}

QuickBlue.setNotifiable(deviceId, serviceId, characteristicId, true);
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.