蓝牙Mesh中的Heartbeat和Heartbeat Publication

2023-11-10

Heartbeat:

在蓝牙Mesh网络中,Heartbeat(心跳)是一种用于监测设备在线状态和网络连通性的机制。它是由每个设备定期发送的小型消息组成,用于指示设备的存在和活动状态。

Heartbeat的主要目的是确保网络中的设备处于活动状态,并为网络管理提供一些重要的信息。以下是一些关键特点和作用:

  • 在线状态检测:通过发送心跳消息,设备可以告知其他设备它们的存在和活动状态。其他设备可以根据接收到的心跳消息来了解设备的在线状态,以便进行必要的操作或通信。

  • 网络连通性监测:心跳消息还可以用于检测设备之间的网络连通性。设备可以根据是否收到其他设备的心跳消息来判断它们之间的连接状态,如果连续一段时间未收到心跳消息,可以认为设备之间的连接可能中断。

  • 节电优化:心跳消息可以用于优化设备的节能策略。设备可以根据自身的需求和网络状况来调整心跳消息的发送频率,以减少能耗并延长电池寿命。

需要注意的是,Heartbeat并不直接传输数据或控制命令,它仅用于监测设备的在线状态和网络连通性。在蓝牙Mesh网络中,设备之间的实际数据传输和控制是通过消息模型和其他协议实现的。

Heartbaeat的opcode:

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

Heartbaeat的配置:

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

Heartbeat验证网络可靠性:

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

Heartbeat Publication(心跳发布):

允许设备将自己的状态信息以心跳消息的形式发布到整个网络中。设备可以定期或根据需要发布自己的状态信息,例如设备的电量、传感器数据、可用性等。这些心跳消息可以帮助其他设备了解设备的状态,并根据需要采取相应的措施。

OP:

Config Heartbeat Publication Get 0x80 0x38
Config Heartbeat Publication Set 0x80 0x39
Config Heartbeat Publication Status 0x06
Config Heartbeat Publication Get没有参数。

Config Heartbeat Publication Set参数:

参数 大小 备注
目标地址 2 被设置的地址
计数 1 要发送的心跳消息数
周期 1 发送心跳信息的时间段
TTL 1 将在发送心跳消息时使用的TTL
特征 2 位字段,指示在更改时触发心跳消息的特性
NetKey Index
2
NetKey Index

心跳发布周期日志状态是一个8位值,它控制周期心跳传输控制消息的节奏。该值表示为2(n-1)秒。例如,值0x04的发布周期为8秒,而值0x07的发布周期为64秒。

两者区别:

