无法了解低功耗蓝牙的工作原理

问题描述

我有一个Qt应用程序有问题,该应用程序从BLE设备(例如体重秤)读取数据。我需要该应用才能执行此操作:

  • 用户可以转到设置页面并扫描附近的蓝牙设备,
  • 过滤搜索结果,因此用户只能选择兼容的特定设备
  • 用户可以单击找到的设备,然后将其配对
  • 应用程序运行时,它正在侦听设备是否在播发数据,如果正在播发, 连接到它并读取新数据。

我要使用的设备是体重秤型号:UC-352BLE。当您踩它时,它会进行测量,然后在大约一分钟的时间内发布新数据(显示屏上有一个蓝牙图标指示)。据到目前为止,我对低功耗蓝牙的工作原理了解到,当秤正在发布数据时,我必须与之建立连接。我必须连接,然后读取其所有服务,特征和描述符。如果我想自动接收有关新数据的通知,则必须将“客户端特征配置”描述符设置为1。在首次连接时可以使用,但是在读取测量值后,秤会与应用程序断开连接。在QLowEnergyController类的Qt文档中,写道,每次连接断开,所有找到的服务,特征和描述符都将失效。 因此,现在该应用程序仍在运行,如果秤再次进行测量并发布广告,我必须再次与它重新连接,并再次读取所有服务,特性等。这是正确的吗?

处理此问题的最佳方法是什么?设置计时器,比方说,尝试每30秒重新连接到设备一次(这样一来,设备投放广告时,它就不会错过1分钟的时间)。我会错过什么吗,还有更优雅的方式来实现我想要的吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...