点击上方“嵌入式从0到1”,选择“置顶/星标公众号”
干货福利,第一时间送达!
测试前准备
预定义模块参数
具体配置参数预定义如下:
模块ID | 地址 | 信道 | 网络ID | 备注 |
---|---|---|---|---|
1 | 0x0001 | 0x0F | 0x1234 | 主节点,与PC连接 |
2 | 0x0002 | 0x0F | 0x1234 | |
3 | 0x0003 | 0x0F | 0x1234 | |
4 | 0x0004 | 0x0F | 0x1234 |
模块串口通信的波特率为:115200。
测试全家福
一共使用四个DL-LN33 ZigBee模块,四个USB转串口模块。
地址0x0001的模块通过USB转TTL模块与PC的USB口相连,两个模块使用四个引脚相连;
DL-LN33 ZigBee模块 | USB转TTL串口模块 |
---|---|
Rx | TXD |
Tx | RXD |
VCC | 3V3 |
GND | GND |
地址0x0002、0x0003、0x0004三个模块只需要通过USB转TTL模块提供3.3V电源和GND即可。
除地址0x0001以外的三个USB转TTL模块的USB口可以通过电脑的USB口、手机充电头、充电宝等方式供电。
提示:
为了记忆方便,模块设置完地址之后,可以在模块上标记模块的地址,方便区分。
上位机网络拓扑软件演示
1. 在DL-LN3X网络拓扑显示软件,右下角选择对应的串口号。
此过程串口监控中,可以看到上位机网络拓扑软件跟模块进行了如下交互:
2. 点击“Node–>Scan Loop”,软件左侧出现对应的几个节点,稍等片刻之后右侧将出现网络拓扑结构,地址列表中背景为绿色的模块,表示成功处于组网中。
扫描节点指令,实际通过串口发送的数据包如下:
3. 点亮模块中的红灯,测试模块间通信是否正常。
点亮模块上红灯的方法:
-
点击左侧“
发送”按钮;
-
左键双击右侧
某一个节点的图标;
-
右键点击某一个节点的图标,弹出菜单中单击“
Red On”。
DL-LN3X网络拓扑显示软件中,点击“指引”下面的“发送”按钮,实际上是让模块上的红灯点亮2S。
串口监控中可以看到实际发送的指令如下:
此指令即是点亮模块上红灯的测试指令。
点击“测试”下面的“打开”按钮,可以看到数据包的测试情况,具体发送的测试指令如下图所示:
4. 查看模块路由。
右键点击某一个节点的图标,单击菜单中的“Show Route”。
连接质量测试
测试前提
地址0x0001的模块与PC通过USB转TTL串口相连;
地址0x0004的模块上电;
地址0x0002和0x0003的模块,未上电。
测试过程
端口 0x23 用于探测两个模块之间的双向链路质量,链路质量为两个模块之间互相发包时,收到数据的信号强度的平均值,信号强度取决于两个模块之间的距离,以及有无遮挡物。如果已知两个模块之间没有遮挡,这个值可以用来估计模块之间的距离。
此端口可接收以下包:
连接质量采集命令:
数据 | 长度 | 意义 |
---|---|---|
采集目标地址 | 2 Byte | 采集 RSSI 的另一个模块的地址,不可为 0x0000 和 0xFFFF |
下面是一个数据包的例子:
FE 06 80 23 01 00 04 00 FF
这个命令将会采集两个模块之间的 RSSI,其中一个模块为收到此包的模块,即地址为 0x0001,另一个模块为 0x0004。即采集目标地址。如此,模块 0x0001 会给模块 0x0004 发送一个采集 RSSI 命令,模块 0x0004 在收到此命令后返回一个 RSSI 数值,模块 0x0001 收到此包后,将综合两个数据,返回此包:
FE 07 23 80 01 00 04 00 2B FF
通过解析返回的数据包,可以求得网络的连接质量。
返回数据含义
数据 | 长度 | 意义 |
---|---|---|
采集目标地址 | 2Byte | 采集 RSSI 的另一个模块的地址,不可为 0x0000 和 0xFFFF |
连接质量参数 | 1Byte | 有符号数。表示两个节点之间的连接质量,数值越高表示两个节点间的连接质量越好。如果此数值为-128(0x80)说明节点没有收到对方返回的包,即数据。 |
向一个没有在网的模块地址发送测试指令:
FE 06 80 23 01 00 02 00 FF
采集链路质量的返回值如果是 0x80(十进制的128) 说明采集信息发送失败了,这有可能是两个节点距离太远,也有可能是因为当时网络的通信非常频繁,因此采集信息无法发出。
信号穿墙能力测试
情景1
四个ZigBee模块放置位置如下:
0x0001 | 0x0002 | 0x0003 | 0x0004 | |
---|---|---|---|---|
位置 | 次卧 | 次卧 | 客厅 | 主卧 |
主卧关门、次卧关门,地址0x0001的模块与0x0004的模块通信测试一切正常。
情景2
0x0001 | 0x0002 | 0x0003 | 0x0004 | |
---|---|---|---|---|
位置 | 次卧 | 次卧 | 客厅 | 走廊 |
入户门关门、次卧关门,地址0x0001的模块与0x0004的模块通信测试一切正常。
由上面的拓扑结构可以看出,地址为0x0003的模块在其中起到了一个桥梁作用,我将地址为0x0002、0x0003的模块断电后测试,发现此时地址为0x0004的模块已经找不到了。
重启上位机网络拓扑软件,发现已经找不到地址0x0004的模块了。
情景3
将地址0x0001的模块挪到客厅,发现两个模块可以正常组网通信。
小结
由上测试可知,DL-LN33 ZigBee模块穿透入户门没有问题,屋内各个卧室和客厅各放置一个模块,基本可以做到室内通信没有死角。
参考阅读
2.4G ZigBee无线自组网mesh网络模块简介
DL-LN33 ZigBee模块指令分析/地址和组网信息的修改
– END –
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!