'Activate' 蓝牙 LE 能量数据流
'Activate' Bluetooth LE Energy Data stream
对于一个学生项目,我们正在努力将蓝牙 LE 设备(既可以传输也可以接收)连接到 iPhone 或 iPad 以便从中读取数据以显示用户实时。我们已经证明制造该设备的公司可以做到这一点,我们实际上已经设法建立连接并获取一些数据。但是它每 5-10 秒发出一次 ping 信号,并且似乎是一个随机的数字子集,变化很小在对设备进行一些更改后,我们 none 变得更聪明了。
现在,当然,我们先去了制造设备和应用程序的公司,我们确实获得了使用他们硬件的批准,但还没有获得 SDK / API从他们那里与应用程序一起使用。所以,我们的计划是通过自己的方式找到我们需要的东西。
这就是我们陷入困境的地方。我们有以下内容:
- 基于名称或蓝牙设备地址的连接
- 扫描服务(如果服务中包含 CoreBluetooth 文档中指定的服务,则进行级联扫描)
- 从上述服务中读取特征。
- 将值解密为 8 位 UInt,以便我们获得一些实际可读数据。
这是我们所获得的价值的示例。
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 的评论也是解决我们发现的这个问题的好方法。
对于一个学生项目,我们正在努力将蓝牙 LE 设备(既可以传输也可以接收)连接到 iPhone 或 iPad 以便从中读取数据以显示用户实时。我们已经证明制造该设备的公司可以做到这一点,我们实际上已经设法建立连接并获取一些数据。但是它每 5-10 秒发出一次 ping 信号,并且似乎是一个随机的数字子集,变化很小在对设备进行一些更改后,我们 none 变得更聪明了。
现在,当然,我们先去了制造设备和应用程序的公司,我们确实获得了使用他们硬件的批准,但还没有获得 SDK / API从他们那里与应用程序一起使用。所以,我们的计划是通过自己的方式找到我们需要的东西。
这就是我们陷入困境的地方。我们有以下内容:
- 基于名称或蓝牙设备地址的连接
- 扫描服务(如果服务中包含 CoreBluetooth 文档中指定的服务,则进行级联扫描)
- 从上述服务中读取特征。
- 将值解密为 8 位 UInt,以便我们获得一些实际可读数据。
这是我们所获得的价值的示例。
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 的评论也是解决我们发现的这个问题的好方法。