问题标签 [btle]

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.

0 投票
1 回答
143 浏览

ios - iOS 仅将一项服务宣传为外围 BTLE

尽管我指定了两个服务 UUID 和服务,IOS 只宣传一项服务,但我没有收到任何错误,并且添加服务错误函数被调用了两次,两次都没有错误,这是我的代码

其余代码运行良好,在我放在那里的示例中,它将宣传两个服务中的第一个,顺序无关紧要,第一个总是宣传第二个不,所以 UUID 是有效的服务它不会同时宣传它们,我确信它很简单,但我被卡住了。

谢谢

0 投票
1 回答
29 浏览

ios - 相同的信标如何具有唯一的 BTLE 地址?

如果一个 IOS 设备的范围内有多个相同的 BTLE 信标,如果不对每个信标使用唯一的 MAC 进行编程,如何区分它们?

0 投票
1 回答
826 浏览

ios - 蓝牙应用程序无法正常工作

我创建了一个应用程序,允许人们通过蓝牙在 iOS 设备上玩跳棋游戏。每个用户轮流担任外围和中心。

我一切正常,除非玩家思考时间过长(超过 20 秒)连接丢失。我已经阅读了一些关于安全管理器协议的内容,如果它没有找到应该存储的存储的长期密钥,它会在 20 秒后断开连接。我已阅读我必须在我的代码中包含以下部分代码才能禁用此功能。

我如何获得长期密钥来存储它们,或者我需要使用上述代码的哪一部分以及将它放在哪里。我似乎已经在我的代码中找不到类似的东西了。

以下是我的代码。对不起,它太长了,但是。

//chessRecieveUUID 由用户名创建

0 投票
1 回答
199 浏览

ios - Xamarin-IOS BTLE WroteCharacteristicValue not fired

I have the following code for my IOS implementation, the problem is that the WroteCharacteristicValue event is never fired. Is is being fired on the android side when I connect to the same module. Any ideas what to do?

0 投票
0 回答
69 浏览

macos - osx 10.11.5 - 广告数据中缺少 BTLE 制造商数据?

似乎将 OSX 升级到 10.11.5 可能会导致 AdvertisementData 的 ManufacturerData 字段在报告到时丢失centralManager: didDiscoverPeripheral: advertisementData: RSSI:

如果设备在扫描时打开,它往往会存在,但如果设备在扫描开始时已经在广告,则不太可能存在。

编辑,更多细节:

我在 CBCentralManagerDelegate 回调中看到的是,如果应用程序在外围设备已打开(因此广告)一段时间后启动centralManager: didDiscoverPeripheral: etc,则传递给该方法的字典总是缺少密钥。kCBAdvDataManufacturerData如果在应用程序启动打开外围设备,则该键偶尔会出现大约 1/3 的时间,持续大约 30 秒,然后永远消失。(永远 = 至少 6 分钟)

有任何想法吗 ?

0 投票
1 回答
119 浏览

android - 跨设备的 eddystone 定位的预期精度是多少?

我们考虑使用 Google eddystone 技术进行室内定位。由于我们在其他信标技术方面的经验,我们担心不同设备的影响。造成差异的主要原因可能是设备上 bt 芯片(及其天线)的位置、bt 芯片本身和驱动程序。我们是否应该期望 eddystone 也有这种差异?还是谷歌能够提供更一致的准确性?(当然,Android 人无法绕过所有限制。)

0 投票
1 回答
11855 浏览

bluetooth - GATT profile and UART service

I am new to developing a mobile app with bluetooth connection to peripheral device. I searched that GATT is the relevant profile used for bluetoothLE communication but our client recommended that we use UART service. Now I am confused as to 1. how these two things are related and 2. Do we have to opt for one of these, if so, what are the pros and cons of each. Thanks

0 投票
1 回答
295 浏览

ios - 是否可以将蓝牙低功耗 OBDII 设备连接到 iOS?

我想开发一个应用程序,允许我将蓝牙 4.0 OBDII 连接到 iPhone 并从中读取汽车数据。从我目前阅读的内容来看,它不受支持,但这里这里的 OBDII 适配器都支持 iOS。这怎么可能?

0 投票
4 回答
2298 浏览

java - Android:低功耗蓝牙扫描仪接收空数据

这是广告客户(作为类型data传递的通知)AdvertiseData

它成功启动。

这是扫描仪

在回调中onScarnResult,我记录toString()了产生此输出的扫描记录

uuid 匹配,不幸的是结果

null。我注意到toString输出具有广告数据字符“123456”的 ASCII 码,即 49、50、51、52、53、54

我想收到正确的广告数据,我做错了吗?

编辑:清单具有蓝牙、bt 管理员和位置的权限。第三个在 Android 6 运行时启动请求

编辑:通过打印整个 scanRecord 你得到这个输出

ScanRecord [mAdvertiseFlags=-1, mServiceUuids=[cf2c82b6-6a06-403d-b7e6-13934e602664], mManufacturerSpecificData={}, mServiceData={000082b6-0000-1000-8000-00805f9b34fb=[49, 53,5,51, 52, 51 54]},mTxPowerLevel=-2147483648,mDeviceName=null]

基本上你不能使用广告商决定的 uuid,它在 mServiceUuids 数组中,因为与 mServiceData 关联的键是另一个。所以我以这种方式更改了代码,以导航数据映射并获取值(请参阅两个 if 块)

事实上,线

返回 false,因为数据映射未使用广告商的 uuid。

我必须导航地图才能找到值(第二个 if 块),但我没有任何方法知道这是否是我感兴趣的值。无论哪种方式,如果系统输入,我都无法获得该值在接收器应用程序上运行扫描仪代码时我不知道的另一个键。

我该如何处理接收器上的这个问题?我想使用数据字段,但是获取它们的字符串键是先验未知的,并且由系统决定。

0 投票
1 回答
946 浏览

bluetooth - 在单个 BTLE 系统上支持多个蓝牙配置文件

我正在开发一个可以插入许多不同传感器的健康系统,但在给定时间可能没有连接所有或任何受支持的设备。理想情况下,系统可以通过 BTLE 宣传每个关联的配置文件,但我对此解决方案有一些问题,我似乎无法找到可靠的答案。

1) 单个系统能否支持多个 BTLE Profiles?

2)为了支持profile,如果profile需要支持的服务和特性得到支持就够了吗?每个配置文件都概述了一些特定的连接间隔,我不确定这是要求还是建议的实现。

3) 当工具连接到基本系统时,是否可以在运行时修改启用的配置文件,如果可以,它会对当前连接或配对的设备有任何影响吗?