Flutter开发中罗氏Accu-chek蓝牙设备识别方法咨询
Flutter对接罗氏Accu-chek血糖仪的设备识别方案
仅通过1808服务UUID判断品牌的合理性验证
你的判断完全正确。00001808-0000-1000-8000-00805f9b34fb是蓝牙技术联盟(SIG)定义的标准血糖设备通用服务UUID,所有符合蓝牙血糖设备规范的不同品牌产品(如雅培、强生旗下的合规血糖仪)都会广播该UUID,完全不具备品牌区分能力。
基于厂商数据的Accu-chek设备识别方法
蓝牙广播的厂商数据结构为{厂商ID: 私有载荷数组},其中厂商ID是蓝牙联盟统一分配的唯一标识符,你查询到的368为罗氏糖尿病护理的专属ID,该属性本身已经具备品牌唯一识别性。
后面的整型数组属于罗氏私有自定义载荷,无需完全解析即可完成识别:
- 仅需区分罗氏和其他品牌设备:不需要解析数组内容,只要设备广播的厂商数据中存在
key=368的条目,即可判定为罗氏品牌设备 - 需区分罗氏旗下不同型号的Accu-chek设备:提前收集所有需要支持的Accu-chek型号对应的载荷数组,扫描时将获取到的数组和预设的特征数组做匹配即可完成对应型号筛选
Flutter端落地实现步骤
- 蓝牙扫描过程中,先过滤携带
00001808-0000-1000-8000-00805f9b34fb服务UUID的设备,提前筛除所有非血糖类设备,降低后续判断开销 - 对筛选后的设备,读取其广播的厂商数据,检查是否存在键为
368的字段,存在则加入可展示的Accu-chek设备列表 - 如需做更精准的型号过滤,将
368对应的数组值和提前收集的对应型号载荷做全等匹配,匹配通过后再加入列表
内容的提问来源于stack exchange,提问作者Péter
相关产品推荐
相关产品推荐

