如何解决无法了解低功耗蓝牙的工作原理
我有一个Qt应用程序有问题,该应用程序从BLE设备(例如体重秤)读取数据。我需要该应用才能执行此操作:
- 用户可以转到设置页面并扫描附近的蓝牙设备,
- 过滤搜索结果,因此用户只能选择兼容的特定设备
- 用户可以单击找到的设备,然后将其配对
- 应用程序运行时,它正在侦听设备是否在播发数据,如果正在播发, 连接到它并读取新数据。
我要使用的设备是体重秤型号:UC-352BLE。当您踩它时,它会进行测量,然后在大约一分钟的时间内发布新数据(显示屏上有一个蓝牙图标指示)。据到目前为止,我对低功耗蓝牙的工作原理了解到,当秤正在发布数据时,我必须与之建立连接。我必须连接,然后读取其所有服务,特征和描述符。如果我想自动接收有关新数据的通知,则必须将“客户端特征配置”描述符设置为1。在首次连接时可以使用,但是在读取测量值后,秤会与应用程序断开连接。在QLowEnergyController类的Qt文档中,写道,每次连接断开,所有找到的服务,特征和描述符都将失效。 因此,现在该应用程序仍在运行,如果秤再次进行测量并发布广告,我必须再次与它重新连接,并再次读取所有服务,特性等。这是正确的吗?
处理此问题的最佳方法是什么?设置计时器,比方说,尝试每30秒重新连接到设备一次(这样一来,设备投放广告时,它就不会错过1分钟的时间)。我会错过什么吗,还有更优雅的方式来实现我想要的吗?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。