iOS上的蓝牙LE无法支持许多服务和特性



我开发了一个BLE应用程序,在我的iPhone应用程序中使用Core Bluetooth。我的iPhone与linux通信与bleno启动。问题是,它不能与多个特性或服务一起工作,尽管只有一个特性工作得很好。以下是我的iOS代码和Node.js代码:

http://pastebin.com/k5pUrbLthttp://pastebin.com/biCWLmJ3

谢谢!

注:这是我在控制台得到的:


2014-07-24 13:18:02.819 lexy[142:60b] didDiscoverPeripheral
2014-07-24 13:18:04.503 lex [142:60b] didDiscoverServices
2014-07-24 13:18:04.506 lex [142:60b] D61191C0-FCE8-4F5A-912C-15EE39D927B4

。我成功地发现并连接了外设,但是我没有找到任何特性。在这种情况下,我有一个具有许多特点的服务。

iOS可以在远程设备上使用多个特性和多个服务。

你的ObjC代码看起来不错(1个服务2个特征)。

控制台输出建议您发送一个discoverCharacteristics请求,但是它挂起并且永远不会返回。你可以在didDisconnectPeripheral委托方法中添加日志记录,以查看是否有断开连接发生。

您还可以做的是查看蓝牙堆栈的日志,并将它们与访问TI传感器标签(这些标签是BLE的hello world)时的日志进行比较。

iOS 7.1关于蓝牙日志的说明在这里,对于iOS 8,你将不得不求助于苹果的官方方式来获取日志(安装配置文件),但是他们的日志包含的信息比BluetoothCompanion的少。

显然,它可以在Ubuntu 14.04上工作,但不能在OpenSuse 13.1上工作。

最新更新