|
背景
本文以一个传感器数据上报的例子,来讲述萤火自组网完整的数据通信流程,具体以“WB25自组网节点开发板+PC+格西烽火串口调试助手”来模拟1个温度、湿度传感器终端,以DM34自组网集中器开发板来模拟1个集中器网关,来实现传感器终端的温度、湿度数据上报,集中器集抄、点抄传感器数据等功能。
具体流程包括传感器终端入网、传感器终端主动上报数据、集中器集抄与点抄、传感器终端退网等步骤,其中集中器集抄、点抄时可以带数据也可以不带数据,同样,传感器终端回复包也可以带数据或不带数据,这些都由客户应用端决定。
传感器类型 | 数据类型 | 集中器抄表下发数据内容(HEX) | 传感器终端上报数据内容(HEX) | 湿度传感器 | 湿度 | 66 77 77 66 | 334455 | 温度传感器 | 温度 | 66 88 88 66 | 001122 | 光照传感器 | 光照 | 66 99 99 66 | 667788 |
下图左边是DM34自组网集中器开发板,右边是WB25自组网节点开发板。
客户如果想详细了解模块软硬件方面参数,请参考文末附件-产品规格书、使用说明书。
文档版本:
版本 | log | REV01 | 初版 | REV02 | 新增低功耗能描述 |
过程 一、硬件接线
如果客户使用WB25自组网节点、DM34集中器开发板来进行前期调试,那么需注意一点,通过串口调试助手每次给节点发数据前,需要wake引脚上升沿电平唤醒(开发板上wake引脚、VCC引脚已引出,使用杜邦线跨接)。
如果客户直接采购的自组网节点、集中器模块来进行调试,那么需注意:
●集中器以下几个引脚要接:VCC、GND给模块供电,UART2是数据串口,UART3是调试串口。
●节点以下几个引脚要接:VCC、GND给模块供电,串口要接,wake引脚要接。
由于集中器、节点的指令中倒数第2个字节是CS校验和,所以推荐客户使用“格西烽火串口调试助手”,可以自动计算校验和。(具体软件使用方法,请百度)
二、完整通信流程介绍
1、传感器终端入网
需注意以下几点:
●必须保证节点、集中器的band、NetID、是否开启低功耗,两边模组保持一致。(下文实验都是基于开启低功耗功能实现的)
●若集中器端启用了白名单功能,需要将节点MAC地址添加到集中器白名单内,名单外的节点无法加入网络。
1.1 节点端参数配置:
●配置MAC地址
[2022-06-08 14:50:46.977 T]68 00 0D 90 01 61 61 62 62 63 63 EA 16 //配置节点MAC地址是61 61 62 62 63 63
[2022-06-08 14:50:47.038 R]68 00 07 20 00 27 16 //00代表成功,其余错误代码请参考文末“接口协议文档”。
●查询MAC地址
[2022-06-08 14:51:23.287 T]68 00 07 91 01 99 16
[2022-06-08 14:51:23.316 R]68 00 0D 20 00 61 61 62 62 63 63 79 16 //查询到节点MAC地址是61 61 62 62 63 63
●配置NetID
[2022-06-08 14:52:52.589 T]68 00 08 90 02 AB 45 16 //配置NetID=AB
[2022-06-08 14:52:52.619 R]68 00 07 20 00 27 16
●查询NetID
[2022-06-08 14:52:53.894 T]68 00 07 91 02 9A 16 //查询到NetID=AB
[2022-06-08 14:52:53.907 R]68 00 08 20 00 AB D3 16
●配置band
[2022-06-08 14:56:36.918 T]68 00 08 90 03 09 A4 16 //配置band=09
[2022-06-08 14:56:36.942 R]68 00 07 20 00 27 16
●查询band
[2022-06-08 14:56:38.056 T]68 00 07 91 03 9B 16 //查询到band=09
[2022-06-08 14:56:38.087 R]68 00 08 20 00 09 31 16
●低功耗开启
[2022-08-11 17:51:13.737 T]68 00 08 90 06 01 9F 16 //使能低功耗(出厂默认是非低功耗模式)
[2022-08-11 17:51:13.766 R]68 00 07 20 00 27 16
1.2 集中器端参数配置:
●配置NetID
[2022-06-08 15:00:20.889 T]68 00 08 90 02 AB 45 16 //配置NetID=AB
[2022-06-08 15:00:20.951 R]68 00 07 20 00 27 16
●查询NetID
[2022-06-08 15:00:23.794 T]68 00 07 91 02 9A 16 //查询到NetID=AB
[2022-06-08 15:00:23.824 R]68 00 08 20 00 AB D3 16
●配置band
[2022-06-08 15:01:24.706 T]68 00 08 90 03 09 A4 16 //配置band=09
[2022-06-08 15:01:27.406 R]68 00 07 20 00 27 16
●查询band
[2022-06-08 15:01:29.243 T]68 00 07 91 03 9B 16 //查询到band=09
[2022-06-08 15:01:29.273 R]68 00 08 20 00 09 31 16
●配置使能白名单
[2022-06-08 15:07:10.888 T]68 00 08 90 05 01 9E 16 //开启白名单
[2022-06-08 15:07:10.934 R]68 00 07 20 00 27 16
●查询白名单使能
[2022-06-08 15:07:14.342 T]68 00 07 91 05 9D 16
[2022-06-08 15:07:14.371 R]68 00 08 20 00 01 29 16
●白名单添加设备
[2022-06-08 15:43:47.913 T]68 00 0D 81 01 61 61 62 62 63 63 DB 16 //节点61 61 62 62 63 63添加进集中器白名单
[2022-06-08 15:43:47.943 R]68 00 07 20 00 27 16
●查询白名单
[2022-06-08 15:43:50.121 T]68 00 07 81 03 8B 16
[2022-06-08 15:43:50.167 R]68 00 0D 20 00 61 61 62 62 63 63 79 16
1.3 节点主动入网
【节点串口】
[2022-06-09 10:46:53.551 T]68 00 07 81 01 89 16 //节点主动入网(band、NetID默认暂不保存,MAC地址默认保存)
[2022-06-09 10:46:54.080 R]68 00 07 02 01 0A 16
【集中器串口】
[2022-06-09 10:48:00.962 R]68 00 10 03 61 61 62 62 63 63 FF ED 00 0D 58 16 //集中器收到“节点入网信息”,节点MAC地址=61 61 62 62 63 63,节点RSSI与SNR数据类型是int16_t,节点RSSI=0xFF ED-0xFFFF=-18,SNR=0x0D=13.
1.4 节点被动入网(集中器下发入网广播,让白名单内所有设备重新入网)
【集中器串口】
[2022-06-09 10:54:31.207 T]68 00 0D 82 01 FF FF FF FF FF FF 8A 16 //集中器下发入网广播,MAC地址填 FF FF FF FF FF FF,清空入网列表并广播要求所有网内设备发起入网请求。全网节点会以一定的规则在短时间内重新完成入网过程。
[2022-06-09 10:54:38.207 R]68 00 10 03 61 61 62 62 63 63 FF ED 00 0D 58 16 //节点MAC地址=61 61 62 62 63 63入网成功。
[2022-06-09 10:55:10.439 R]68 00 07 06 00 0D 16 //入网任务结束。
【节点串口】
[2022-06-15 15:46:31.898 R]68 00 07 02 01 0A 16 //传感器终端入网成功。
注意:节点为入网前,被动入网无效。
2、终端主动上报传感器光照值
【节点串口】
[2022-06-16 15:57:54.379 T]68 00 09 85 66 77 88 F3 16 //节点主动上报传感器光照值,data=66 77 88。
[2022-06-16 15:57:54.892 R]68 00 07 06 00 0D 16
【集中器串口】
[2022-06-16 15:57:54.907 R]68 00 13 05 61 61 62 62 63 63 FF EF 00 0D 66 77 88 C4 16 //集中器收到MAC=61 61 62 62 63 63的节点发来的数据帧,data=66 77 88,代表传感器光照值上报。
3、集中器点抄(集中器不带数据下去,即data字段为空)
【集中器串口】
[2022-06-16 13:49:25.034 T]68 00 0C 84 61 61 62 62 63 63 DC 16 //集中器向MAC地址=61 61 62 62 63 63的节点,下发空包。
[2022-06-16 13:49:25.065 R]68 00 07 20 00 27 16 //指令下发成功
[2022-06-16 13:49:29.584 R]68 00 10 05 61 61 62 62 63 63 FF E3 00 09 4C 16 //集中器收到节点数据下发应答,内容是空包。
[2022-06-16 13:49:29.616 R]68 00 07 06 00 0D 16 //点抄结束
【节点串口】
[2022-06-16 15:41:59.387 R]68 00 06 03 09 16 //节点收到集中器数据下发,内容是空包。(如果节点模块收到集中器抄表命令后,会通过串口TX给MCU最多发3次数据下发指令,以避免串口丢包,MCU收不到)
[2022-06-16 15:41:59.494 R]68 00 06 03 09 16
[2022-06-16 15:41:59.589 R]68 00 06 03 09 16
4、集中器点抄(抄终端传感器温度值,data=66 88 88 66)
【集中器串口】
[2022-06-16 15:01:35.239 T]68 00 10 84 61 61 62 62 63 63 66 88 88 66 BC 16 //集中器向MAC地址=61 61 62 62 63 63的节点下发抄表命令,data=66 88 88 66,代表抄取传感器温度值。
[2022-06-16 15:01:35.269 R]68 00 07 20 00 27 16 //指令下发成功
[2022-06-16 15:01:39.616 R]68 00 13 05 61 61 62 62 63 63 FF F3 00 0A 00 11 22 93 16 //节点61 61 62 62 63 63上报传感器温度值00 11 22。
[2022-06-16 15:01:39.647 R]68 00 07 06 00 0D 16 //抄表结束。
【节点串口】
[2022-06-16 15:01:39.260 R]68 00 0A 03 66 88 88 66 E9 16 //节点收到集中器抄表指令,解析出来data=66 88 88 66,代表集中器要抄传感器温度值。
[2022-06-16 15:01:39.355 T]68 00 09 84 00 11 22 C0 16 //节点上报传感器温度值,data=00 11 22.
5、集中器集抄(抄终端传感器湿度值,data=66 77 77 66)
【集中器串口】
[2022-06-16 15:35:41.309 T]68 00 10 84 FF FF FF FF FF FF 66 77 77 66 48 16 //MAC地址字段填FF FF FF FF FF FF,表示集中器向网内所有节点下发抄表命令,data=66 77 77 66,代表抄取传感器湿度值。
[2022-06-16 15:35:41.339 R]68 00 07 20 00 27 16 //指令下发成功
[2022-06-16 15:35:45.683 R]68 00 13 05 61 61 62 62 63 63 FF F3 00 0A 33 44 55 2C 16 //节点61 61 62 62 63 63上报传感器湿度值33 44 55。
[2022-06-16 15:35:45.792 R]68 00 07 06 00 0D 16 //抄表结束。
【节点串口】
[2022-06-16 15:35:45.327 R]68 00 0A 03 66 77 77 66 C7 16 //节点收到集中器抄表指令,解析出来data=66 77 77 66,代表集中器要抄传感器湿度值。
[2022-06-16 15:35:45.422 T]68 00 09 84 33 44 55 59 16 //节点上报传感器湿度值,data=33 44 55.
6、节点退网(集中器下发离网指令,让某设备退网)
【集中器串口】
[2022-06-09 17:11:07.395 T]68 00 0D 82 02 61 61 62 62 63 63 DD 16 //集中器下发离网指令,让节点61 61 62 62 63 63 退网。
[2022-06-09 17:11:15.277 R]68 00 07 06 00 0D 16 //退网任务结束。
[2022-06-09 17:11:54.147 T]68 00 07 82 03 8C 16 //查询白名单内在网节点
[2022-06-09 17:11:54.177 R]68 00 07 20 06 2D 16 //0x06代表网内无设备,说明节点61 61 62 62 63 63 成功退网。
请下载:http://doc.wsn.lierda.com/download/attachments/7046536/%E6%A0%BC%E8%A5%BF%E7%83%BD%E7%81%AB%E4%B8%B2%E5%8F%A3%E5%8A%A9%E6%89%8B%E7%A0%B4%E8%A7%A3%E7%89%88.zip?version=1&modificationDate=1655791677070&api=v2
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|