ble mesh学习笔记(3)mesh节点设备广播类型

2023-05-16

蓝牙Mesh网络一共有3种广播包,如下图所示

 

1、PB-ADV的包是用在Provisioning过程的,Provisioning是一个设备加入Mesh网络的过程。

2、Mesh Message,这个是在设备入网后,进行数据通信的时候大量使用的包。节点间通信就是使用这种包进行的。

3、Mesh Beacon包含两种类型:Unprovisioned Device beacon和Secure Network beacon,其中Unprovisioned Device Beacon是用来被Provisioner发现设备用的,也就是在Provisioning之前设备发送的包,这个包里会包含Manufacturer相关的Device UUID(128bits),这个Device UUID是用来区分设备的,因此需要保证唯一性。而Secure Network beacon则是设备入网后用来发送一些安全相关的包,比如IV index更新包。

因此一个正常流程是这样的:

1、设备(入网前)广播Unprovisioned Device beacon的广播包,这个包里包含Device UUID

2、Provisioner(比如蓝牙网关,手机等)通过扫描发现这个设备,并通过Device UUID和云端同步设备信息(比如厂家信息,产品功能等等),然后通过PB-ADV的包发起Provisioning过程

3、设备成功加入Mesh网络后,如果需要,可以通过Secure Network beacon更新IV index。当然大部分时间,设备是通过Mesh Message的信息和其他节点进行数据通信。

 

mesh 广播类型

  • MESH-ADV-BEACON

  • Unprovisioned Device beacon

       PB-ADV 发送的beacon 采用的是non-connectable and non-scannable undirected advertisement event传输。这种只能采用PB-ADV方式入网。

       PB-GATT发送的beacon采用的是connectable adv,因为它的目的是让provisioner发现它,并与它建立LE link。这种一般可以采用手机进行配网。

 

 

  • Secure Network beacon

 

 

 

  • GATT-ADV-BEACON

  • NETWORK -ID

      如果一个设备支持Proxy feature并且使能了Proxy feature,则应该广播出Network ID。反之,如果不支持Proxy feature或者禁掉了Peoxy feature则不应该广播出Network ID。

      Network ID包:为了支持Proxy特性,需要设置节点的Proxy Feature为Enable

 

  •  NODE IDENTITY   

      Node Identity包:为了支持Proxy特性,且节点的Proxy Feature设置为Enable,节点还会在以下两种情况下广播Node Identity包:

      1、节点通过PB-GATT入网后立即开始广播

      2、节点在Configuration阶段设置Node Identity State是Enable的时候立即开始广播,广播时间限制在60秒以内。

       Advertising with Node Identity 通过device的首元素的单播地址和Network Key来识别这个节点属于哪个网络。

      当大量的数据经过节点需要这个节点来通过GATT 分发数据的时候,这个标识是很有用的。这个广播可以指示一个GATT连接。

 

 

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

ble mesh学习笔记(3)mesh节点设备广播类型 的相关文章

