此解决方案展示了如何创建农业土壤 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 iderak4630 bsparduino 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: 安装rak4631
2、平行按压均匀施力,听到扣合声音后,扣压完成。
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并粘贴至下图所示区域。如果已存在其他链接,将上述链接粘贴至新的一行。完成后,单击“好”。
figure 16: 添加rakwireless wisblock core bsp
注意:
如果您使用的是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。figure 25: 选择频段和通道
#创建应用并添加节点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网关接收的上行数据。传感器模块日志:
网关内置服务器侧设置完成后,传感器模块将自动加入网络。打开“工具>串口监视器”,可以到如下信息,表示该wisblock 传感器模块已入网成功,并开始上传数据。figure 31: 传感器模块日志
网关中上行实时数据:
进入“lora network > application”。单击应用的“edit”操作,进入应用设备界面。单击所选设备的设备名称或设备eui链接,进入设备详情页面。单击进入“live device data”页面,可查看实时上行数据。figure 32: 网关接收的上行数据 #数据格式在 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。
两根2.5平方电线拧在一起相当于5平方电线吗?
中国“自主创芯”_以摆脱美国对全球芯片市场的控制
一家手机科技巨头OPPO也要准备下场造车了?
Intel 11代酷睿将在3月16日发布
可编程晶振常见问题以及使用思路
WisBlock 土壤 PH 监测应用指南
腾讯云客户“数据丢失”,该如何有效的预防丢失数据呢?
胜宏科技去年营业收33亿元!这家上市公司核心秘诀在这里
海柔创新与仙工智能达成战略合作,携手发布全球首款激光SLAM多层料箱机器人
基于3D Xpoint技术的傲腾DC非易失DDR4内存面世:单条容量起步128GB
可穿戴设备:华为三星增长势头惊人,苹果面临强劲竞争压力
天玑9300旗舰芯助力iQOO Neo9 Pro发布
电流负反馈放大器的原理分析与CAA计算机辅助分析设计
电容式触控电荷转移横向模式技术
中兴通讯宣布助力中国移动在杭州打通了5G 消息first cal
谷歌免费开放基于TensorFlow 的机器学习速成课程 适合于国内初学者
智能气象站丨自动采集、自动存储、自动传输
配送机器人公司Refraction AI获得420万美元的种子融资
AgTech何时才能迎来“特斯拉”时刻?
python数据挖掘案例