我是为iOS设备开发的新手。我是苹果的长期用户,今年Spring将完成我的电气工程学士学位。我目前正在为一个设计课程做一个项目,对蓝牙低能耗以及如何在iOS(5和6)中实现它有一些疑问。
首先介绍一下这个项目的背景。我们正在为一座建筑物设计一个占用检测系统。该计划是在整个建筑中,将BLE模块连接到沃尔沃茨。这些设备将与用户的智能手机通信,并向后端系统提供位置信息。我们希望这个系统只需要很少的用户交互。基本上,他们会下载应用程序,启用BLE,然后忘记应用程序。至少一开始是这样。我们计划稍后在应用程序中添加更多功能。
我做了一些研究,听起来所有的BLE控制都将通过一个应用程序来完成。我计划开发TI的演示应用程序。
我的第一个问题是关于背景如何与BLE工作。我知道有两种不同的背景方法,这里解释一下。听起来我们想要使用会话背景,以尽可能减少用户交互。但我的问题是背景是否会无限期启用?
背景问题
我的下一类问题涉及中心和外围角色。我们的主要目标是限制智能手机的功耗,这样用户就不会被诱惑去禁用蓝牙。我相信这两种模式都可以实现。
中央或外围
我不能回答问题的第一部分。
然而,中央还是外围?
BLE属性协议(ATT)和通用属性配置文件(GATT)被设计为非对称的,以便外围设备可以尽可能低的资源,例如在处理和内存方面。从字面上看,外设只是一个属性值的句柄的搜寻列表,大多数时候,它会通过一些额外的编码将硬件值插入正确的内存地址。
当中央设备连接到外围设备时,它需要询问它的ATT数据库,并找出哪些句柄与它可能感兴趣的属性相关。这需要处理能力和动态内存——比外围设备多得多。
因此,iPhone应该是中心设备。
不用说,如果用例需要,它也不能是外围设备。
我想知道是否有可能修改BLE信标的内容以包含额外信息。如果在末尾插入一个额外的位,则可能在一个方向上广播布尔值。从理论上讲,如果你修改了你的设备来读取额外的信息,这就行了。考虑到现有的协议,这听起来需要做很多工作。外面已经有这样的东西了吗? 对于信息,我正在mbed平台上工作,在那里你可以修改你自己的蓝牙信标有效载荷。
我的应用程序无法检测外设。我用浅蓝色来模拟蓝牙低能量外设,我的应用程序就是感觉不到。我甚至在两台设备上安装了浅蓝色,以确保它能正确地生成外围信号,并且是正确的。有什么建议吗?我的标签正在更新,NSLog显示扫描正在开始。 提前谢谢。
我正在调查与GATT相关的蓝牙低能量(BLE)中可用的安全类型。更具体地说,当使用指定了不同安全级别(低、中、高)的gatttool时,会执行什么类型的操作?我的理解是,BLE中的安全管理器支持4种不同的安全属性: 没有配对 与不支持中间人(MitM)保护(JustWorks)的关联模型配对 与MitM保护配对(密码输入、数字比较、OOB) LE安全连接配对。 这些安全属性是否与gatttools
我正在寻找一个唯一的id,可从iOS访问蓝牙低能耗设备。我有10台设备,我把它放在了10个不同的地方。我需要确切地知道我正在与哪个设备通信,而不管我正在使用哪个iOS设备连接。 在iOS核心蓝牙中,iOS为我的设备分配了一个新的UUID。我无法唯一识别设备。
最近,我买了一台iBeacon设备,打算创建Android应用程序,以便识别和使用它。我是一个在Android应用程序中使用蓝牙的新手,有很多事情我还不知道。在互联网和本论坛中,我找到了使用Radius Networks的Android IBeacon库的建议,但是,唉,现在它不再可用了: https://github.com/RadiusNetworks/android-ibeacon-serv
有人知道如何添加蓝牙低能耗作为设备要求,只允许iOS应用程序在蓝牙LE设备上可用吗?谢啦