2015-08-31 83 views
1

如果有多个BLE services?与所有的characteristics只投入一个服务?多个或单一BLE服务

我正在从我们自己制造的(外围)设备上构建一个BLE接口。我正在使用STMicro BlueNRG-ms芯片。我的第一个原型已采用9 characteristics,很好地组织在4 services。现在编写应用程序的一面,我发现单独的服务只是创建了更多的我必须映射的东西,而实际上并没有增加任何价值。这9个特征都是独一无二的,所以我没有从单独的服务中得到任何真正需要的命名空间。

回答

2

您通常会为一组相关特性使用单个服务。

对于常见情况,Bluetooth SIG定义了一个number of service specifications,外围设备通常会使用其中一个或多个以及可能它自己的“专用”服务。假设我有一个特殊的外围设备供参加狂欢的人参加。它有一个心率监测器和温度监测器来跟踪健康状况和一组彩色LED,用来制作有趣的模式。它可以实现

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

现在,让我说我创建了第2版,它也有噪音制造者。与其改变我原来的私人服务,我可以为噪音制造商添加另一项具有特色的私人服务。这样我不需要改变我的原始代码,并且可以保持它更加模块化。我还可以在我的代码中告诉我,只有通过发现的服务才能获得v1或v2。

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

2

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