1

我是为 iOS 设备开发的新手。我是苹果的长期用户,今年春​​天将完成我的电气工程学士学位。我目前正在为一个设计课程做一个项目,并且对蓝牙低功耗以及它如何在 iOS(5 和 6)中实现有一些疑问。

首先介绍一下这个项目的背景。我们正在为建筑物设计一个占用检测系统。该计划是将 BLE 模块连接到整个建筑物的 walwarts。这些设备将与用户的智能手机通信并向后端系统提供位置信息。我们希望这个系统需要很少的用户交互。本质上,他们会下载应用程序,启用 BLE,然后忘记应用程序。至少一开始是这样。我们计划稍后在应用程序中添加更多功能。

我做了一些研究,听起来所有的 BLE 控制都将通过应用程序完成。我计划构建TI 的演示应用程序

我的第一个问题是关于后台如何与 BLE 一起工作。我知道有两种不同的背景设置方法,在此处进行了说明。听起来我们想要使用会话后台,以尽可能减少用户交互。但我的问题是后台是否无限期保持启用?

背景问题

  1. 事件或会话背景?
  2. 后台是否无限期保持启用?
  3. 手机重置后会发生什么?或者如果完成了恢复(假设用户备份了他们的应用程序)?
  4. 其他应用程序可以禁用 BLE 功能吗?

我的下一类问题涉及中心和外围角色。我们的主要目标是限制智能手机的电源使用,这样用户就不会想禁用蓝牙。我相信这在任何一种模式下都应该是可能的。

中央或外围

  • 您认为将 iOS 设备合二为一有什么好处吗?
  • 让 iPhone 定期发送广告或 BLE 壁疣设备会更好吗?
4

1 回答 1

2

我无法回答问题的第一部分。

但是,中央还是外围?

BLE 属性协议 (ATT) 和通用属性配置文件 (GATT) 被设计为不对称的,因此外围设备可以尽可能少地占用资源,例如在处理和内存方面。从字面上看,Peripheral 只是一个用于属性值的句柄查找表,在大多数情况下,通过一些额外的编码将硬件值放入正确的内存地址。

中央设备连接到外围设备时,需要查询其 ATT 数据库并确定哪些句柄与它可能感兴趣的属性相关。这需要处理能力和动态内存 - 比外围设备拥有的要多得多。

因此,iPhone 应该是 Central 设备。

不是说,如果用例需要它,它也不能是外围设备。

于 2012-10-17T09:20:56.680 回答