WisBlock 水位监测应用指南

描述

此解决方案展示了如何创建水位监控节点。监控节点通过带有 0 至 5V 模拟接口的传感器测量水位。然后将此数据传输到 LoRaWan® 服务器。

RAKFigure 1: WisBlock水位监测应用图例

 

#前期准备

#硬件

要构建此系统,需要以下硬件:

  • WisBlock Base(本示例使用RAK5005-O)
  • WisBlock Core(本示例使用RAK4631)
  • WisBlock IO(本示例使用RAK5811)
  • ULB16 (0-5V 接口水位传感器)

 

#软件

  • Arduino IDE
  • RAK4630 BSP
  • SX126x-Arduino 库

 

硬件安装

本章节为 WisBlock 传感器节点组装过程。

 

#LoRa天线安装

1、将LoRa天线接口对准并放置在RAK4631模块的LoRa天线接口搭接处。

RAKFigure 2: 安装LoRa天线

 

2、轻轻按压LoRa天线接口,将LoRa天线安装到RAK4631上。

 

#WisBlock Core安装

1、将RAK4631模块上的连接器插头对准RAK5005-O CUP插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。

RAKFigure 3: 安装RAK4631

 

2、平行按压均匀施力,听到扣合声音后,扣压完成。

3、完成后,使用螺钉将模块固定在RAK5005-O上。

 

#WisBlock IO安装

1、将RAK5811传感器模块上的连接器插头对准RAK5005-O IO插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。

RAKFigure 4: 传感器节点组装示意图

 

2、平行按压均匀施力,听到扣合声音后,扣压完成。

3、完成后,使用螺钉将模块固定在RAK5005-O上。

 

#ULB16 型水位传感器安装

RAK5811采用快速压接端子连接器以简化和确保现场接线过程。快速压接端子可支持20 AWG~24 AWG线宽的电缆。通常剥线长度约为6~7 mm。

传感器线缆连接到压接端子示意图:

RAKFigure 5: 传感器线缆连接到压接端子示意图

 

具体操作步骤如下:

1、将RAK5811上压接端子的弹簧头按下并稳稳地保持住。

2、将ULB16 型水位传感器的正极(本实例中为红色线缆)和负极(本实例中为黑色线缆)剥线线缆头分别插入到RAK5811对应的连接器孔中。插入后,松开弹簧头,完成压接过程。

3、将ULB16 型水位传感器的信号连接线(本实例中为棕色线缆),插入到RAK5811对应的连接器孔中。插入后,松开弹簧头,完成压接过程。

 

RAKFigure 6: 对应连接孔图示

 

所有硬件安装后,如下图所示:

RAKFigure 7: 水位监测传感器组装

 

#软件配置

本章节介绍WisBlock 传感器模块的软件配置。

 

#Arduino IDE的下载

使用Arduino IDE对WisBlock进行编码和编程。如果您还未安装Arduino IDE,可在Arduino官网中下载。

 

警告:如果您所使用的操作系统为Windows 10:
请勿从Microsoft应用商店中安装Arduino IDE。请从Arduino官网中安装原始的Arduino IDE。Microsoft应用商店中的Arduino应用在使用第三方板支持包时存在问题。

 

如下图所示,可以看到Arduino IDE当前版本为V1.8.16。Windows、Linux和Mac OS X都有多个可用版本,选择正确的Arduino IDE版本并下载。

RAKFigure 8: Arduino IDE 版本示意图

 

#Arduino IDE的安装

本示例为在Windows PC中安装已下载的Arduino IDE。

1、单击“I Agree”。

RAKFigure 9: Arduino安装许可协议

 

2、单击“Next”。

RAKFigure 10: Arduino安装选项

 

3、单击“Install”。

RAKFigure 11: Arduino IDE安装路径

 

RAKFigure 12: Arduino IDE安装中

 

进度为100%后,Arduino IDE已成功安装,单击“Close”,退出安装过程。

RAKFigure 13: 成功安装

 

注意:在Linux与Mac OS X中,没有安装过程。只是一个解压过程,然后就能够成功打开Arduino IDE 。

 

#Arduino IDE上的配置

Arduino IDE安装成功后。需要对Arduino IDE进行一些配置以便后续对WisBlock组装模块进行相关配置。

1、打开Arduino IDE。

2、进入“文件 > 首选项”。

RAKFigure 14: 首选项

 

