忆佰特E104-BT10G/N蓝牙模块组成mesh网络流程

Mesh网络架构

E104-BT10G/N蓝牙模块最大的优势在于可中继网络内的任意数据,任意模块都是中继,中继的同时也都可收到数据


接线方式

测试模块只需用到VCC、GND、TXD和RXD引脚,分别与USB-TTL的3V3、GND、RXD和TXD相连


将蓝牙模块连接至PC机

本次展示用到1个E104-BT10G(网关)和2个E104-BT10N(节点)


初始化蓝牙模块

打开3个串口调试助手,分别连接3个蓝牙模块,波特率115200,停止位1,数据位8,校验位:无
第一个是蓝牙网关,后面两个是蓝牙节点

如果没有串口调试助手,点击这里下载:https://pan.baidu.com/s/1nbn0FzQZrdvQuq9kT-ROaw
提取码:disd
02 C0 15

在这里插入图片描述


设置节点不进入睡眠

03 C0 17 00

00表示不进入睡眠,也可设置成01-FF,表示串口停止工作后超时进入睡眠的时间,为了测试方便设置成永不进入睡眠
在这里插入图片描述


设备入网(网关指令)

02 C0 09

每发送指令只能让一个设备入网,本次有两个节点设备,那么需要发送两次,发送后需要等待大概10秒才有回应,请耐心等待,从图中可以看出有两个设备入网成功
在这里插入图片描述
至此,Mesh网络已经搭建起来


获取设备主地址

02 C0 0B

节点1的地址是05,节点2的地址是02,网关设备入网返回指令中可以看到02和05设备已入网
在这里插入图片描述


网关向节定向发送消息

09 C2 0002 11223344AABB

参数:09是数据长度,C2是功能码,0002是目标地址,后面是数据
但数据长度明明是6个字节,原因是其它指令占用了02和03,那么从04开始算是1字节,09则是6字节,以此类推
如果想发10个字节的数据则发送指令

0A C2 0002 11223344AABBCC

向地址为02的节点发送消息,节点成功收到消息
在这里插入图片描述
向地址为05的节点发送消息,节点成功收到消息
在这里插入图片描述


节点向网关向发送消息

向地址为01的网关发送消息,网关成功收到消息
在这里插入图片描述


节点向节定向发送消息

在这里插入图片描述


网关向Mesh网络广播消息

网络内的节点1、节点2包括网关自己也收到消息
在这里插入图片描述


节点向Mesh网络广播消息

网络内的节点1、节点2包括网关自己也收到消息
在这里插入图片描述


IOS手机作为代理节点加入Mesh网络(Android手机则用BLE调试宝进行测试)

打开手机蓝牙,打开蓝牙助手APP

BluetoothLE APP

搜索到一个我们创建的Mesh网络,名字叫SigMesh,点击连接

重复节点或网关向Mesh网络广播数据的步骤,发现手机APP成功收到数据


蓝牙助手 APP

搜索到一个我们创建的Mesh网络,名字叫SigMesh,点击连接

在UUID为1828的服务下选择2ADE属性,即可监听Mesh网络的数据

重复节点或网关向Mesh网络广播数据的步骤,手机APP成功收到数据

至此Mesh网络测试完毕


分析

测试时3次都是发送相同的数据,但收到的数据不一样无规律可言,那么在二次开发中需要根据SigMesh网络协议对数据进行解析,方可得到目标数据。

欢迎讨论与指正!!!

猜你喜欢

转载自blog.csdn.net/bean_business/article/details/107809684
今日推荐