0

我想尽量减少用户参与使用 SPP 医疗设备的需要。用户只需配对设备,然后在设备可连接时自动进行连接。HDP 经典设备是这样的,BTLE 设备也是如此(后者在 Android 上工作)。

所以显而易见的解决方案是在配对之后,创建 RFCOMM 套接字并调用 connect() 方法(也许还有处理各种错误的所有变通方法)。

但是,根据文档,这种阻塞方法会在 12 秒左右后超时,所以如果我真的想在设备“上线”时持续为设备做好准备,我需要在 while 循环中执行此操作,直到连接成功。

所以问题是如果我这样做,设备的这种持续“ping”是否会使系统过载并耗尽电池?鉴于 Android 上的 HDP 实现会发生类似的事情,他们也必须做类似的事情,但也许他们会降低 ping 的频率,因此它对资源的要求不高。

有没有人尝试对 SPP 设备进行持续监控的经验?谢谢!

4

1 回答 1

0

我已经为工业设备使用了蓝牙 SPP 连接并且遇到了类似的问题。让服务一直尝试连接似乎不是一个好主意,因为它需要始终在后台运行并消耗更多电池。

如果可能的话,我的解决方案是让 SPP 医疗设备在连接到配对设备(您的 android)后请求连接,或者当您尝试连接到医疗设备时,自动执行连接过程,这大约需要 1-2 秒(如果您可以通过设备的 MAC 地址(最好)或应用程序中的名称过滤设备)

根据您的医疗设备中的蓝牙芯片,您应该有大量的连接选项,但如果没有,您可以尝试按需连接。

于 2017-03-31T11:27:10.940 回答