'Activate' 蓝牙 LE 能量数据流

'Activate' Bluetooth LE Energy Data stream

对于一个学生项目,我们正在努力将蓝牙 LE 设备(既可以传输也可以接收)连接到 iPhone 或 iPad 以便从中读取数据以显示用户实时。我们已经证明制造该设备的公司可以做到这一点,我们实际上已经设法建立连接并获取一些数据。但是它每 5-10 秒发出一次 ping 信号,并且似乎是一个随机的数字子集,变化很小在对设备进行一些更改后,我们 none 变得更聪明了。

现在,当然,我们先去了制造设备和应用程序的公司,我们确实获得了使用他们硬件的批准,但还没有获得 SDK / API从他们那里与应用程序一起使用。所以,我们的计划是通过自己的方式找到我们需要的东西。

这就是我们陷入困境的地方。我们有以下内容:

这是我们所获得的价值的示例。

Service: 0x1c0476440, is Primary = yes. UUID: 058d0001-ca72-4c8b-8084-25e049936b31
value <53636da1 7a616c74 73616c74 73616c74 73616c27>

现在,看看这一切,我假设这里的服务是某种 'staying alive' ping,它提供有关设备当前状态的一些辅助信息。

我们的问题归结为:

我们如何进一步 'explore' 设备?除此之外,我们似乎没有得到任何额外的输出,但是在 windows 的设备管理器中,我们得到了一些看起来像这样的点击(示例):

 {058d0001-ca72-4c8b-8084-25e049936b31}[6]

其中的值是十六进制值、布尔值或日期时间,没有明确的标识符。有没有办法让我们向设备发送消息以使用 Swift 更改该 uuid 中的值,或者这是不可能的?

虽然现在已经解决了,但我不接受这个作为答案。我的解决方案?尝试一些事情。愚蠢的 'Needle in a haybale' 东西。

我将 uuid 从 058d0001-ca72-4c8b-8084-25e049936b31 更改为 058d0002-ca72-4c8b-8084-25e049936b31

瞧。我可以做更多。我试了 3 次,又一次,一个新的结果和一个有效的数据流...

@Paulw11 的评论也是解决我们发现的这个问题的好方法。