前面说的都是在 node 已经入 mesh 网以后的行为,那么一个 node 是怎么入 mesh 网的呢?这里就要分为两个部分来介绍了,一边是,自报家门希望入网的节点,另一边是把这个希望入网的节点拉入伙的设备;

这里我们称,自报家门的节点的行为叫做 Mesh beacons;

另一边,将自报家门节点拉入网络的这个叫做 Provisioner;

本章先讨论 Mesh beacons;

当一个 node 希望加入 mesh 网络,那么首先它需要在空口中通过 ADV 呼喊,并根据指定的格式报告他的自身情况;

1、格式

这个格式直接承载在 ADV 上,也就是 【Length】 +【AD Type】 + 【Payload】 的格式;

其中的 Len 代表了 Payload 的长度;

Type 是 AD Type,这里的 AD Type 指定是 «Mesh Beacon» AD Type 这个是值是多少呢?查看蓝牙的官方网站:

https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/

可以发现它的值是 0x2B:

0x2B          «Mesh Beacon»         Mesh Profile Specification Section 3.9

接下来看 Beacon Type:

未入网的设备(node),我们称之为 Unprovisioned Device,所以这里,如果希望被加入 mesh 网络,那么需要设置成为 0x00

注意:Mesh beacon 的 ADV 需要的类型是 non-connectable and non-scannable undirected 类型,即,不可连接,不可扫描,非定向的 ADV

2、Unprovisioned Device beacon

一个希望入网的设备,需要按照第一节的介绍,发送 non-connectable and non-scannable undirected 类型的 ADV,同时 ADV 上承载的数据需要满足 1 中的要求;只有发送这样的 ADV,才能够被 Provisioner (能够邀请其他节点入网的那个 node)发现;那么先来看看这个 Unprovisioned Device beacon 的 Adertising Data Payload 组成(注意,这里只看 Adertising Data Payload 部分,因为前面的 Advertising Data Header 部分已经确定):

可以看到 octet 0 是 0x00,即 Beacon Type 的 Unprovisioned Device beacon 的表达值;

接着跟了一个设备的 Device UUID 用于标记当前 Advertising 的唯一设备号;

OOB Information 用于在加入 mesh 网络过程中指明可用的 OOB data:

OOB:Out of Band 带外的意思,就是不通过 LE 来传输东西,有些东西,比如 Key 这些;

URI Hash:是可选的部分;

当一个设备发出这种 Advertising 的呐喊的时候,Provisioner 识别后,便可以邀请它入网;

BLE Mesh (9) —— Mesh beacons相关推荐

  1. BLE Mesh (10) —— Mesh Provisioning

    目录 1.Provisioning bearer layer 1.1.PB_ADV 1.2.Generic Provisioning layer 1.2.1.Generic Provisioning ...

  2. BLE 技术(八)--- BLE MESH 各层报文是如何设计的(上)?

    文章目录 前言: 一.SIG MESH Bearer Layer 1.1 Advertising Bearer Layer 1.2 GATT Bearer Layer 二.SIG MESH Provi ...

  3. BLE 技术(九)--- SIG MESH Models 是如何设计的(下)?

    文章目录 一.SIG Mesh Models Layer 1.1 MESH Model communication 1.2 MESH State transition 1.3 Overview of ...

  4. BLE Mesh (5) —— Lower Transport Layer

    目录 1.字节序 2.Low Transport PDU 2.1.Unsegmented Access Message 2.2.Segmented Access Message 2.3.Unsegme ...

  5. service mesh(一)架构发展历史

    service mesh(一)架构发展历史 文章目录 service mesh(一)架构发展历史 数据面和控制面 service mesh架构演变 istio sidecar模式 流量治理 熔断 限流 ...

  6. mesh(三角面片)数据解析

    mesh(三角面片)简介 Mesh是多边形网格,是计算机图形学中用于各种不规律物体建模的一种数据结构.在多边形网格的面片中三角面片是被分割的最小单位,且表示比较简单.灵活并且拓扑描述方便,所以被广泛使 ...

  7. BLE 技术(三)--- 链路层七种状态与空口报文设计(Core_v5.2)

    文章目录 一.LE Link Layer States 二.Link Layer Packet format 2.1 Advertising physical channel PDU 2.1.1 Pr ...

  8. 络达开发---自定义BLE服务(一):相关数据结构讲解

    平台:AB1565M SDK版本:V2.11.0 开发环境:windows10 一.BLE服务相关的几个结构定义 理解Airoha的SDK对BLE的支持,就必须要理解下面这些结构的功能,因为定义BLE ...

  9. 络达开发---自定义BLE服务(二):功能实现

    络达开发--自定义BLE服务(一) 一.目录和工程的配置 本文讲解如何在该SDK中添加用户自居定义的BLE服务.该服务的源码可以存放在自己希望的位置,但为符合工程目录的合理性,建议放在工程所在的目录下 ...

最新文章

  1. 一代传奇,“全球第一CEO”:杰克·韦尔奇逝世了!
  2. SAP SD交货单凭证流里的Confirmation of Service初探
  3. 《数学之美》第27章 期望最大化算法
  4. 小程序首页获取数据给数组赋值,实现加载更多,以及遇到的坑
  5. python画图中文显示_解决Linux系统中python matplotlib画图的中文显示问题
  6. 信息系统项目管理师-项目合同管理核心知识点思维脑图
  7. 「AI在左,营销在右」互动营销创意破圈,这事儿不难
  8. File类遍历(文件夹)目录功能
  9. 两数之和Python解法
  10. 电磁波考试中可以用计算机吗,计算机考试试题库带答案(8页)-原创力文档
  11. 几行代码撸了一天,源码到底该如何读?
  12. tab切换中的滚动条下拉分页带来的问题
  13. 思科服务器a设置dns信息,思科怎么配置dns服务器
  14. 【tcp】网络连接中的长连接和短连接是什么意思?
  15. 解决:ORA-06502: PL/SQL: numeric or value error: NULL index table key value
  16. 敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland的传奇人生
  17. CSS盒子模型——标准模型和IE模型的区别,如何设置标准模型、IE模型
  18. CSS - 让整个页面变成灰色(一行代码)
  19. Python数值运算操作符
  20. 文本框直接粘贴添加图片构想

热门文章

  1. 最新AppStore审核被拒常见条例,及解决方案(内购、切支付篇)
  2. 郑州共享门店系统开发优势有哪些?
  3. 关于推进海洋测绘工作的思考
  4. R语言中的igraph包绘制网络图
  5. “瓮中捉鳖”——涨停板一般出现在什么时候?
  6. oracle做分页式报表,报表性能优化方案之单数据集分页SQL实现层式报表
  7. 桥接简单介绍(分类及其用法)
  8. 腾讯云服务器宝塔面板账号密码忘记
  9. 45 张令程序员泪流满面的趣图
  10. 宜信微服务架构落地及其演进