2015-08-31 80 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

將多個服務的特徵分解的唯一好處是獲得邏輯分組。