NFC与ZigBee技术在智慧农业物联网监测系统中的应用

近年来,我国农业物联网技术飞速发展,基于物联网技术的智能农业监测系统有望得到较大规模的推广应用。但传统的物联网农业监测系统其网络结构层次单一,多采用基于有线或无线结构的节点-上位机数据采集模式,节点数据访问模式缺乏灵活性,对监测数据的获取过度依赖上位机。使用者需要通过上位机或远程网络才能实时获得种植信息。在很多场合中,使用者感兴趣的仅仅是局部种植信息或现场田间接入,若利用 3G/4G 网络或 WiFi作为技术支持手段,则存在系统建立与维护成本高昂、拓扑结构单一、节点功耗增加、对外部网络依赖性强等缺点。

NFC 是近几年蓬勃发展的一种新型短距离高频无线通信技术。该技术允许电子设备之间进行非接触式点对点数据传输(数厘米内)。相对于 RFID 技术,NEC 不仅可用于识别还具有一定的通信能力。近年来国内外已经将 NFC用于移动支付、广告营销及安全控制等领域。NFC 技术由于具有与移动智能设备集成度好、可用于识别、成本低廉及安全性高等优点,未来将成为物联网的主要短距离通信 /识别手段之一。

智慧农业监控系统

本文提出了一种融合近场通信(Near Field Communica-tion,NFC)与 igBee 技术的农业种植监测系统。该系统不仅可以借助 ZigBee 无线网络向上位机传输节点采集到的温湿度、土类温度、光照、氧气含量等数据,还可以让使用者在田间地头直接通过智能手机或平板电脑等移动智能设备与身边的监测节点交互,经由 NFC 实时动地了解局部种植监测信息。该系统可丰富现有物联网智能农业监测系统的工作模式,尤其在一些高端农业种植、个体植林监测与观光农业领域,有望得到推广应用。

1 系统设计

本文提出的农业种植管理系统主要面向智能观光农业领域。管理者通过系统获得温湿度等种植信息,还可将施肥、喷药等信息写入终端节点。而普通访问者(如农业观光园中的游览者)通过具有 NFC 功能的移动智能设备获取某一节点周围局部的挂果时间、农业肥料喷洒时间、栽培品种、温湿度、价格等相关信息供其采摘时参考。管理者还可通过 NFC 接入次数在宏观层面了解各种植区的人流及采摘兴趣。系统中网络节点分为数据采集节点与数据汇聚节点。数据采集节点采集种植区内的空气温湿度、土壤温度、日光照度与氧气数据,并通过ZigBee 送往数据汇聚节点。数据汇聚节点负责将前端数据送往上位机,并周期性地将接收到的上位机下行信息分发到数据采集节点。汇聚节点同样使用 ZigBee 信道与采集节点及上位机进行交互。上位机将采集数据进行存储显示,并对网络进行管理控制。移动智能设备可以通过NFC 从数据采集节点获得种植信息,并利用设备上已安装好的相应 App 来查看。种植信息向节点的写入方式可以采用近程与远程两种模式,既可以由种植区管理者在种植的每一个阶段用NFC 读写器将信息写入节点,也可以由远程上位机下达。如果采用 NFC 读写器写入种植信息,每次写入的结果还将在下一个轮询周期内发往上位机。

2 硬件设计

智慧农业物联网监测系统

由于系统中数据采集节点既需承担对种植参数的采集与发送工作,也需要负责 NFC 的数据读写,因此其设计的优劣将直接决定系统的工作性能。在具体设计中,采用微芯公司生产的PIC16F690 单片机作为节点 MCU。PIC16F690 具有高可靠性、低能耗及低成本等特点,非常符合户外监测系统的应用需求。节点温湿度传感器选用 AM2306,该传感器为单总线数字式传感器,温湿度、精度都可以达到 0.1%RH的标准。土壤温度传感器选用不锈钢封装的DS18B20。节点日光照度传感器选取美国 DAVIS 公司生产的 6450光辐照传感器,其光谱响应范围覆盖了 400nm到1100 m的区域,输出角度响应为一余弦响应曲线。氧气传感器采用英国City Technology 公司生产的40XV氧气电池式氧气传感器。40XV 输出信号经由AD8602高精度放大器放大后供 MCU 进行 A/D 采样。

数据采集节点 NFC 部分采用恩智浦半导体(NXP)PN532芯片,PN532是一个高度集成的非接触读写芯片,它包含带 40 KB ROM和1KB RAM的80C51 微控制器内核,用于 NFC协议控制,同时还集成了 13.56 MHZ 的各种主动/被动式非接触通信方法和协议。在 NFC 模式下,典型工作距离约为 100 mm。节点中 PN532 通过 SPI接口与 MCU 相连。节点 ZigBee 部分选用基于 TI公司 CC2530的DRF-2617 透传模块。PIC16F690 通过 USART 接口与其连接。为了降低 ZigBee 传输受葡萄藤蔓、大棚支撑物等障碍物的干扰,还采用了信号增益为 18 dBi的八木定向天线作为增强 ZigBee 传输的手段。

