蓝牙MESH(E104-BT10)使用记录

举报
ReCclay 发表于 2022/02/21 23:20:25 2022/02/21
【摘要】 0、小知识汇总 1、产品简介 E104-BT10 蓝牙 mesh 自组网模块支持 sig mesh V1.0 标准,单网络理论最大可容纳 10922 个节点设备。设备入网后自动记忆网络信息,入...

0、小知识汇总


1、产品简介

E104-BT10 蓝牙 mesh 自组网模块支持 sig mesh V1.0 标准,单网络理论最大可容纳 10922 个节点设备。设备入网后自动记忆网络信息,入网时间 1 秒内完成。手机 APP 可任意节点代理入网,实现 mesh 网络远程控制。可方便实现网内广播或任意定点数据透传,透传数据单包最大支持 80 字节。支持 sig标准 HSL(H: Hue , S: Saturation ,L:lightness)模型,一键实现灯控应用场景。非常适合物联网信息采集,大规模组网通讯场景,智能家居等应用。

2、产品特点

  • PCB 板载天线,空旷最大通讯距离 50 米
  • 发射功率多级可调最大+8dbm
  • 串口波特率动态可配
  • 无线通讯信道 37、38、39
  • 网络无中心节点(gateway)
  • 记忆组网信息,上电自动入网
  • 上电入网 1 秒完成
  • 支持手机 APP 入网
  • 组网最大节点数 10922
  • 支持 SIG MESH Generic 模型
  • 支持 SIG MESH HSL 灯控模型
  • 支持自定义串口数据透传模型
  • 支持自定义低功耗(非标准低功耗)
  • 支持串口唤醒

3、MESH网络介绍

在这里插入图片描述
这个模块最大的优势在于可中继网络内的任意数据,任意模块都是中继,中继的同时也都可收到数据,模块数据信号覆盖范围 50 米左右,下图中继为功能示意图,用户可参考。

在这里插入图片描述

解读上图模拟应用场景:模块 A 到模块 C 的距离为 70 米,超出了我们模块的 50 米的传输距离,所以 A 模块无法直接将数据发给 C 模块,若在 A模块和 C 模块之间放置一个 B 模块,那么 数据就会被 B 中继然后 C 收到。模块 A 需要发送数据给整个网络,模块 B,C,D,E 需要收到 A 的数据,那么 A 模块就以广播地址(0XFFFF)发数据就可以了如果 A 模块需要指定数据发送给 E 模块,就只需 在数据格式中地址处填写 E 模块的地址就行(详情见指令格式介绍),但是 E 模块离 A 模块 140 米,无法将数据直接传达,但是只要这几个模块是属于同一个网络,数据就会以下面这个链路传达到模块 E,A 发出数据传递给 B ,B 再到 C,C 到 D, D 传给 E。

4、一些基本概念

4.1、网络密匙(Net Key)

全称 network keys,网络密钥,用来保护网络层通信的密钥。是使用符合核心规范要求的随机数生成器生成的密钥。(详见 Mesh Profile3.86)
在这里插入图片描述

4.2、会话密匙(App Key)

全称 application keys,应用程序密钥,用来保护上层传输层的密钥。是使用与之兼容的随机数生成器生成的,应用程序密钥标识符(AID)用于标识应用程序密钥。(详见 Mesh Profile3.86)
在这里插入图片描述

4.3、设备角色

在 SIG MESH 协议中 拥有种角色分别为 node、low power node、relay node、friend node、proxy node。相关功能介绍如下:

  • Node:整个 mesh 网络中的边缘节点,具有接收与发送数据的能力,但是不具备中继(relay)功能
  • Low power node:低功耗节点,由于 friend node 的存在,低功耗节点不需要一直在广播信道发送或者监听数据包,只需要查询 friend node 上有没有数据达到就行。(暂不支持)
  • Relay node:中继节点,是网络层扩展网络覆盖范围的核心节点,在接收到其他节点发送的数据包后,根据网络协议的判定条件判断是否需要转发。
  • Friend node: low power node 可以与 friend node 建立友好连接,作为 low powernode 的代理节点,当 lowpowernode节点的数据达到时,可以在 Friendnode 缓存,等待 lowpowernode 查询并且获取。
  • Proxy node:代理节点,代理节点可通过承载层(广播承载层或 GATT 承载层)接受信息,并通过另一个广播承载层或GATT 承载层重新发送消息。在非 mesh 低功耗蓝牙设备成为蓝牙 mesh 网络成员过程中起关键作用,代理节点的根本目的是执行承载层转换。它能够实现从广播承载层到 GATT 承载层的转换,反之亦然。因此,不支持广播承载层的设备可通过 GATT 连接来收发各类蓝牙 mesh 消息。E104-BT10N 支持代理节点功能,配合手机端 APP 可实现 mesh 网络控制(资料压缩包中包含 APP相关 SDK 供客户自行开发)。

