Ble Mesh的Heatbeat(心跳)&地址&Model(模型)

心跳

将节点配置为定期发送称为心跳消息的消息。

Heartbeat 消息的目的:

1、表示该节点仍然处于活动状态。

2、允许根据传递 Heartbeat 消息所需的跳数确定其与接收者的距离。

Heartbaeat的opcode:

和Friend request、Friend offer、Friend Pool等一样的Transport Control message,opcode为0x0A。

Heartbaeat的配置:

心跳行为是使用配置服务器模型(Configuration Server Model)配置的。可以配置必须发送 Heartbeat 消息的地址(通常是 Group Address)、必须发送 Heartbeat 消息的频率以及是无限期发送心跳消息还是限制和指定数量的发送心跳消息。

Heartbeat验证网络可靠性:

心跳消息包含并保持不变,即由心跳发起者设置的初始 TTL。这允许接收者确定消息到达所需的跃点数,从而通过将 TTL 设置为不高于所需值的值来优化他们随后发送到心跳源节点的消息。

地址

蓝牙网状网络使用各种地址类型的系统来识别单个元素或元素集。

单播地址

单播地址标识节点的单个特定元素。Provisioner管理单播地址的分配,并确保在网络中不分配重复地址。

组地址

组地址是表示一个或多个 元素的多播地址。组地址要么由蓝牙 SIG 定义,称为 SIG 固定组地址,要么是动态分配的。最多允许 256 个 SIG 固定组地址,在撰写本文时,仅定义了 4 个。这些被命名为 All-proxy、All-friends、All-relays 和 All-nodes。

网状网络中最多可以有 16383 个组地址。

虚拟地址

虚拟地址是可以分配给一个或多个 元素的地址,跨越一个或多个 节点。它采用 128 位 UUID 值的形式,任何 元素 都可以与之关联,并且很像标签。

网状网络中可能有多达 70 万亿个虚拟地址。

未分配的地址

这是一种特殊的地址类型,值为 0x0000。它的使用表明 元素 尚未配置或已分配单播地址。

发布地址

用作发布消息的目的地的地址称为发布地址。发布地址可以是单播地址、预先配置的组地址或虚拟地址。

模型

模型定义了一组 状态、 状态转换、 状态绑定、 消息 和其他相关行为。节点 中 的 元素 必须支持一个或多个模型,并且模型或模型定义了 元素 所具有的功能。蓝牙 SIG 定义了许多模型,其中许多被故意定位为“通用”模型,在广泛的设备类型中具有潜在的实用性。

蓝牙网状网络中的所有通信都是使用 消息完成的,消息定义为模型规范的一部分。

有两种类型的模型;服务器和客户端。

一个模型可以扩展另一个模型。不扩展其他模型的模型称为“根模型”。不允许通过添加或删除行为来更改模型。对新需求的正确回应是扩展现有模型。

最好通过考虑示例来理解模型的概念。

最简单的通用模型是通用 OnOff 服务器模型。它定义了一个单独的 State,称为 Generic OnOff,它的值可能是 0x00 表示 Off 或 0x01 表示 On。该模型定义了四种类型的 Message。这四个 消息 是:

通用 OnOff 获取
通用 OnOff 集
通用 OnOff 设置未确认
通用开关状态
Generic OnOff Get  Message被 支持 Generic OnOff Server Model 的Element接收时  ,会导致 Element 回复 Generic OnOff Status  Message ,该消息报告 Generic OnOff State的当前值 。

Generic OnOff Set  Message被 支持 Generic OnOff 服务器模型的Element接收时  ,会导致 Generic OnOff  State的值 发生变化,并且可以预期包含该 Element的物理设备 将反映这种 状态 值以某种预期方式发生的变化(例如打开或关闭灯)。Generic OnOff Set 被称为 Acknowledged Message  ,这意味着它需要来自 Element的响应。在 Generic OnOff Set 的情况下,预期的响应是 Generic OnOff Status  Message。

Generic OnOff Set Unacknowledged  Message与 Generic OnOff Set Message 具有相同的语义,  只是它不需要 元素 以状态 消息进行响应。

通用 OnOff 状态 消息 可以由元素发送 以 报告 其 OnOff 状态。这是一个 未确认的消息, 因为接收它的元素 不需要响应 。

蓝牙 SIG 定义的模型称为 SIG 模型。供应商也可以定义自己的模型,这些模型被称为供应商模型。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ble mesh 添加灯光变色模型是指通过使用蓝牙网格网络技术将灯光设备连接到网格网络中,并实现通过控制器改变灯光的颜色。 首先,我们需要准备一些灯光设备和一个控制器设备。灯光设备可以是LED灯泡或者灯带,控制器设备可以是智能手机或者其他支持蓝牙网格网络的设备。 接下来,我们需要在灯光设备和控制器设备上安装相应的蓝牙网格网络应用程序。这个应用程序将提供灯光变色的功能,并允许控制器设备与灯光设备进行通信。 一旦安装完成,我们首先需要在控制器设备上创建一个蓝牙网格网络。这可以通过打开应用程序并按照指示进行操作来完成。 然后,我们需要将灯光设备添加到网格网络中。这可以通过在控制器设备上执行一系列指令来完成,例如搜索并与灯光设备配对。 一旦灯光设备成功添加到网格网络中,我们就可以开始控制灯光的颜色了。通过在控制器设备上操作相应的控件,我们可以改变灯光设备的颜色,并实现灯光的变色效果。 此外,蓝牙网格网络还支持灯光设备的群组化和场景设置。通过将多个灯光设备分组,我们可以实现同时控制多个灯光设备的颜色变化。同时,我们还可以创建不同的场景,通过一键切换来实现不同的灯光效果。 总而言之,通过使用蓝牙网格网络技术,我们可以实现灯光设备的互联互通,并通过控制器设备实现灯光的变色效果。这样可以给用户带来更丰富、更个性化的灯光体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮若于心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值