此解决方案展示了如何创建农业土壤电导率传感器节点。传感器节点通过带有 RS485 接口的传感器测量土壤电导率、土壤温度和土壤湿度。然后将此数据传输到 LoRaWan® 服务器。
Figure 1: WisBlock土壤电导率监测应用图例
本章节为 WisBlock 传感器节点组装过程。
1、将LoRa天线接口对准并放置在RAK4631模块的LoRa天线接口搭接处。
Figure 2: 安装LoRa天线
2、轻轻按压LoRa天线接口,将LoRa天线安装到RAK4631上。
1、将RAK4631模块上的连接器插头对准RAK5005-O CUP插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
Figure 3: 安装RAK4631
2、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
1、将RAK5802传感器模块上的连接器插头对准RAK5005-O IO插槽上的连接器插座。保持连接器间平行,将其轻放在插座连接器相应的搭接处。
Figure 4: 传感器节点组装示意图
2、平行按压均匀施力,听到扣合声音后,扣压完成。
3、完成后,使用螺钉将模块固定在RAK5005-O上。
RAK5802采用快速压接端子连接器以简化和确保现场接线过程。快速压接端子可支持20 AWG~24 AWG线宽的电缆。通常剥线长度约为6~7 mm。
传感器线缆连接到压接端子示意图:
Figure 5: 传感器线缆连接到压接端子示意图
具体操作步骤如下:
1、将RAK5802上压接端子的弹簧头按下并稳稳地保持住。
2、将JXBS-3001-EC-RS-4 土壤电导率传感器的485 A(黄色线)和485 B(蓝色线)剥线线缆头分别插入到RAK5802对应的连接器孔中。插入后,松开弹簧头,完成压接过程。
Figure 6: 对应连接孔图示
3、将JXBS-3001-EC-RS-4 土壤电导率传感器的正12-24 V(棕色线)和负12-24 V(黑色线)剥线线缆头分别连接至直流供电电源正负极。
所有硬件安装后,如下图所示:
Figure 7: 土壤电导率传感器组装
注意:
请将传感器钢针端避开石块,按照所需测量深度抛开表层土,保持下面土壤原有松紧程度,紧握传感器垂直插入土壤。插入时不要左右晃动,一个测点的小范围内建议多次测量求平均值。
本章节介绍WisBlock 传感器模块的软件配置。
使用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 版本示意图
本示例为在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进行一些配置以便后续对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: 选择端口号
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”参数
注意:
4、单击“Save & Apply”。
5、单击新建应用后面的"Edit",进入应用编辑页面。添加节点并设置如下参数,然后单击"Save & Apply"保存配置。
Figure 29: 添加节点
其中“Device EUI”参数,从土壤电导率传感器示例代码中获取:
Figure 30: 获取设备EUI值
注意:
6、查看传感器模块日志以及RAK网关接收的上行数据。
传感器模块日志:
网关中上行实时数据:
在 LoRaWan® 服务器上,数据以下列格式到达
字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
---|---|---|---|---|---|---|
03 | CON1 | CON2 | T1 | T2 | H1 | H2 |
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条评论
快来发表一下你的评论吧 !