随机推荐

  • 通信协议/通讯协议 有哪些?包含哪些分类?

    通讯和通信的区别 xff1f 1 通信 与 通讯 傻傻分得清 传统意义上的 通讯 主要指电话 电报 电传 通讯的 讯 指消息 xff08 Message xff09 媒体讯息通过通讯网络从一端传递到另外一端 媒体讯息的内容主要是话音 文字
  • 增强现实入门实战,使用ArUco标记实现增强现实

    点击上方 AI算法修炼营 xff0c 选择加星标或 置顶 标题以下 xff0c 全是干货 在本文中 xff0c 我们将介绍ArUco标记以及如何使用OpenCV将其用于简单的增强现实任务 xff0c 具体形式如下图的视频所示 一 什么是Ar
  • 停车位检测新数据集、新方法,精准又快速(含视频解读)

    点击上方 AI算法修炼营 xff0c 选择 星标 公众号 精选作品 xff0c 第一时间送达 本文是一篇关于停车位检测的文章 xff0c 文章的视频有详细解读 xff0c 文章的创新点就是在圆形描述器来回归定点坐标 地址 xff1a htt
  • available()方法的使用总结

    先看看API的说明 xff1a public int available throws IOException 返回此输入流下一个方法调用可以不受阻塞地从此输入流读取 xff08 或跳过 xff09 的估计字节数 下一个调用可能是同一个线程
  • simpleBGC32-软件代码开源

    simpleBGC32官方只提供了硬件开源 xff0c 导致市场上有大量的v1 3版的硬件电路板用于飞机云台 xff0c 通过烧录官方给的hex文件实现基本功能 但是由于针对simpleBGC32的软件代码没有开源 xff0c 所以很多需要
  • Gazebo环境下VIO SLAM系统实现

    Gazebo环境下VIO SLAM系统实现 Gazebo环境下VIO SLAM系统实现简介0 准备工作1 搭建gazebo环境1 1 相机1 2 IMU 2 VINS MONO2 1 安装及make2 2 参数修改2 3 外参标定2 3 1
  • 滤波学习理解----EKF(一)

    最近回到slam方向了 xff0c 所以有时间整理一下最近的收获 最复杂也是最简单的模块 滤波 引入 那么滤波是什么呢 xff1f 滤波就是由于观测observation xff08 OB xff09 天生具备的误差和噪声 当有多个信号源观
  • 在VMware里装Kali Linux选graphical install后黑屏解决方案

    我用的是VMware 16 xff0c 装Kali Linux 2020 xff0c 选graphical install后黑屏 其实不管选哪个都黑屏 一开始按照网上的netsh winsock reset xff0c 虚拟打印机 xff0
  • USB移动存储设备上安装Kali Linux(独立系统 非Live 非虚拟机)Standalone Kali Linux + grub2 + luks加密

    前言 本文分享的是在USB移动设备上安装Kali Linux独立系统 非Live版 xff01 非虚拟机版 xff01 非Live版 xff01 非虚拟机版 xff01 非Live版 xff01 非虚拟机版 xff01 这里的USB设备包括
  • 简单git多人协同

    git网上的资料非常多 xff0c 本文只希望能提供一个简单直观的使用教程 xff0c 可能不严谨 如果本文有任何问题 xff0c 请及时指正 git简介 本章介绍git的基本概念 xff0c 了解git就可以跳过 什么是git xff1f
  • Arch 安装 Visual Studio Code(支持Wayland)

    文章目录 安装vscode在Wayland下模糊的解决方法在Wayland下无法使用输入法的解决方法 安装vscode 虽然官网下载一般是首先 xff0c 但是比较复杂 xff0c 所以推荐使用AUR xff1a yay S visual
  • 安装并使用NoMachine

    1 进入NoMachine官网下载NoMachine安装包 2 安装NoMachine xff0c 一路到底 xff0c 不需更改其他设置 xff08 安装目录随意 xff09 3 下载IP扫描工具 xff1a Advanced IP Sc
  • Wayland环境下通过xwayland支持docker图形界面

    写在前面 在之前的文章里已经讲解了怎么直接在docker中使用wayland支持图形界面 xff08 docker内外都使用wayland xff09 xff0c 文章链接 xff1a 使用Docker安装ROS2 ros humble 并
  • ZigBee生产测试项说明

  • C#窗体缩放时窗体上控件同缩放比例变化

    1 定义2个全局float 变量X Y xff0c 用来记录窗体默认窗口时的宽度和高度 float X 默认窗口的宽度 float Y 默认窗口的高度 2 窗体Load的时候将窗体的宽度 高度赋值给X Y private void Form
  • C# winform存储配置文件之App.config文件读写

    有时候一些用户的配置需要写入在本地 xff0c 不能每次程序启动都让用户重新设置一下吧 下面先说基本用法 xff1a 1 创建winform项目之后自动会生成App config文件 xff0c 如果默认没有 就对项目右键 新建项 APP配
  • C# 解决串口接收数据不完整处理方法

    使用缓存机制完成 首先通过定义一个成员变量List lt byte gt buffer 61 new List lt byte gt 4096 用来存放所有的数据 xff0c 在接收函数里 xff0c 通过buffer AddRange 方
  • ble-mesh笔记整理(1) ble-mesh通信理解

    最近有时间将之前整理的 xff0c 关于蓝牙mesh开发学习过程的一些笔记 xff0c 以及一些对mesh协议文档理解的翻译文档 xff0c 发布出来给大家一起学习和参考 xff0c 主要是一个学习的过程参考 蓝牙Mesh通过网状网的组网结
  • ble-mesh 学习笔记(2)-如何给mesh-node配网

    1 配网方式选择 基于手机设备为provisioner进行进行PB GATT 配网 如果一个蓝牙4 0的手机需要用作Provisioner xff0c 并完成对其他节点的配网过程 则需要使用Mesh Provisioning Service
  • ble mesh学习笔记(3)mesh节点设备广播类型

    蓝牙Mesh网络一共有3种广播包 xff0c 如下图所示 1 PB ADV的包是用在Provisioning过程的 xff0c Provisioning是一个设备加入Mesh网络的过程 2 Mesh Message xff0c 这个是在设备