通常单个设备只支持一种角色,在 EBYTE 的方案中,模块支持两种角色,provision 节点和 mesh 节点,provision 节点即负责组网的设备,mesh 节点是收发数据和转发数据的设备即 relay node。

SIG MESH 有四种连接方式:

  • 1、 ADV(Not Relayed):即不具备转播能力的连接。这种情况适用于两个节点之间互相收发消息,但不具备中继能力不能进行数据包的转发工作。
  • 2、 ADV(Lower power):即低功耗广播连接。用于 low power node 和 friend node 之间收发数据包,在这个连接上low power node 会主动发起请求建立与 friendship 的连接,以及从 friend node 上查询是否有自己的数据包。
  • 3、 ADV Bearer:广播转发连接。两个节点之间可以基于广播转发收发广播消息,并且可以作为中继转发。(该产品就在此连接上工作)
  • 4、 GATT Bearer:用于没有 ADVbearer 能力的结点也能参与 MESH 网络,通过代理协议与其他的结点在 GATT 连接上收发代理 PDU。

该产品支持的设备类型有 provision 和 mesh。

  • Provision 节点: 是特殊的 node 节点,是整个网络的发起者。也被称作 gateway。它将未组网的设备加入到 mesh 网络中。Provision 节点向未配网设备提供 provision 数据,其中包括 netkey、appkey,还有设备每一个 element 对应的 unicast地址。
  • Mesh 节点:该产品的mesh 节点是集 node、relay node 、friend node、proxy node 四种角色为一体,在使用过程中方便快捷。

4.4、模型(Moule)

在 SIG MESH 有很多模型,我们的 E104-BT10 模块一共有三个元素地址, 每一个元素地址下面可以绑定多个模型,在下表中每一行就是一个模型,其中 HSL 的模型比较特殊绑定了三个地址,这是因为在 HSL 模型中需要控制三个东西 亮度、饱和度、色温,所以它有三个地址。

在这里插入图片描述

在这里插入图片描述

4.5、地址(unicast)和元素(element)

Address 地址,一个地址对应一个元素,从上面 model 介绍中可以看出我们有三个元素,我们可以称之为元素地址,它是在 provision(组网)过程中由 provision 设备分配给 node 节点的唯一地址,在同一个 mesh 网络中每一个 node 设备可能会有多个地址 但是,每个设备里的一个 model 只能有一个地址,但不同 model 可绑定在一个地址上,在后续的 mesh 网络通信过程中设备就是依靠此地址寻找其他设备。E104-BT10G 的角色是 Provision 设备,E104-BT10N 的角色是 Node 设备。

5、使用介绍

5.1、组网介绍

E104-BT10 这个 mesh 组网模块, 分为了 E104-BT10G, E104-BT10N,两种型号,E104-BT10G(就是 provisioner),E104-BT10N(就是 node 节点),E104-BT10G 这是整个网络的发起者,整个网络有且只有一个 E104-BT10G我们所说的组网 就是用 E104-BT10G 把 E104-BT10N 加入到 E104-BT10G 的网络中。所以要实现 mesh 组网至少需要两个模块,一个 E104-BT10G,一个 E104-BT10N。

软件设置: E104-BT10G 需要设置 netkey,APPkey(详见指令 4.3.1.1)这两个值用户必须自己设置(我们有默认值,但不推荐使用),不同网络之间这两个值不能相同,因为在组网的时候 E104-BT10G 会给 E104-BT10N 分配 netkey,以及绑定 APPkey。

整个网络的组建完全自动,用户只需串口给出“添加节点入网”指令就好,组网过程最长耗时 30 秒,但是一般是 10 秒到 20秒就能成功。

文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。

原文链接:recclay.blog.csdn.net/article/details/107004001

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200