
本文共 1270 字,大约阅读时间需要 4 分钟。
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秒才有回应,请耐心等待,从图中可以看出有两个设备入网成功

获取设备主地址
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的节点发送消息,节点成功收到消息


节点向网关向发送消息
向地址为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网络协议对数据进行解析,方可得到目标数据。
欢迎讨论与指正!!!
发表评论
最新留言
关于作者
