多个或单个BLE服务

时间:2015-08-31 20:58:52

标签: bluetooth-lowenergy bluetooth-peripheral

具有多个BLE services的价值是多少?只是将所有characteristics投入到一个服务中?

我从我们自己制作的(外围)设备构建BLE接口。我正在使用STMicro BlueNRG-ms芯片。我的第一个原型使用了9 characteristics,很好地组织了4 services。现在编写应用程序方面,我发现单独的服务只是创建了我必须映射的更多UUID,并且似乎并没有真正添加任何值。 9个特征都是独一无二的,因此我不会从单独的服务中获得任何真正需要的命名空间。

2 个答案:

答案 0 :(得分:2)

您通常会将一项服务用于一组相关特征。

Bluetooth SIG为常见场景定义number of service specifications,外围设备通常会使用其中的一个或多个以及可能自己的私有'服务。

说我为参加狂欢的人提供了一个特殊的外围设备。它有一个心率监测器和温度监测器来跟踪健康状况和一组彩色LED,以制作有趣的图案。它可以实现

使用标准服务意味着其他应用可以访问我的外围设备的此功能。私人服务通常用于没有标准服务的地方(虽然我可以创建一个封闭的外围设备,并为其他功能使用私有服务)。

现在,让我说我创建了一个有噪音制造者的版本2。而不是改变我原来的私人服务,我可以添加另一个具有噪音制造者特征的私人服务。这样我就不需要更改原始代码,并且可以使其更加模块化。我还可以在我的代码中告诉我是否只是通过发现的服务来获得v1或v2。

最后,您提供的服务和您宣传的服务可能会有所不同。通常你会宣传''主要' service(这将是我在示例中的私有服务),以便您可以轻松发现正确类型的外围设备。一旦连接到外围设备,您就可以发现它提供的其他服务(电池,心率等)

答案 1 :(得分:2)

将多个服务的特征分解的唯一优势是获得逻辑分组。