此解决方案展示了如何创建农业土壤 pH 值传感器节点。传感器节点通过带有 RS485 接口的传感器测量土壤 pH 值。然后将此数据传输到 LoRaWAN® 服务器。
Figure 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天线接口搭接处。
Figure 2: 安装LoRa天线2、轻轻按压LoRa天线接口,将LoRa天线安装到RAK4631上。
#WisBlock Core安装
1、将RAK4631模块上的连接器插头对准RAK5005-O CUP插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
Figure 3: 安装RAK46312、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
#WisBlock IO安装
1、将RAK5802传感器模块上的连接器插头对准RAK5005-O IO插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
Figure 4: 传感器节点组装示意图2、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
#JXBS-3001-PH-RS 土壤PH传感器安装
RAK5802采用快速压接端子连接器以简化和确保现场接线过程。快速压接端子可支持20 AWG~24 AWG线宽的电缆。通常剥线长度约为6~7 mm。
传感器线缆连接到压接端子示意图:
Figure 5: 传感器线缆连接到压接端子示意图具体操作步骤如下:
1、将RAK5802上压接端子的弹簧头按下并稳稳地保持住。
2、将JXBS-3001-PH-RS 土壤PH传感器的485 A(黄色线)和485 B(蓝色线)剥线线缆头分别插入到RAK5802对应的连接器孔中。插入后,松开弹簧头,完成压接过程。
Figure 6: 对应连接孔图示3、将JXBS-3001-PH-RS 土壤PH传感器的正12-24 V(棕色线)和负12-24 V(黑色线)剥线线缆头分别连接至直流供电电源正负极。
所有硬件安装后,如下图所示:
Figure 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版本并下载。
Figure 8: Arduino IDE 版本示意图#Arduino IDE的安装
本示例为在Windows PC中安装已下载的Arduino IDE。
1、单击“I Agree”。
Figure 9: Arduino安装许可协议2、单击“Next”。
Figure 10: Arduino安装选项3、单击“Install”。
Figure 11: Arduino IDE安装路径Figure 12: Arduino IDE安装中进度为100%后,Arduino IDE已成功安装,单击“Close”,退出安装过程。
Figure 13: 成功安装注意:在Linux与Mac OS X中,没有安装过程。只是一个解压过程,然后就能够成功打开Arduino IDE 。
#Arduino IDE上的配置
Arduino IDE安装成功后。需要对Arduino IDE进行一些配置以便后续对WisBlock组装模块进行相关配置。
1、打开Arduino IDE。
2、进入“文件 > 首选项”。
Figure 14: 首选项3、单击图中图标,编辑“附加开发板管理器网址”,将WisBlock Core添加到Arduino板列表中。
Figure 15: 修改附加开发板管理器网址4、复制此URLhttps://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json
并粘贴至下图所示区域。如果已存在其他链接,将上述链接粘贴至新的一行。完成后,单击“好”。
注意:
如果您使用的是Linux,需要通过“pip”安装“adafruit-nrfutil”。
sudo pip3 install adafruit-nrfutil
或 pip3 install --user adafruit-nrfutil
5、重启Arduino IDE。
6、在“工具”菜单中打开“开发板管理”。
Figure 17: 打开开发板管理7、如下图所示,在搜索栏中键入“RAK”。将会显示出可添加到Arduino板列表中的可用RAKwireless WisBlock Core。选择以下板支持包以及相应的版本,并单击“安装”板支持包。
Figure 18: 安装WisBlock Core#烧录程序
1、将组装的WisBlock传感器模块使用USB连接线连接到PC上。
2、在Arduino IDE中,根据下图所示,选择WisBlock Core RAK4631板。
Figure 19: 选择WisBlock Core RAK4631板3、根据下图所示,选择示例项目。
Figure 20: 选择示例代码4、打开示例代码后,双击图中链接,安装示例代码中所需的代码库。
Figure 21: 安装所需代码库5、修改示例代码中的频段区域,本示例使用的为CN470。
Figure 22: 修改频段6、完成后,如下图所示,选择正确的串口并单击图中上传图标上传代码。
Figure 23: 选择端口号连接到RAK网关内置服务器
#前提条件
- 传感器模块在LoRaWAN®网关覆盖范围之内。
- 已在网关Web页面“LoRa Network > Network Settings”中设置网关"Mode"为“Network Server”,即表示使用网关内置服务器。
已登录商业网关。
Figure 24: 网关设置为内置服务器模式- 已在网关Web页面“Channel Plan”上配置需要的"Region"。本示例中频段为CN470,通道为80-87。
#创建应用并添加节点
1、在左侧导航树选择“LoRa Network > Application”。
2、输入应用名称,选择“Type 1 : Unified Application Key”,单击“Add”。
Figure 26: 添加节点3、设置应用参数。
Figure 27: 设置应用参数其中“Application EUI”和“Application Key”参数,从土壤电导率传感器示例代码中获取:
Figure 28: 获取“Application EUI”和“Application Key”参数注意:
- 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
- Application EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
- Application Key:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
4、单击“Save & Apply”。
5、单击新建应用后面的"Edit",进入应用编辑页面。添加节点并设置如下参数,然后单击"Save & Apply"保存配置。
Figure 29: 添加节点其中“Device EUI”参数,从土壤电导率传感器示例代码中获取:
Figure 30: 获取设备EUI值注意:
- 示例中使用的是OTAA加网方式,所以选用的是"OTAA keys"相关参数,根据实际选择“OTAA”或“ABP”参数。
- Device EUI:在传感器示例代码中获取,切记需要删除各个数字前的“0x”以及“,”。
6、查看传感器模块日志以及RAK网关接收的上行数据。传感器模块日志:
Figure 31: 传感器模块日志网关中上行实时数据:
- 进入“LoRa Network > Application”。
- 单击应用的“Edit”操作,进入应用设备界面。
- 单击所选设备的设备名称或设备EUI链接,进入设备详情页面。
- 单击进入“Live Device Data”页面,可查看实时上行数据。
#数据格式
在 LoRaWAN® 服务器上,数据以下列格式到达:
字节1 | 字节2 | 字节3 |
---|---|---|
05 | PH1 | PH2 |
- 字节 1 是数据类型的标记,这里总是 05。
- pH 值发送为
PH1.PH2
,在数据包中将是 02 4b。
如本实例中网关收到的数据为:05 02 4b。其中05为数据类型标识,0x02 0x4b为土壤 pH 值,将该十六进制数据换算成十进制数据为 275,即监测到土壤 pH 值为 2.75。
-
土壤监测
+关注
关注
0文章
21浏览量
1476 -
RAK
+关注
关注
0文章
48浏览量
2065
发布评论请先 登录
相关推荐
评论