问题标签 [bluetooth-lowenergy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 4.0 中的蓝牙智能 (4.0) / GATT 支持?
我正在尝试寻找使用现代 Android 智能手机的蓝牙 4.0(又名蓝牙智能)设备的方法,即 - HTC One V。
据我了解,由于 API 限制,即使在具有蓝牙 4.0 硬件的 Android 4.0 中使用 GATT 配置文件也存在一些问题。
我看到摩托罗拉为 BT LE 发布了它自己的 API,但不确定它是否适用于其他供应商。我的目标是获得对所有配备适当硬件的智能手机的普遍支持。
任何解决方案的建议都受到高度赞赏。
阿列克谢
PS:是的,我看到了用于 HDP 的 Android API,但它似乎只用于“经典”蓝牙设备(不是低能耗设备,如 BT LE 那样)。
ios - Iphone 4s 蓝牙 LE 应用程序的后台时间问题
我在 Iphone-4s 中为我的应用程序使用核心蓝牙框架。
这通常必须是一个可以运行尽可能长时间的后台应用程序。
现在它只运行 40 分钟 - 最多 1 小时。
我希望至少有 1 天左右。
对于此“蓝牙中心”值,在 .plist 文件的“所需背景模式”键中添加。
最后,我的应用程序似乎将进入“暂停”模式。因为当我再次打开应用程序(后台到前台状态)时,它再次发送通知,这意味着蓝牙连接仍然连接并且 BLE 设备仍在发送通知。如果我按下主页按钮并且应用程序进入后台,它不会再次收到通知。
谁能告诉我为什么我的应用程序最多只能在后台模式下运行 1 小时。它应该像普通的音乐应用程序一样在后台继续运行,就像永远一样。
Apple 是否具体说明了后台应用程序(属于 5 类中连续运行的后台应用程序之一)在哪种情况下会进入挂起模式?
参考“ iPhoneAppProgrammingGuide
”,在“ Communicating with a Bluetooth Accessory
”部分,我知道,对于蓝牙 LE 应用程序 2 实现的长时间运行后台任务是必要的:
Info.plist
1) UIBackgroundModes 键在文件中应该是“bluetooth-central” 。2)任何支持蓝牙数据后台处理的应用程序都必须是基于会话的。
因此,对于我的应用程序,FIRST 实现已被合并,并且该应用程序能够在后台运行并在最长 1 小时的时间内完成所有任务。
现在我需要实施第二次实施。即基于会话。根据文档,即使应用程序处于“暂停”状态,这也将允许获取事件。我试图找到创建特定于蓝牙 LE(核心蓝牙框架)的合适会话,例如EASession
经典蓝牙(外部附件框架)的“”。但我没有找到。
基本上我不确定我需要为 BLE 使用哪个会话类。对于音频/视频、网络和互联网、外部配件,有单独的会话课程可供选择。核心蓝牙框架没有。
任何人都可以帮助我,哪个会话类适合 BLE。
android - 博通 BLE SDK
我正在尝试运行BroadCom BLE SDK中提供的示例。我已通过安装此 SDK 创建了 AVD,但该应用程序未安装在模拟器上。它给出的错误是
安装错误:INSTALL_FAILED_MISSING_SHARED_LIBRARY [2012-04-18 14:17:59 - BleFindMeServer] 请检查 logcat 输出以获取更多详细信息。[2012-04-18 14:17:59 - BleFindMeServer] 发布取消!
任何指向解决此问题的方法?我们是否必须在实际设备上运行此示例?
bluetooth - 哪些范围的蓝牙 UUID 可用于供应商定义的配置文件?
我想使用自定义配置文件构建一个简单的基于蓝牙低功耗的应用程序。采用的配置文件/服务/特性/描述符使用 16 位 UUID,如官方网站上所示。
16 位 UUID 是对应 128 位 UUID 的快捷方式,翻译为
与Bluetooth_Base_UUID
存在00000000-0000-1000-8000-00805F9B34FB
。(来源:蓝牙核心规范第 3 卷第 F 部分第 3.2.1 节)
由于我使用的是自定义配置文件,我想知道我可以使用哪些 UUID。
- 哪个 128 位 UUID 范围可用于描述低功耗蓝牙中供应商定义的属性?
bluetooth - CC2540 USB - 可发现:尚未准备好执行任务
我在外围模式下使用 TI CC2540 USB 加密狗,并希望使用 BTool 启用广告,但设备正在回答:
未准备好执行任务
我知道可以在应用程序代码中设置初始广告启用,但我想手动设置广告,有人可以帮忙吗?这是BTool的日志:
iphone - iPhone 4S - BLE 数据传输速度
我最近一直在修补 BLE(低功耗蓝牙)连接类,但它的数据传输速度不能超过 1KB / 5 秒。我相信,在文档中,它说最大速度是每 20 毫秒 60 字节。通过数据传输和每组数据包后的 Ack 传输计数,我相信我们应该能够达到每秒 1.5KB 的速度。所以我的代码比它应该慢了大约 7-8 倍。
我只是想知道是否有人能够像文档所说的那样快速地在 BLE 中进行数据传输。如果比我的快,你会得到什么样的速度?
非常感谢
ios - 以编程方式从我的 iOS 应用程序中的外部摄像头电路传输图片
我正在从事我的高级工程设计项目,我需要你的帮助!为此,我的 iPhone 应用程序从我构建的外部摄像头电路接收图像。
为了将我的 iPhone 应用程序连接到相机电路,我研究了以下方法:
在摄像头电路上构建蓝牙模块,将图像传输到 iPhone
使用Eye-Fi SD 卡以某种方式将图像传输到我的应用程序!链接:http ://www.eye.fi/products/iphone
构建电路,使用30 针基座连接器与 iPhone 进行有线连接
以下是我面临的每一个问题。我对你们的实际问题以粗体突出显示:
iOS 蓝牙框架(仅限 4S),仅支持低功耗设备。看着像这样的模块,我怀疑它是否适用于图像传输,这对于低功耗蓝牙来说似乎是一项繁重的任务。我知道 cydia 商店中有越狱应用程序,它们会定期进行蓝牙传输,但我无法找到用于此类任务的那些私有 API。(注意:我制作这个应用程序是为了我的目的,所以请随意建议任何私有/非官方 API)。问题#1:如何连接普通蓝牙设备(不是其他 iPhone)并传输数据?
EYE-FI 卡作为消费者听起来很神奇,因为该公司拥有他们专有的 iPhone 应用程序来传输来自 EYE-FI SD 卡的图像。问题是我无法弄清楚如何在我的代码中轻松地与 EYE-Fi 卡进行交互。我研究了 iOS CFNetwork 框架,但没有任何运气。问题#2:如何在我的应用程序中与 EYE-FI 卡交互?
使用此开发板构建电路似乎很简单,但我在某处读到 iPhone 可能无法识别“未注册”配件。我有开发者许可证,但没有 MFi 许可证。问题#3:我是否需要注册为 MFi 开发者才能在我的应用程序中创建和使用这个外部附件用于我自己的目的???
android - android 中的 API 用于 Find me profile 中的蓝牙即时警报服务
我正在为“蓝牙找到我的个人资料”开发一个 android 应用程序。我需要在“蓝牙找到我的个人资料”中获取与即时警报服务相关的所有 android API。在“蓝牙找到我的配置文件”的情况下,服务器会提醒客户端。因此,为了开发配置文件,我需要获取与提醒客户端相关的 API。
ios - 低功耗蓝牙 - 反复更新特征值
我想在短时间内重复写入低功耗蓝牙特性的值(作为一个可能的用例,想象一下鼠标)。
- 128 位 UUID 的特征是20 字节长。因此,它可以写在单个 Low Energy 事务中。
- 写入以 50 Hz 的速率发生,即每 20ms写入一次。
- 因此,写入20 * 50 * 8 = 8 kbit/s 。
- 我正在使用无响应的命令/写入模式来写入特征。因此,属性层上不会发生任何确认。
- 未连接其他蓝牙或蓝牙低功耗设备。没有通过 WLAN 执行任何操作。在测试期间不会读取或写入其他特征。
我通过从 iPhone 4S 发送包含序列号的数据包来测试程序。每发送一个数据包后,序列号就加一。
在接收端,使用包含CSR1000 BLE 芯片的可编程开发板接收数据包并将接收到的序列号打印到串行连接。
我的问题如下:
一段时间后,数据包开始被丢弃。前约 100 个数据包在 50 Hz 下工作正常。从那时起,数据包开始被丢弃。
大多数情况下,一包四个数据包可以很好地传输(很少,只有 2 个数据包)。然后,1-7 个数据包丢失。
当我减小特征值大小时,问题仍然存在。
当我以 100Hz 而不是 50Hz 写入时,情况是一样的 - 只是在大约 35 个数据包之后开始发生丢包,并且在四个数据包的成功传输之间丢弃了 5-7 个数据包。
对于丢失的数据包,无论写入频率如何,最终的传输速率约为 5 kbit/s。这显然低于蓝牙低功耗技术上应该可行的约 305 kbit/s。
当我从开发板向 iPhone 4S 发送数据包时,问题也出现在相反的方向。同样,5 kbit/s 是我得到的最大值。通知机制用于这种情况。同样,属性层上不会发生任何确认。
当我尝试同时向两个方向发送时,事情开始恶化到我必须重置开发板和 iPhone 4S 的地步。
问题:
这可能是开发板上使用的蓝牙低功耗芯片的问题吗?
如果是,为什么问题也会出现在相反的方向,即 iPhone 充当接收器?
市面上有支持高频访问特性的开发板吗?
问题的根源可能是什么?
除了假设之外,还请尝试参考蓝牙规范/演示幻灯片/文章的部分内容。
市场上有蓝牙低功耗鼠标。鼠标的典型轮询速率为 125 Hz,并且必须至少发送两个 16 字节的值以及每个滴答的额外 HID 开销。因此,我的问题的解决方案应该是可用的。
更新
LE 连接完成事件在蓝牙规范版本 4.0 Vol 2 Part E 第 7.7.65.1 节中进行了描述。我收到以下不同连接参数的值:
ios5 - CBCentralManager how to send passkey?
I am new to BLE, and the LE security says it supports passkey Just Works, Out of Band and Passkey Entry. Given scenarios that the devices expects the passkey, then how to pass it through CentralManager while connecting to peripheral?.. Or do we have any alternate way to communicate with Security Manager ? Kindly provide the inputs.