BLE挑战响应智能手机认证

时间:2016-11-19 16:59:37

标签: android ios bluetooth-lowenergy

我想构建一个简单的质询响应协议,以便使用BLE通过智能手机(Android和iOS)向Arduino用户进行身份验证。我在查看如何用BLE实现这个问题时遇到了问题。我想做什么:

  1. Arduino发送/广播挑战
  2. 智能手机接收挑战并计算响应
  3. Smarpthone向Arduino发送回复
  4. 我想实现这个的方法是让Arduino(外围设备和服务器)在按下按钮时开始做广告。理想情况下,当某个服务出现时,智能手机(中央和客户端)会触发事件。然后智能手机连接到Arduino,读取挑战特征并将响应写入其中。这是一个好方法吗?

    虽然BLE服务出现时无法触发事件,但我仍然需要使用非常耗电的智能手机进行扫描。不知道怎么解决这个问题?地理围栏实际上不是一个选择,因为它可以在里面。也许检测用户是走路,骑自行车,站着不动?任何建议都非常感谢=)。

1 个答案:

答案 0 :(得分:0)

在iOS上,BLE连接如下所示:

  • 初始化CBluetoothManager,
  • 开始通过蓝牙发现设备。
  • 当找到您感兴趣的特定外围设备时,通过核心管理器连接到它并将此外围变量存储在您的类中,
  • 然后..你应该停止发现,因为它对电池来说很糟糕;)(如你所说),
  • 找到设备后,您可以搜索 服务 特征 ,最后通过 describeors < - 在此订单中,否则你将无法获得任何这些,

ofc,从现在开始,您可以将这些变量存储在您的班级中,并按照您的意愿使用它们。 iOS上的BLE基于代表和它自己的生命周期,每当有东西要读取时,事件都会触发。当你想要将一些msg发送回Arduino时,它应该不是问题。在关于

的问题的部分答案中
  

'当某个服务出现时。然后smarphone连接到   Arduino的'。

您必须在上面做出步骤才能阅读服务。希望有所帮助。