数据采集节点共有三种工作模式,即 NFC 写、NFC读与 ZigBee 采集/传输。

在NFC 写模式下,系统管理者可以利用 NFC 读写器,通过PNS32 将种植信息(如施肥种类/时间、农药喷洒种类/时间、植株挂果时间) 等按照预先设定好的格式写入节点的存储空间中。

在NFC 读模式下,智能设备通过 PN532 读取种植信息,此外还可查阅该时刻节点传感器采集到的氧气浓度、温度等棚内环境实时信息。设计通过绑定读写器 ID 来分设备的工作模式与读写权限。此外,在移动智能设备配套 App 中也设置了相应的权限标签。

在没有 NFC 访问要求时,节点工作于 ZigBee 采集/传输模式下。当接到上位机通过数据汇聚节点发来的轮询传输请求后,节点先检查是否有上位机发来新的种植信息或自身内部存储中是否有未上传的种植信息,如果有则执行相应更新。完成种植信息交互后,节点采集传感器数据,并与周期内 NFC 接入次数一起发往上位机。

3 系统软件设计

3.1上位机软件设计

上位机负责系统的管理与数据存储显示,系统中上位机软件使用 VC++编写。软件初始化时写入网络中各数据汇聚节点与数据采集节点的 ZigBee 网络 ID。针对每一个数据采集节点建立对应的文件夹,每日的监测数据存储到以日期编号的文件中。上位机软件根据节点网络分布设定轮询周期,在每一个轮询周期中对各节点的监测数据进行查询。用户还可通过上位机软件针对特定数据采集节点输入种植信息。通常通过上位机写入的种植信息对应园区施用较广的化肥或农药等。而利用节点 NEC 写入的种植信息是覆盖小片区或单植株的种植信息。上位机软件还提供简洁的 UI,便于拥有较少电脑操作经验的系统管理者使用。由于 40XV 氧气传感器的输出受温湿度等影响较大,而 6450 辐照传感器的输出受日照入射角影响,所以必须在二者的直接测量值上进行处理才能得到真实值。 40XV 在节点装机前都利用变温气室进行测量,得到一组离散的数据节点。之后在上位机软件中结合节点温湿度进行双二次样条插值,从而得到真实的氧气浓度。6450 角度余弦误差则通过利用实时时间引入日照高度角计算值来进行修正。

出处 物联网技术

原标题 基于NFC与ZigBee 技术的农业种植监测系统

作者 万雪芬 杨义 郑涛 蒋学芹

参考资料

https://www.hooketech.com/smart-agriculture-iot-monitoring-system.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307512.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript之location常用属性和方法

文章目录 前言为什么使用location的属性和方法呢?属性展示hrefhosthostnameportprotocolpathname 方法展示replace(url)assign(url)reload()toString() 总结属性总结:方法总结: 前言 本章学习的是location常用属性和方法 为什么使用location的…

虚拟机域环境的搭建

开始准备两台虚拟机Windows Server 2016和Windows10. Windows Server 2016的配置: 1.要用Administrator管理员,首先创建一个Administrator管理员 在此就可以创建一个新用户 然后退出登录就可以了。 2.开始环境的搭建 第一步: 第二步&…

{MySQL} 数据库约束 表的关系 新增删除 修改 查询

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数据库约束1.1约束类型:1.2 NULL约束1.3unique 唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束1.6 FOREIGN K…

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit …

安装最新版的 g++

下载MinGW64 GitHub下载地址 win11 64位 下载图中那个 设置全局变量 重新修改配置路径。 搞定。

Vue - 实现文件导出文件保存下载

1 文件导出:使用XLSX插件 需求背景:纯前端导出,如 在前端页面勾选部分表格数据,点击"导出"按钮导出Excel文件。 实现思路: 1.通过XLSX插件的 XLSX.utils.book_new()方法,创建excel工作蒲对象wb…

使用 sourcetree 的《遴选》功能

假设你有一个分支,有两个提交 A,和B,你现在想在A提交的基础上把 B提交的功能做修改,你可以使用 遴选功能。 在A 提交的基础上新建一个分支,然后在B提交上面,右键,选择 遴选,那么B修改…

DS18B20温度检测及其液晶显示

#include<reg51.h> //包含单片机寄存器的头文件 #include<intrins.h> //包含_nop_()函数定义的头文件 unsigned char code digit[10]{"0123456789"}; //定义字符数组显示数字 unsigned char code Str[]{"Test by DS18B20"}; //说明…

Java注解之@Autowired,一文掌握@Autowired注解知识(3)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

电子学会C/C++编程等级考试2022年09月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她…

【JS 逆向百例】steam 登录 Protobuf 协议详解

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

MySQL函数、AVG | MIN | MAX | COUNT | SUM、慢查询

MySQL函数、慢查询 1、函数1.日期函数2.两个日期的时间差3.查询距离时间的间隔时间4.常用的字符串函数5.常用的数学函数6.常用的聚合函数 2、慢查询1.什么是慢查询&#xff1f; 从需求出发&#xff0c;在数据的操作过程中经常会有以下的问题&#xff1b;求和、最大值、最小值、…