Heartbeat是指设备定期发送的小型消息,用于指示设备的存在和活动状态,而Heartbeat Publication是指设备将自己的状态信息以心跳消息的形式发布到整个网络中。Heartbeat是设备发送消息的行为,而Heartbeat Publication是设备将自己的状态信息发布到网络中的行为。 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙Mesh中的Heartbeat和Heartbeat Publication 的相关文章

  • BLE MESH组网(五)配置BLE MESH

    BLE MESH 五 配置BLE MESH 前言 概述 配置协议 供应程序 信标 邀请 交换公钥 前言 2017 年 5 月 全球最臭名昭著的勒索软件 WannaCry 在全球范围内积极攻击计算机 劫持用户数据索要赎金 这次攻击影响了 15
  • unity实现简单自动寻路

    unity实现简单自动寻路 1 打开unity创建一个简单的场景 如下图 2 除了场景中的两个对象将所创建的地形设置为静态 3 给主角添加Nav mesh Agent 组件 4 烘焙地图 简单来说就是烘焙自动行走的路径 要注意蓝色区域为烘焙
  • 2、为什么选择URP

    为什么选择URP 现在所在项目为SLG类项目 有同屏200 英雄的需求 Unity传统渲染管线的动态批处理有个限制是Skined Mesh Renderer不能进行动态批处理 英雄如果不采用Skined Mesh Renderer又不能满足
  • Mesh(802.11s)组网 — 基于OpenWRT路由器

    一 mesh网络 1 mesh网络拓补图 2 介绍 二 OpenWRT路由器Mesh网络配置 1 准备阶段 说明 本次测试用2台单WiFi路由器作为测试 wifi用于组建Mesh网络连接 因此内网已无额外WiFi可以提供使用 因此局域网用有
  • 显示线框和纯色

    是否可以在同一对象上显示对象的线框及其面的纯色 我找到了一种使用对象克隆并分配不同材质的方法 例如 var geometry new THREE PlaneGeometry plane width plane height width 1
  • 团结| mesh.colors 不会为我的自定义网格对象着色

    我在 Unity 中构建了一个自定义金字塔 如下所示 Mesh mesh GetComponent
  • 按顺时针/逆时针顺序对一组 3D 点进行排序

    在 3 D 空间中 我有一组无序的点 例如 6 个点 像这样的东西 A C E F B D 这些点形成 3D 轮廓 但它们是无序的 对于无序我的意思是它们存储在 unorderedList A B C D E F 我只想从任意位置 比如说
  • 查询网格内的点 Maya python api

    我试图找出一种计算世界空间点是否位于任意网格内部的方法 如果它不是立方体或球体 我不太确定如何计算它的数学 任何帮助都会很棒 人们可以使用一种简单的光线追踪技巧来测试您是在形状的内部还是外部 事实证明 2D 3D 对象甚至可能更高维度的对象
  • 在javafx中将纹理应用于网格

    我在使用 JavaFX 和 FXyz 0 1 1 将纹理应用到网格时遇到问题 I found 这个问题即使有详细的答案也无法弄清楚 我从头开始 准确地复制答案中的代码 场景是黑色的 没有可见的二十面体 我使用的是 Java 8 提供的图像是
  • 我可以从网格生成点云吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试从网格生成点云数据 例如 Maya 的 obj 文件 但是 我只能在互联网上找到相反的情况
  • 四边形网格划分库

    我试图找到一个用 C 编写的网格划分库 仅使用四边形网格对自定义形状进行网格划分 这是我正在寻找的算法 代码的示例 但这不是免费的并且是用 ANSI C 编写的 http members ozemail com au comecau qua
  • 在 Unity3D 中,“设置”网格的边界会做什么或实现什么?

    在 Unity 代码库中 我看到了这个 the game object currently has no mesh attached MeshFilter mFilter gameObject AddComponent
  • 动物园管理员的替代品? (集群协调服务)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 动物园管理员 http zookeeper apache org是数据中心的高度可用的协调服务 它起源
  • 表面网格到体积网格

    我有一个使用 Meshlab 从点云生成的封闭表面网格 我需要为此获得一个体积网格 这样它就不是一个空心物体 我想不通 我需要获取 stl 文件进行打印 谁能帮我获得体积网格 我更喜欢简单的解决方案而不是复杂的算法 给定一个定向的水密表面网
  • 如何计算具有三角形面的网格的质心?

    我想根据以下描述计算网格的新质心 但我不想使用 Blender 的内置函数来计算质心 如所解释的here https blender stackexchange com questions 14294 how to recenter an
  • 环境错误:Gmsh 版本必须 >= 2.0

    我是 fipy 的新手 所以如果我问一些应该显而易见的问题 请原谅我的无知 但我无法运行已经存在的 并且在其他机器上工作的 脚本 无法获取EnvironmentError Gmsh version must be gt 2 0 我可能在安装
  • 网格三角剖分和简化 C++ 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 C 库来三角测量和简化 3D 网格 我的 3D 网格可能很大 大约 300 万个顶点
  • 用于平滑开放 3D 网格边缘的算法

    我有一个 3D 网格 它代表一个具有一些粗糙边界的表面 我想对其进行平滑处理 我使用半边数据结构来存储几何图形 因此我可以轻松地迭代边界边 顶点和面 我还可以使用点积和叉积轻松确定给定的一对边是否是凸 凹的 平滑边缘的最佳方法是什么 使它们
  • 用顶点之间的渐变填充 matplotlib 多边形

    我正在使用 matplotlib 的 Poly3DCollection 绘制多边形 三角形 的集合 三角形位于具有与其关联的颜色的顶点之间 我目前正在用通过平均三个顶点的颜色确定的纯色填充每个三角形 绘制三角形以形成 3D 表面网格 I w
  • 在网格挤出过程中计算 UV 坐标

    我目前正在为平面形状实现网格挤出算法 让我们假设为矩形 当我拉伸这个矩形时 我为 3d 形状创建了四个新边 产生 8 个新三角形 和一个新底部 当我复制所有顶点以使最终的立方体有 24 个顶点时 这种方法效果很好 但我现在想避免这些额外的顶

