1

设备 1:Nexus 4 Android 4.3 BLE Central(按原样使用 API 18 SDK 中的 BluetoothLeGatt 示例应用程序)
设备 2:具有工作 BT4.0 USB 加密狗的 Raspberry Pi,Raspbian Whezzy 20130726。从源代码编译 Bluez 5.8。(因为打包的版本是 4.99尚未正式支持 BLE)
作为外围设备,我使用“-p alert”(GATT 警报配置文件)启动蓝牙。

测试1:使用两个raspi(上面的设备2)我可以使用gattool连接和浏览其他设备上的警报gatt服务/特征。
测试 2:使用 iPhone/iPad(免费 BLE 应用程序:LightBlue)作为 Central 我还可以连接和浏览 Raspi 上的警报 gatt 服务和特征值。

测试3:使用 Nexus 4 示例应用程序(不稳定)连接时,它要求两台设备上的授权。即使我可以摆脱授权,hcidump 看起来他们正在交换 SDP 信息,服务列表仍然没有出现在 Android 示例应用程序上。
测试 4:Nexus 4 示例应用可以连接和浏览 Fitbit One 和 Wahoo HRM 上的服务。

使用 hcidump(在 raspi 上),我可以看到不同的连接启动:

测试1/2:

>HCI 事件:LE 元事件 (0x3e) plen 19
   LE 连接完成
      状态 0x00 句柄 44,角色从机
      bdaddr ...(公共)

测试3:

>HCI 事件:连接请求 (0x04) plen 10
   bdaddr ... 类 0x5a020c 类型 ACL

(是蓝牙经典连接吗?)

问题:有什么方法可以让 Android BLE 连接在 Raspi 上创建 HCI 事件:LE 元事件?

4

0 回答 0