3、单击图中图标,编辑“附加开发板管理器网址”,将WisBlock Core添加到Arduino板列表中。

RAKFigure 15: 修改附加开发板管理器网址

 

4、复制此URLhttps://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json并粘贴至下图所示区域。如果已存在其他链接,将上述链接粘贴至新的一行。完成后,单击“好”。

RAKFigure 16: 添加RAKwireless WisBlock Core BSP

 

注意:如果您使用的是Linux,需要通过“pip”安装“adafruit-nrfutil”。

sudo pip3 install adafruit-nrfutilpip3 install --user adafruit-nrfutil

 

5、重启Arduino IDE。

6、在“工具”菜单中打开“开发板管理”。

RAKFigure 17: 打开开发板管理

 

7、如下图所示,在搜索栏中键入“RAK”。将会显示出可添加到Arduino板列表中的可用RAKwireless WisBlock Core。选择以下板支持包以及相应的版本,并单击“安装”板支持包。

RAKFigure 18: 安装WisBlock Core

 

#烧录程序

1、将组装的WisBlock传感器模块使用USB连接线连接到PC上。

2、在Arduino IDE中,根据下图所示,选择WisBlock Core RAK4631板。

RAKFigure 19: 选择WisBlock Core RAK4631板

 

3、根据下图所示,选择示例项目。

RAKFigure 20: 选择示例代码

 

4、打开示例代码后,双击图中链接,安装示例代码中所需的代码库。

RAKFigure 21: 安装所需代码库

 

5、修改示例代码中的频段区域,本示例使用的为CN470。

RAKFigure 22: 修改频段

 

6、完成后,如下图所示,选择正确的串口并单击图中上传图标上传代码。

RAKFigure 23: 选择端口号

 

连接到RAK网关内置服务器

#前提条件

  • 传感器模块在LoRaWAN®网关覆盖范围之内。
  • 已登录商业网关。
  • 已在网关Web页面“LoRa Network > Network Settings”中设置网关"Mode"为“Network Server”,即表示使用网关内置服务器。
RAKFigure 24: 网关设置为内置服务器模式

 

  • 已在网关Web页面“Channel Plan”上配置需要的"Region"。本示例中频段为CN470,通道为80-87。
RAKFigure 25: 选择频段和通道

 

#创建应用并添加节点

1、在左侧导航树选择“LoRa Network > Application”。

2、输入应用名称,选择“Type 1 : Unified Application Key”,单击“Add”。

RAKFigure 26: 添加节点

 

3、设置应用参数。

RAKFigure 27: 设置应用参数

 

其中“Application EUI”和“Application Key”参数,从土壤电导率传感器示例代码中获取:

RAKFigure 28: 获取“Application EUI”和“Application Key”参数

 

注意:

  • 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
  • Application EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
  • Application Key:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。

 

4、单击“Save & Apply”。

5、单击新建应用后面的"Edit",进入应用编辑页面。添加节点并设置如下参数,然后单击"Save & Apply"保存配置。

RAKFigure 29: 添加节点

 

其中“Device EUI”参数,从土壤电导率传感器示例代码中获取:

RAKFigure 30: 获取设备EUI值

 

注意:

  • 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
  • Device EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。

 

6、查看传感器模块日志以及RAK网关接收的上行数据。传感器模块日志:

  • 网关内置服务器侧设置完成后,传感器模块将自动加入网络。
  • 打开“工具>串口监视器”,可以到如下信息,表示该WisBlock 传感器模块已入网成功,并开始上传数据。
RAKFigure 31: 传感器模块日志

 

网关中上行实时数据:

  • 进入“LoRa Network > Application”。
  • 单击应用的“Edit”操作,进入应用设备界面。
  • 单击所选设备的设备名称或设备EUI链接,进入设备详情页面。
  • 单击进入“Live Device Data”页面,可查看实时上行数据。

 

#数据格式

在 LoRaWan® 服务器上,数据以下列格式到达

字节1字节2字节3
07D1D2
  • 字节 1 是数据类型的标记,这里总是 07
  • 压力发送为D1D2例如 54 mm,在数据包中将是 (0x00 0x36)。

 

如本实例中网关收到的数据为:07 00 36。其中07为数据类型标识,0x00 0x36为监测水位数值,将该十六进制数据换算成十进制数据为 54,即监测到土壤 pH 值为 54 mm。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分