在Flutter中读取蓝牙BLE设备上的功能?

mctunoxg  于 2023-05-29  发布在  Flutter
关注(0)|答案(1)|浏览(515)

我在Flutter中与蓝牙BLE设备通信时使用flutter_blue_plus库。我认为与BLE设备通信与其他蓝牙和串行USB通信有点不同。
如何通过flutter_blue_plus收听设备。如何运行read函数?我在网上做了很多研究,但找不到解决方案。

List<BluetoothService> services = await selecteddevice!.discoverServices();
                  BluetoothService lastservice = services.last;
                  BluetoothCharacteristic lastCharacterist = lastservice.characteristics.last;

                  lastCharacterist.write(Uint8List.fromList([0xFF,0x02,0x24,0x00]),withoutResponse: true);

我使用上面的代码写函数。但我不确定是否正确我是这个图书馆的新手。如果你能帮忙我会很高兴的。如果有其他的图书馆可以推荐,我也可以使用。

wqsoz72f

wqsoz72f1#

flutter_blue_plus附带了一个优秀的使用页面,其中包含了如何扫描、连接和读/写特性的示例。
扫描设备就像使用startScan一样简单,并监听scanResults

// Start scanning
flutterBlue.startScan(timeout: Duration(seconds: 4));

// Listen to scan results
var subscription = flutterBlue.scanResults.listen((results) {
    // do something with scan results
    for (ScanResult r in results) {
        print('${r.device.name} found! rssi: ${r.rssi}');
    }
});

// Stop scanning
flutterBlue.stopScan();

在发现设备的服务和特性后可以进行阅读写:

// Reads all characteristics
var characteristics = service.characteristics;
for(BluetoothCharacteristic c in characteristics) {
    List<int> value = await c.read();
    print(value);
}

// Writes to a characteristic
await c.write([0x12, 0x34])

按照使用页面的所有步骤操作应该可以让您开始使用

相关问题