蓝牙BLE与智能手机结合使用的可靠性如何?

时间:2016-05-02 13:25:53

标签: authentication connection bluetooth-lowenergy smartphone

我们正在开发一个可以用智能手机打开门的系统。选择的技术是蓝牙BLE。有一个应用程序需要在后台激活,以提供此“处理密钥系统”。此应用程序识别并自动连接门以打开它。

我们在3种不同的iphone型号和几款不同的Android手机上都有工作演示。这些系统的确切细节对我的问题并不重要。

对于我们的项目,我们正在与一些投资者交谈,他们认为这个想法很棒,但蓝牙技术不够可靠。不要说什么点不够可靠。

我们需要证明蓝牙在这种情况下是可靠的,因此我们正在寻找蓝牙在运输或卫生部门等危急情况下使用的一些最佳实践。一些教授或大学的“官方”论文也受到欢迎!

我们也在寻找可以与智能手机“无手”打开锁或其他东西的可比情况的例子。 我们在哪里可以找到这些信息,公司,论文等?在一行中:我们如何证明蓝牙对于我们的目的是稳定可靠的(使用自动连接到某些设备进行身份验证的智能手机)

我希望有人可以帮助我们,我们的项目将被取消!

1 个答案:

答案 0 :(得分:1)

BLE技术本身在可靠性方面没有任何问题。相反,硬件和软件实现将定义解决方案的可靠性。

在与BLE合作多年后,我可以看出大多数外围SoC解决方案非常可靠。如果由于某种原因它们崩溃,固件通常会重新启动并恢复。

如果某些东西不可靠,那么Android和iOS通常会受到指责。在这些操作系统上运行的蓝牙堆栈经常崩溃或行为不端,很难从中恢复。

对于Android,有时蓝牙崩溃,当你尝试再次打开它时,它就会回到关闭状态。要恢复,您必须重新启动手机。但是,我必须说,如果您设法启动连接并且没有收到任何错误,它通常会继续正常运行。为了避免Android系统在后台使用前台服务而终止您的应用。在某些手机上,如华为,用户还必须明确标记应用程序,以便在后台运行时不被系统杀死。对于Android,也有许多手机有不同的蓝牙控制器,有些手机有其他控制器没有的bug。例如,我曾经接到索尼Xperia Z3手机,当LE扫描(并行运行)被取消时蓝牙控制器取消了挂起的连接,但根据HCI日志,待处理的连接仍在进行中。外围设备是广告,但从未连接到手机。一旦挂起的连接被明确取消并重新启动,它就会立即连接。

如果您希望BLE在后台运行,iOS比Android更成问题。 iOS会在后台停留一段时间后终止您的应用。为了解决这个问题,他们有一些叫做“国家保护”的东西。这是他们的解决方案,唤醒应用程序在传入的蓝牙事件,如外围设备连接或发送通知。但是,有许多错误和设计决定会导致您的应用程序无法被唤醒。例如,请参阅https://forums.developer.apple.com/message/65953。如果您的应用程序已被终止且用户关闭然后打开蓝牙(或系统由于内部错误而重新启动蓝牙),则您的应用程序将不会在传入的蓝牙事件中被唤醒。此外,如果蓝牙堆栈中出现错误(经常发生),您的应用程序将不会被唤醒,并且一旦用户手动打开它,所有事件都会转到您的应用程序。