我设置BLE从站/外设的配置,它有两个控制变量,每个控制变量必须可以从主站读/写,但每个控制变量也可以通过从站上的按钮进行修改。我想为Slave提供一种机制,让Master知道控制变量是否通过按钮在Slave上本地更改。它预计奴隶会经常超出师父的范围,所以真的有两个相关的要求。一个是Slave在本地更改控制变量时通知Master,另一个是Master需要在自动重新建立连接时了解控制变量的当前状态。当有连接时,我不希望Master需要轮询Slave,因为我试图最小化Slave的功耗,这种变化通常很少见。我应该设置"通知"包含两个变量的自定义配置文件的特征中的选项,或者设置完成通知的单独服务(或其他)。如果Master在收到通知已发生更改时必须读取配置文件/特性,则可以。我认为还需要某种方式,奴隶可以告诉主人已收到通知,以便它可以在下次机会重试。我刚刚学习了BLE,似乎有很多方法可以解决各种选择及其优缺点。
答案 0 :(得分:0)
只需在特征上设置通知属性即可。当有新值可用时,发送包含新值的通知。
To" sync"重新连接时的值,让主人读取特征。您也可以发送通知。
如果你想节省外围设备的电源,我可以推荐" slave latency"如果你还想要低延迟。