此解决方案展示了如何创建农业土壤电导率传感器节点。传感器节点通过带有 RS485 接口的传感器测量土壤电导率、土壤温度和土壤湿度。然后将此数据传输到 LoRaWan® 服务器。
![poYBAGLh8eSAK9dnAAAQk8hUAos331.png](https://file.elecfans.com/web2/M00/57/51/poYBAGLh8eSAK9dnAAAQk8hUAos331.png)
#前期准备
#硬件
- WisBlock Base(本示例使用RAK5005-O)
- WisBlock Core(本示例使用RAK4631)
- WisBlock IO(本示例使用RAK5802)
- JXBS-3001-EC-RS-4(土壤电导率传感器)
- LoRa天线(本示例使用CN470频段)
- USB连接线
- 直流供电电源
- 网关(网关频段需与传感器模块频段一致,本示例使用RAK7268C网关,频段CN470)
#软件
- Arduino IDE
- RAK4630 BSP
- Arduino RS485 库
- Arduino Modbus 库
- SX126x-Arduino 库
#硬件安装
本章节为 WisBlock 传感器节点组装过程。
#LoRa天线安装
1、将LoRa天线接口对准并放置在RAK4631模块的LoRa天线接口搭接处。
![poYBAGLnOGyAVXYVAAId6sqzPJg605.png](https://file.elecfans.com/web2/M00/58/DA/poYBAGLnOGyAVXYVAAId6sqzPJg605.png)
2、轻轻按压LoRa天线接口,将LoRa天线安装到RAK4631上。
#WisBlock Core安装
1、将RAK4631模块上的连接器插头对准RAK5005-O CUP插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
![安装RAK4631](https://file.elecfans.com/web2/M00/56/03/poYBAGLfoDCACOkrAAKlXMorhB0770.png)
2、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
#WisBlock IO安装
1、将RAK5802传感器模块上的连接器插头对准RAK5005-O IO插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
![pYYBAGLnOH-ABO0GAAgvTk1-eyM751.png](https://file.elecfans.com/web2/M00/59/78/pYYBAGLnOH-ABO0GAAgvTk1-eyM751.png)
2、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
#JXBS-3001-EC-RS-4 土壤电导率传感器安装
RAK5802采用快速压接端子连接器以简化和确保现场接线过程。快速压接端子可支持20 AWG~24 AWG线宽的电缆。通常剥线长度约为6~7 mm。
传感器线缆连接到压接端子示意图:
![传感器线缆连接到压接端子示意图](https://file.elecfans.com/web2/M00/57/EF/pYYBAGLh8eSAJyj2AAbU3CNPdF0371.png)
具体操作步骤如下:
1、将RAK5802上压接端子的弹簧头按下并稳稳地保持住。
2、将JXBS-3001-EC-RS-4 土壤电导率传感器的485 A(黄色线)和485 B(蓝色线)剥线线缆头分别插入到RAK5802对应的连接器孔中。插入后,松开弹簧头,完成压接过程。
![对应连接孔图示](https://file.elecfans.com/web2/M00/57/EF/pYYBAGLh8eSAE5v4AAF2KdU5UdU309.png)
3、将JXBS-3001-EC-RS-4 土壤电导率传感器的正12-24 V(棕色线)和负12-24 V(黑色线)剥线线缆头分别连接至直流供电电源正负极。
所有硬件安装后,如下图所示:
![土壤电导率传感器组装](https://file.elecfans.com/web2/M00/58/D8/poYBAGLnLyeAV3o-ABEBK2Zy3Q8278.png)
注意:
请将传感器钢针端避开石块,按照所需测量深度抛开表层土,保持下面土壤原有松紧程度,紧握传感器垂直插入土壤。插入时不要左右晃动,一个测点的小范围内建议多次测量求平均值。
#软件配置
本章节介绍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版本并下载。
![Arduino IDE 版本示意图](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKaAAI6HAADldWBU5oQ765.png)
#Arduino IDE的安装
本示例为在Windows PC中安装已下载的Arduino IDE。
1、单击“I Agree”。
![Arduino安装许可协议](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKaAK5zFAAEbi9Gzcgk541.png)
2、单击“Next”。
![Arduino安装选项](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKeAaObyAADGNwEA9VE803.png)
3、单击“Install”。
![Arduino IDE安装路径](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKeAIRg7AAC3Eq5Q1A0009.png)
![Arduino IDE安装中](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKeAVYDNAABOBRlr4vE961.png)
进度为100%后,Arduino IDE已成功安装,单击“Close”,退出安装过程。
![成功安装](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKeAddF_AABGXgOmUNg624.png)
注意:
在Linux与Mac OS X中,没有安装过程。只是一个解压过程,然后就能够成功打开Arduino IDE 。
#Arduino IDE上的配置
Arduino IDE安装成功后。需要对Arduino IDE进行一些配置以便后续对WisBlock组装模块进行相关配置。
1、打开Arduino IDE。
2、进入“文件 > 首选项”。
![首选项](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKiAFSybAACABKvAzfw402.png)
3、单击图中图标,编辑“附加开发板管理器网址”,将WisBlock Core添加到Arduino板列表中。
![修改附加开发板管理器网址](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKiAKbgRAACRDND0b1k365.png)
4、复制此URLhttps://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json
并粘贴至下图所示区域。如果已存在其他链接,将上述链接粘贴至新的一行。完成后,单击“好”。
![添加RAKwireless WisBlock Core BSP](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKiAZ2QlAAAyQ_mKo_A085.png)
注意:
如果您使用的是Linux,需要通过“pip”安装“adafruit-nrfutil”。
sudo pip3 install adafruit-nrfutil
或 pip3 install --user adafruit-nrfutil
5、重启Arduino IDE。
6、在“工具”菜单中打开“开发板管理”。
![打开开发板管理](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKiAUcM6AAECA1m_jXg996.png)
7、如下图所示,在搜索栏中键入“RAK”。将会显示出可添加到Arduino板列表中的可用RAKwireless WisBlock Core。选择以下板支持包以及相应的版本,并单击“安装”板支持包。
![安装WisBlock Core](https://file.elecfans.com/web2/M00/56/04/poYBAGLfoKiAdISrAABlfhb-xJ8600.png)
#烧录程序
1、将组装的WisBlock传感器模块使用USB连接线连接到PC上。
2、在Arduino IDE中,根据下图所示,选择WisBlock Core RAK4631板。
![选择WisBlock Core RAK4631板](https://file.elecfans.com/web2/M00/56/A1/pYYBAGLfoKiADAFeAAEW-RacLdU605.png)
3、根据下图所示,选择示例项目。
![选择示例代码](https://file.elecfans.com/web2/M00/59/76/pYYBAGLnMImAVRjfAAHE69doFBM700.png)
4、打开示例代码后,双击图中链接,安装示例代码中所需的代码库。
![安装所需代码库](https://file.elecfans.com/web2/M00/58/D8/poYBAGLnMIqAZt0OAAMpkdTifrE257.png)
5、修改示例代码中的频段区域,本示例使用的为CN470。
![修改频段](https://file.elecfans.com/web2/M00/59/76/pYYBAGLnMIqAOXfpAANi9qyjGAU621.png)
6、完成后,如下图所示,选择正确的串口并单击图中上传图标上传代码。
![选择端口号](https://file.elecfans.com/web2/M00/58/D8/poYBAGLnMIqAAGs2AADVuRXGp4o393.png)
连接到RAK网关内置服务器
#前提条件
- 传感器模块在LoRaWAN®网关覆盖范围之内。
- 已登录商业网关。
- 已在网关Web页面“LoRa Network > Network Settings”中设置网关"Mode"为“Network Server”,即表示使用网关内置服务器。
![网关设置为内置服务器模式](https://file.elecfans.com/web2/M00/57/EF/pYYBAGLh8eeAT91lAACNWj_6N4Y390.png)
- 已在网关Web页面“Channel Plan”上配置需要的"Region"。本示例中频段为CN470,通道为80-87。
![选择频段和通道](https://file.elecfans.com/web2/M00/57/51/poYBAGLh8eeAFPrjAAB1c-71ZSY008.png)
#创建应用并添加节点
1、在左侧导航树选择“LoRa Network > Application”。
2、输入应用名称,选择“Type 1 : Unified Application Key”,单击“Add”。
![添加节点](https://file.elecfans.com/web2/M00/58/DA/poYBAGLnN0CANW3nAAG9ALCI9uk406.png)
3、设置应用参数。
![设置应用参数](https://file.elecfans.com/web2/M00/59/78/pYYBAGLnN0CADYw1AAJPVat6bvc119.png)
其中“Application EUI”和“Application Key”参数,从土壤电导率传感器示例代码中获取:
![获取“Application EUI”和“Application Key”参数](https://file.elecfans.com/web2/M00/58/DA/poYBAGLnN0GAAwC7AASsYF-_NIg513.png)
注意:
- 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
- Application EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
- Application Key:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
4、单击“Save & Apply”。
5、单击新建应用后面的"Edit",进入应用编辑页面。添加节点并设置如下参数,然后单击"Save & Apply"保存配置。
![添加节点](https://file.elecfans.com/web2/M00/59/78/pYYBAGLnN0GAGxGdAAcOfTttGVo275.png)
其中“Device EUI”参数,从土壤电导率传感器示例代码中获取:
![获取设备EUI值](https://file.elecfans.com/web2/M00/58/DA/poYBAGLnN0GAAwC7AASsYF-_NIg513.png)
注意:
- 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
- Device EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
6、查看传感器模块日志以及RAK网关接收的上行数据。
传感器模块日志:
![传感器模块日志](https://file.elecfans.com/web2/M00/58/DA/poYBAGLnN0CAYdkaAAAz8cxS6ag793.png)
网关中上行实时数据:
- 进入“LoRa Network > Application”。
- 单击应用的“Edit”操作,进入应用设备界面。
- 单击所选设备的设备名称或设备EUI链接,进入设备详情页面。
- 单击进入“Live Device Data”页面,可查看实时上行数据。
#数据格式
在 LoRaWan® 服务器上,数据以下列格式到达
字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
---|---|---|---|---|---|---|
03 | CON1 | CON2 | T1 | T2 | H1 | H2 |
- 字节 1 是数据类型的标记,这里总是 03。
- 电导率作为
CON1CON2
,在数据包中将是 00 4a。 - 温度发送为
T1.T2
,在数据包中将是 00 cb。 - 湿度作为
H1.H2
,在数据包中将是 03 e8。
如本实例中网关收到的数据为:03 00 4a 00 cb 03 e8。其中03为数据类型标识;0x00 0x4a为土壤电导率,将该十六进制数据换算成十进制数据为 74,即监测到土壤导电导率为74 us/cm;0x00 0xcb为土壤温度,将该十六进制数据换算成十进制数据为 207,即监测到土壤温度为20.7;0x03 0xe8为土壤湿度,将该十六进制数据换算成十进制数据为 1000,即监测到土壤温度为10.00% RH。
-
土壤监测
+关注
关注
0文章
23浏览量
1533 -
RAK
+关注
关注
0文章
48浏览量
2133
发布评论请先 登录
相关推荐
水质电导率测试:现代水质监测的基石
什么是水质电导率变送器
多功能土壤监测传感器:同步测量温湿度、盐分与电导率
电导率自动监测仪的优势与重要性
电导率测定仪:功能全面,准确测量
电导率单位在工业应用中的作用
电导率单位在环境监测中的使用
电导率的定义和测量原理
![<b class='flag-5'>电导率</b>的定义和测量原理](https://file1.elecfans.com/web1/M00/F4/59/wKgaoWcp1DSAfJg7AAA9IageWd0990.png)
电导率测定仪的基础应用与探索
电导率在线检测仪的广泛应用
电导率测定仪的应用优势
什么是电导率自动监测仪
测电导率需要注意哪些事项
7芯M9接头的电导率高吗
![7芯M9接头的<b class='flag-5'>电导率</b>高吗](https://file1.elecfans.com/web2/M00/C7/44/wKgZomYSSPGAQHiHAADOkvS-Bts978.png)
3针航空插头的电导率怎么样
![3针航空插头的<b class='flag-5'>电导率</b>怎么样](https://file1.elecfans.com/web2/M00/C7/44/wKgZomYSSPGAQHiHAADOkvS-Bts978.png)
评论