flutter 蓝牙ble(blue tooth),同时连接多台/多个设备

我想请教一下,flutter 蓝牙ble(blue tooth),同时连接多台/多个设备
最新回答
风花雪月夜

2024-05-06 16:02:56

于是就有了写作本文的动力,-------->解决同时连接多台蓝牙设备!!!

flutter_blue 适合于单台的蓝牙设备,使用起来简单
flutter_reactive_ble 适合于单台的蓝牙设备,多台蓝牙设备也可以用
flutter_ble_lib 适合于单台的蓝牙设备,多台蓝牙设备也可以用,可以在
模拟器
上进行调试蓝牙

感觉后2个第三方库都可以使用,本人先入为主使用了flutter_reactive_ble,所以本文以flutter_reactive_ble为基础进行介绍

先声明4个
全局变量
,后面会用到

开始扫描

如果扫描过程,不使用过滤条件,withServices这个参数可以给个空数组

停止扫描如下

连接设备

断开设备,
每连接成功一个设备后,就会产生一个_connectionStreamSubscription,对应设备的断开,就用对应的StreamSubscription去断开, 可以用一个HashMap,去记录 连接成功的设备 与 StreamSubscription 的对应关系

去扫描服务,并过滤服务,扫描结果服务里面是包含有特征的数组,如: serviceId:[fff0,fff1,fff2,fff3,...]

去监听上报来的数据,参数来自前面扫描到的结果serviceId--服务ID, characteristicId--特征ID,deviceId--设备ID

后面就是各位看官根据自己的需求去做逻辑处理啦。

对设备设置命令,发送请求(写操作),list为整形数据,要写的数据

读取设备的信息(读操作)

flutter 多台蓝牙设备同时连接的分享就到这里喽,小伴们,觉得有点用的话,或者已经看到这里面来的请点个赞吧~~ 后续分享更多有关flutter的文章。如果有疑问的话,请在下方留言~

过一段时间后,我在项目把这个蓝牙库用起来了,基本能满足日常需求.效果如下: