2017-05-25 22 views
-1

我正在設置一個BLE Slave/peripheral的配置,它有兩個控制變量,每個變量必須可以從主控制器讀/寫,但每個控制變量也可以通過從控器上的按鈕進行修改。我想包含一個從機的機制,讓主人知道控制變量是否通過按鈕在從機上本地更改。預計奴隸會經常不在主人的範圍內,所以確實有兩個相關的要求。一種是,當控制變量在本地發生變化時,從機通知主機,另一種情況是主機需要了解自動重新建立連接時控制變量的當前狀態。我不希望Master在連接時需要輪詢Slave,因爲我試圖將Slave的功耗降到最低,並且這種更改通常非常少見。我應該在包含兩個變量的自定義配置文件的特徵中設置「通知」選項,還是設置一個單獨的服務(或其他)來完成通知。如果主人在收到通知發生更改時必須讀取配置文件/特性,那麼也可以。我認爲還需要某種方式,奴隸可以告訴大師已收到通知,以便它可以在下次機會時重試。我剛剛瞭解BLE,似乎有很多方法可以做事,我還沒有找到任何可以解釋各種選項及其優點/缺點的良好參考。有什麼方法讓BLE從設備在發生事件時通知主設備?

回答

0

只需在特徵上設置通知屬性即可。當有新值可用時,發送一個包含新值的通知。

要重新連接時「同步」數值,只需讓主人讀取特徵。您也可以發送通知。

如果你想節省外設的電源,我可以推薦「從屬延遲」,如果你仍然想要低延遲。