心跳
心跳功能提供了监测 Bluetooth Mesh 节点和确定节点之间距离的功能。
心跳功能通过 配置服务器 模式
心跳信号消息
心跳消息作为传输控制数据包通过网络发送,并且仅使用网络密钥加密。 心跳消息包含用于发送消息的原始生存时间(TTL)值和节点上活动功能的位字段。 通过这种方式,接收节点可以确定消息必须经过多少个中继才能到达接收器,以及节点支持哪些功能。
可用的心跳信号功能标志:
心跳信号发布
心跳发布通过配置模型控制,可以通过两种方式触发:
- 定期发布
该节点定期发布新的心跳消息。可以将发布配置为在一定数量的消息后停止,或无限期地继续。
- 触发发布
每次功能更改时,节点都会发布新的心跳消息。可以触发发布的功能集是可配置的。
这两种发布类型可以组合。
心跳信号订阅
可以将节点配置为一次从一个节点订阅心跳消息。要接收心跳消息,源和目标都必须与配置的订阅参数匹配。
可以将节点配置为一次从一个节点订阅心跳消息。要接收心跳消息,源和目标都必须与配置的订阅参数匹配。
使用配置的订阅参数接收的所有心跳都将传递给 bt_mesh_hb_cb::recv
事件处理程序。
当心跳订阅周期结束时,将调用 bt_mesh_hb_cb::sub_end
回调。
API 参考
- group bt_mesh_heartbeat
Heartbeat.
Defines
-
BT_MESH_HB_CB_DEFINE(_name)
Register a callback structure for Heartbeat events.
Registers a callback structure that will be called whenever Heartbeat events occur
- 参数:
_name – Name of callback structure.
Functions
-
void bt_mesh_hb_pub_get(struct bt_mesh_hb_pub *get)
Get the current Heartbeat publication parameters.
- 参数:
get – Heartbeat publication parameters return buffer.
-
void bt_mesh_hb_sub_get(struct bt_mesh_hb_sub *get)
Get the current Heartbeat subscription parameters.
- 参数:
get – Heartbeat subscription parameters return buffer.
-
struct bt_mesh_hb_pub
Heartbeat Publication parameters
-
struct bt_mesh_hb_sub
Heartbeat Subscription parameters.
-
struct bt_mesh_hb_cb
Heartbeat callback structure
-
BT_MESH_HB_CB_DEFINE(_name)