WisBlock 土壤 PH 监测应用指南

描述

此解决方案展示了如何创建农业土壤 pH 值传感器节点。传感器节点通过带有 RS485 接口的传感器测量土壤 pH 值。然后将此数据传输到 LoRaWAN® 服务器。

RAKFigure 1: WisBlock土壤PH监测应用图例

前期准备

#硬件

  • WisBlock Base(本示例使用RAK5005-O)
  • WisBlock Core(本示例使用RAK4631)
  • WisBlock IO(本示例使用RAK5802)
  • JXBS-3001-PH-RS (土壤PH传感器)
  • LoRa天线(本示例使用CN470频段)
  • USB连接线
  • 直流供电电源
  • 网关(网关频段需与传感器模块频段一致,本示例使用RAK7268C网关,频段CN470)

 

#软件

  • Arduino IDE
  • RAK4630 BSP
  • Arduino RS485 库
  • Arduino Modbus 库
  • 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、将RAK5802传感器模块上的连接器插头对准RAK5005-O IO插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。

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

 

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

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

 

#JXBS-3001-PH-RS 土壤PH传感器安装

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

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

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

 

具体操作步骤如下:

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

2、将JXBS-3001-PH-RS 土壤PH传感器的485 A(黄色线)和485 B(蓝色线)剥线线缆头分别插入到RAK5802对应的连接器孔中。插入后,松开弹簧头,完成压接过程。

RAKFigure 6: 对应连接孔图示

 

3、将JXBS-3001-PH-RS 土壤PH传感器的正12-24 V(棕色线)和负12-24 V(黑色线)剥线线缆头分别连接至直流供电电源正负极。

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

RAKFigure 7: 土壤PH传感器组装

 

注意:

请将传感器钢针端避开石块,按照所需测量深度抛开表层土,保持下面土壤原有松紧程度,紧握传感器垂直插入土壤。插入时不要左右晃动,一个测点的小范围内建议多次测量求平均值。

 

软件配置

本章节介绍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”页面,可查看实时上行数据。
RAKFigure 32: 网关接收的上行数据

 

#数据格式

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

字节1字节2字节3
05PH1PH2
  • 字节 1 是数据类型的标记,这里总是 05。
  • pH 值发送为PH1.PH2,在数据包中将是 02 4b。

 

如本实例中网关收到的数据为:05 02 4b。其中05为数据类型标识,0x02 0x4b为土壤 pH 值,将该十六进制数据换算成十进制数据为 275,即监测到土壤 pH 值为 2.75。

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

全部0条评论

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

×
20
完善资料,
赚取积分