蓝牙Sig Mesh 概念入门③——分层结构Layered architecture
文章目录
- 一、Model layer
- 二、Foundation Model layer
- 三、Access layer
- 四、Transport layer
- 五、Network layer
- 六、Bearer layer
一、Model layer
model 定义了一个节点支持的
功能特性
,每一个 model 都定义了自己的op code
和status
。
- 比如
generic onoff model
,定义了Generic ON/OFF/GET/STATUS
。 - 比如……
Provisioner 在组网的时候
- 会通过
get composition data
命令去获取节点支持的所有model id - 然后Provisioner 就能知道节点具体支持什么功能了
- 然后Provisioner 才知道应该给该节点发送什么
op code
Model 又分为 server model 和 client model。
server model
:是一个被控制的角色,有自己的状态,可以被别的节点改变和获取- 比如一个Led设备,具备
onoff server model
- 可以接收
onoff set/get
命令(App下发的控制开关命令) - 可以回复
onoff status
命令(App查询Led状态的命令) - 但是LED不能自己对外发送
onoff set/get 命令
和onoff status
命令
- 比如一个Led设备,具备
client model
:是一个控制 server 节点的角色,没有自己的状态- 比如一个蓝牙遥控器,具备
onoff client model
- 可以发送
onoff set/get
命令(遥控LED或者其他设备) - 可以发送
onoff status
命令(查询LED或者其他设备的状态) - 但是不能回复收到的
onoff status
命令,也不会处理收到的onoff set/get
命令
- 比如一个蓝牙遥控器,具备
二、Foundation Model layer
Foundation Model 的模式和 model 基本一样,是基础 model,包含 Configuration Server model
,Configuration Client model
,Health Server model
,Health Client model
。
- 被配网节点都必须包含
Configuration Server model
- provisioner 节点必须包含
Configuration Client model
这两个 model 包含的常用 op code 是 subscription add/delete(即组号添加/删除)等,并且这两个 model 的 access layer 层的加密都使用 device key,所以一般来说只有 provisioner 节点才能发送 configuration model 的 set/get 命令。
三、Access layer
简单的来说,一句话
把 op code 和 parameter 按规定的格式组合在一起。
四、Transport layer
使用 app key 或者 device key(configuration model 使用)进行加解密。判断并确认是否需要执行分包和组包协议。
目前为了兼容 BLE4.2 等不支持长广播包的设备,所以都统一设定 adv 的最大 payload 为31byte。
五、Network layer
对于发送流程
- 对数据包添加 sequence number,等
- 并使用 network key,iv index 对数据进行加密
- 发送完成后 sequence number 会执行“加 1”的操作
对于接收流程
- 使用 network key,iv index 对数据进行解密
- 解密后判断sequence number 是否有效(即是否大于已经接收过的值)
- 如果无效则直接丢弃
六、Bearer layer
把已经执行过加密的数据包通过type
为 LL_TYPE_ADV_NONCONN_IND(0x02)
的广播包发送到mesh
网络中。
觉得好,就一键三连呗(点赞+收藏+关注)
蓝牙Sig Mesh 概念入门③——分层结构Layered architecture相关推荐
- 蓝牙Sig Mesh 概念入门①——简单介绍
文章目录 一.前言 二.Mesh组网怎么选 2.1 WiFi Mesh (插电的用WiFi) 2.2 蓝牙 Sig Mesh (需要与手机互动的) 3.3 ZigBee Mesh (其他) 三.蓝牙模 ...
- 蓝牙Sig Mesh 概念入门⑤——Mesh通信消息格式详解
文章目录 一.Access Layer 二.Transport layer 三.Network layer 3.1 Address 3.2 Network PDU 3.3 Network transm ...
- 蓝牙Sig Mesh 概念入门②——网络角色
文章目录 一.前言 二.Provisioner(配置节点) 三.Proxy(代理节点) 四.Node(普通节点) 一.前言 Sig Mesh组成了一个大网,里面有很多设备.包括协助设备入网的网关,终端 ...
- 蓝牙Sig Mesh 概念入门④——Mesh的专业术语及其操作流程
文章目录 一. States 二.Bound states 三.Messages 四.Node & Elements 五.Publish & Subscribe 六.Security ...
- 软件架构之分层模式(Layered Architecture)
分层模式是最通用的架构,也被叫做N层架构模式(n-tier architecture pattern).这也是Java EE应用经常采用的标准模式.基本上都知道它.这种架构模式非常适合传统的IT通信和 ...
- Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络 Ⅰ—— 基础概念
文章目录 背景 术语 Managed Flooding Models Scenes 架构 Node Features 中继节点 代理节点 友元节点和低功耗节点 示例 BLE Mesh Networki ...
- 第一章 计算机网络 5 分层结构/协议/接口/服务的概念 [计算机网络笔记]
第一章 计算机网络 5 分层结构/协议/接口/服务的概念 本笔记参考书目: 计算机网络(第8版)谢希仁 2021王道计算机网络视频公开课 本节重点: 分层结构/协议/接口/服务 实体/对等实体 PCI ...
- 泰凌微8258入门教程 基础篇①——Bluetooth® SIG Mesh 快速上手
文章目录 一.前言 1.1 Telink Bluetooth® Mesh开发工具 1.2 Bluetooth®SIG mesh演示 1.3 基于SDK的演示二进制文件 二.基于APP的节点控制 2.1 ...
- 蓝牙的基本概念以及发展轨迹 - 蓝牙的前生后世
一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍. 第二篇:Transp ...
- 区块链分层结构:不同开发框架的核心特征与价值
区块链分层结构(DBL)作为一种新的范式,让我们可以在不妥协 / 尽可能少的妥协情况下实现对区块链的扩容. 前言 区块链分层结构 = Disaggregated Blockchain Layers = ...
最新文章
- classification_report进阶:针对top-k的结果计算precision@k、recall@k、f1-score@k
- mysql的结构,段页区,及客户端命令
- 回调函数与Delphi的事件模型
- python3----运算符
- 工作169:删除操作
- 怎么修剪_幸福树怎么修剪——武汉花卉租摆
- java 时间类型添加_java date类型 怎么 插入 时间 到 数据库
- 家长工作比较忙,没有什么时间来带孩子,交给家里老人会养成一些坏习惯吗?
- spring-boot spring-security-oauth2
- ARG MIN的含义是什么?
- spring和mybatis整合代码
- qq降龙v5java_java编辑器
- protues仿真8086常见问题
- 最新 2022维达纸业AI面试真题题库
- USB Repair(usb设备修复工具)官方正式版V8.0.3.1069 | u盘修复软件下载 | u盘修复软件哪个最好?
- 14期-连肝7个晚上,总结了计算机网络的知识点!(共66条)
- python红楼梦作者_用 Python 分析《红楼梦》,后四十回是曹雪芹所写吗?(开源)...
- 基于Java毕业设计校园社团管理平台演示录像2021源码+系统+mysql+lw文档+部署软件
- Java学习笔记类对象多态继承(下)
- 摄影曝光口诀_通过学习曝光元素来改善摄影