我是开发iOS设备的新手。我是苹果的长期用户,今年春天将完成我的电气工程学士学位。我目前正在开设一个设计类项目,并对蓝牙低功耗及其在iOS(5和6)中的实现方式提出了一些问题。
首先介绍一下这个项目的背景知识。我们正在为建筑物设计占用检测系统。计划是将BLE模块连接到整个建筑物的沃尔沃特。这些设备将与用户智能手机通信并向后端系统提供位置信息。我们希望这个系统只需要很少的用户交互。基本上他们会下载应用程序,启用BLE,然后忘记应用程序。至少在开始时。我们计划稍后为该应用添加更多功能。
我做了一些研究,听起来所有BLE控制都将通过应用程序完成。我计划建立TI's demo app。
我的第一个问题是关于背景如何与BLE一起使用。据我所知,有两种不同的背景方法,here解释。听起来我们想要使用会话后台,尽可能地减少用户交互。但我的问题是背景是否会无限期地启用?
背景问题
我的下一类问题涉及中心和外围角色。我们的主要目标是限制智能手机的耗电量,以便用户不会想要禁用蓝牙。我相信这应该可以使用任何一种模式。
中央或外围
答案 0 :(得分:2)
我无法回答问题的第一部分。
但是,中央还是外围?
BLE属性协议(ATT)和通用属性配置文件(GATT)被设计为不对称的,以便外围设备可以尽可能地低资源,例如,在处理和记忆方面。从字面上看,Peripheral只是一个查找属性值的句柄表,带有一些额外的编码,可以在大多数情况下将硬件值绑定到正确的内存地址。
中央设备连接到外围设备时,需要询问它的ATT数据库并确定哪些句柄与它可能感兴趣的属性相关。这需要处理能力和动态内存 - 比外围设备要多得多设备有。
因此,iPhone应该是中央设备。
不说,如果用例需要它,它也不能是外围设备。