查看: 626|回复: 0

[技术交流] 萤火自组网DM34集中器、WB25节点模块上手指南

[复制链接]

74

主题

169

帖子

573

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
573
发表于 2022-8-15 14:11:38 | 显示全部楼层 |阅读模式
  背景

  本文以一个传感器数据上报的例子,来讲述萤火自组网完整的数据通信流程,具体以“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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表