[英]How to use Flutter Reactive BLE to send a UUID to a Bluetooth device and save response to string
我一直在尝试找出 Flutter Reactive BLE dart 库。 我已经完成了 Github 示例应用程序并了解了我想工作的时间。 我想知道是否有更简单的方法来做我正在做的事情。
我试过弄乱 readCharacterisitc 但我没有运气。 我认为我没有正确连接到设备。
final characteristic = QualifiedCharacteristic(serviceId: serviceUuid, characteristicId: characteristicUuid, deviceId: foundDeviceId);
final response = await flutterReactiveBle.readCharacteristic(characteristic);
目标是让所有相关函数和变量连接到一个文件中的 BLE 设备,所以我所要做的就是 1 行并获得我对不同 UUID 的响应。
我对 flutter 和 dart 也很陌生,所以如果我要解决这个问题,请告诉我。
您将需要知道该设备的服务 UUID 和特征 UUID。
首先执行扫描并保存设备 ID。
String? deviceId;
final flutterReactiveBle = FlutterReactiveBle();
flutterReactiveBle.scanForDevices(withServices: [serviceId], scanMode: ScanMode.lowLatency).listen((device) {
//save the device id to a variable
deviceId = device.id;
}, onError: () {
//code for handling error
});
然后使用此设备 ID 连接到该设备。 您需要知道该设备的服务 ID 和特征 ID。
flutterReactiveBle.connectToDevice(
id: deviceId,
servicesWithCharacteristicsToDiscover: {serviceId: [charId1, charId2]},
connectionTimeout: const Duration(seconds: 2),
).listen((connectionState) {
if (connectionState.connectionState == DeviceConnectionState.connected) {
// send the data
final characteristic = QualifiedCharacteristic(serviceId: serviceUuid,
characteristicId: charId1, deviceId: deviceId);
var response = await flutterReactiveBle.writeCharacteristicWithResponse(characteristic, value: [0x00]);
}
}, onError: (Object error) {
// Handle a possible error
});
请注意,在许多情况下,您将获得另一个特征 UUID 的响应。 因此,您将不得不听取该特征 UUID 以获得响应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.