随机推荐

  • Matlab绘图案例,MATLAB画图大法,附详细代码

    目录 1 使用subplot创建多个子图 2 绘制误差棒图 3 绘制条形堆积图 4 绘制堆积面积图 5 绘制直方图并拟合曲线 6 绘制等高线图 7 绘制光滑的曲线 8 绘制彩虹图 9 绘制带有错误标记的散点图 10 绘制水平堆积条形 11
  • Syncthing 1.1.1 发布,文件持续同步应用

    百度智能云 云生态狂欢季 热门云产品1折起 gt gt gt Syncthing 1 1 1 发布了 Syncthing 是一款持续文件同步应用 可同步多台计算机之间的文件 此版本更新内容包括 5531 根据大小而不是条目刷新数据库 557
  • 莫烦---Tensorflow学习

    加粗样式边学边记录 感谢莫烦大神的教学视频 获益良多 之前已经看完了吴恩达Andrew Ng的视频 但对Tensorflow的使用还是有很多不懂的地方 还是要花些时间好好学学tensorflow和keras 莫烦大神的视频学习地址 Tens
  • css 动态生成动画代码在线工具,非常好用!推荐

    网址 Animista CSS Animations on Demand 这个网站提供了大量的css动画效果 用户可以自定义动画 在线生成动画代码
  • ChatGPT的代码生成是怎么做的?「基于深度学习的代码生成方法」最新研究进展...

    机器学习研究组 代码生成 Code Generation 是指根据自然语言描述生成相关代码片段的任务 在软件开发过程中 常 常会面临大量重复且技术含量较低的代码编写任务 代码生成作为最直接辅助开发人员完成编码的工作受到学术 界和工业界的广泛
  • mybatis框架学习(完整)

    目录 总结jdbc出现的问题 mybatis介绍 mybatis入门程序 占位符 与字符串拼接符 区别 mybatis框架的原理 别名配置与映射文件加载方式 mybatis与hibernate的比较 一 总结jdbc出现的问题 1 准备数据
  • 本机与服务器传输数据

    1 Xftp xftp传输的速度在500kb左右 对于上GB的数据集传输时显得太慢 技巧 可以先本地压缩后再上传 上传后在服务器端用unzip命令解压即可 警告 在使用Xftp传输文件时若与服务器不甚断连 当再次重连后一定要记得整个文件重新
  • 非阻塞的connect使用方式

    connect 函数的调用涉及到3次握手 默认connect函数为阻塞连接状态 通常connect 会阻塞到三次握手的完成和失败 而这个connect阻塞超时时间会依赖于系统 一般为75s到几分钟时间 一种方式可以通过该系统配置 proc
  • 教你如何清理 Docker 存储驱动的磁盘占用空间

    Author rab 有时候你会发现 你的 Docker 业务容器虽然做了数据持久化 且数据持久化的磁盘空间占用并不大 但是 Docker 的 Overlay2 目录占用却很大 我们知道 Overlay2 是 Docker 的存储驱动 也是
  • java 读取文件 和 执行SQL脚本 (支持中文)

    读文件操作应用 执行SQL脚本文件 执行SQL脚本文件 param path throws SQLException throws ClassNotFoundException public void exeSQLScript String
  • 操作系统原理——绪论:操作系统的概念、发展、类型、基本特征、功能、运行环境和内核结构

    目录 一 操作系统的概念 1 计算机系统的概念 2 操作系统的概念 3 为什么计算机系统需要操作系统 二 操作系统的形成与发展 三 操作系统的类型 1 批处理操作系统 Batch OS 2 分时操作系统 3 实时系统 4 嵌入式操作系统 5
  • 一些关于javascript、jQuery使用时的建议

    最新地址请访问 http leeyee github io blog 2011 04 09 javascript jquery user suggests 1 在遍历数组时缓存长度 在遍历数组时应将数组的长度保存在一个变量中 不要在循环中每
  • 熊哥帮忙

    原来那个找不到文件的问题 今天咨询了熊哥 SQL gt oradebug setospid 578038 Oracle pid 3 Unix process pid 578038 image oracle orasrva DIAG SQL
  • 刷脸支付是商业社会在时间效率数据价值的挖掘

    刷脸支付这项网付方式随着时代发展人工智能技术的不断进步代替传统聚合支付方式 开始了最早的商业应用了 而在5G迅速发展的现在刷脸支付也被广泛的运用在生活中 而刷脸支付也将会推动市场发展创造全新的快捷支付 为用户提供便捷 当你线下付款时常会遇到
  • requirements.txt 的格式

    如下文 requirements txt BeautifulSoup 3 2 1 Django 1 7 Glances 2 6 2 GnuPGInterface 0 3 2 LinkChecker 9 3 Markdown 2 6 1 My
  • 新印的钞票如何流入市场?

    原文地址 http zhidao baidu com question 136634468 html 印钞厂一直在印钞票 那市场上的钞票总量一直会增加 这些新印的钞票是怎么流入市场的呢 我看到另一个和我这个相似的问题的回答是 国家通过给公务
  • kali 重置root密码

    kali版本 kali linux 2021 2 但是其他版本也都一样的操作 方法 步骤 第一步 点击开启此虚拟机 打开安装好的kali虚拟机 第二步 进入开机启动页面 按键盘e键进入Kali GNU GRUB页面 进入GNU GRUB页面
  • QTcpSocket::connectToHost内存泄漏的问题

    使用QTcpSocket上网看博客时 发现有篇抄来抄去的博客提到QTcpSocket类的方法connectToHost会泄露内存 即使把调用这个方法的QTcpSocket实例delete掉 内存也不会释放 反复connectToHost会导
  • 树莓派开启 wifi 热点

    树莓派小巧的体型当然不是为了固定放在桌子上 更是为了做成可移动的智能设备 例如智能小车 当树莓派不在室内的 wifi 下时 怎样方便地连接上它呢 于是想要把树莓派变成 wifi 热点 就能用我们的手机或者笔记本连接它了 一 修改 etc n
  • 蓝牙Mesh中的Heartbeat和Heartbeat Publication

    Heartbeat 在蓝牙Mesh网络中 Heartbeat 心跳 是一种用于监测设备在线状态和网络连通性的机制 它是由每个设备定期发送的小型消息组成 用于指示设备的存在和活动状态 Heartbeat的主要目的是确保网络中的设备处于活动状态