基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx

上传人:b****1 文档编号:1349535 上传时间:2022-10-21 格式:DOCX 页数:9 大小:284.49KB
下载 相关 举报
基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx_第1页
第1页 / 共9页
基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx_第2页
第2页 / 共9页
基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx_第3页
第3页 / 共9页
基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx_第4页
第4页 / 共9页
基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx

《基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx》由会员分享,可在线阅读,更多相关《基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx(9页珍藏版)》请在冰豆网上搜索。

基于RaspberryPi与Arduino的智能大棚监控系统的研究.docx

基于RaspberryPi与Arduino的智能大棚监控系统的研究

  

 

  

基于RaspberryPi与Arduino的智能大棚监控系统的研究

 

  

 

 

 

 

 

 

 

   

 

 

 

 

 

康云川代彦梁裕巧

摘要:

针对当前农业信息化领域物联网技术与流行的单片机开发板,提出了1种应用于农业大棚的物联网系统的选型与构建方案,利用RaspberryPi、Arduino、ZigBee技术,设计了1种低成本、低功耗、高效率的智能农业大棚监控系统,系统的主要功能包括用户可以通过手机微信、PC终端对大棚内温度、湿度、光照度、CO2浓度、土壤湿度、烟雾等数据进行实时监测与分析,以及对农业设施设备的远程控制,为农业信息化、智能化提供一种新的技术解决方案。

关键词:

智能农业;智能大棚;监控系统;RaspberryPi;Arduino;ZigBee;物联网

S126;TP277.2

文献标志码:

A

1002-1302(2019)15-0251-05

随着我国经济与科技的飞速发展,传统农业的生产方式已无法满足人们日益增长的物质需求,也无法满足我国加快农业产业化发展趋势,农业的产业化还必须逐渐从传统的实践方式走向信息化,以信息化在农业信息科学中的理论指导、以现代信息技术手段为工具,以数据信息流为调节手段,调整农业活动全过程,使之成为农业信息化的一个重要环节[1]。

如农业数据信息采集、信息加工和信息管理等主要利用物联网技术手段,通过各传感器采集相应的环境数据,管理人员或相应的信息系统根据传感器采集后的数据进行加工与分析,最终通过人工或系统自动处理数据,自动干预设备设施进行作业,从而实现农业信息智能化,农业机械智能化,辅助农业管理人员做出决策,辅助作物种植人员对农作物进行栽培、种植等。

智能大棚是保障农作物大规模高效种植、反季节种植、防止大自然病虫害等利用现代化科技手段必要的一种方式,智能大棚主要依托现代化物联网传感器技术、互联网技术、单片机技术,而传统的单片机技术开发使农业信息化技术的利用更为复杂,如51、STM32、AVR等单片机技术的开发,开发人员需要熟悉C语言、汇编语言或C++语言、电路设计、模拟电路与数字电路,还需熟悉单片机寄存器等知识,由于技术门槛很高,没有大量专业技术人员的参与,没有示范场、实验室就不可能大规模推广这些技术。

采用RaspberryPi、Arduino开发板有望解决这一难题,其开源、免费的设计理念、简单的开发模式和丰富的外围软硬件资源吸引了大批创客和非计算机专业人士的加入,打破了物联网的技术壁垒,形成了一种大众化创新的新局面,为推动农业物联网的发展提供了一种廉价高效的解决方案。

本系统将实现大棚内感知数据进行自动采集、加工处理,然后将数据传送至服务器端再至用户终端,从而实现大棚内设施自动作业,用户可以利用移动终端与PC终端对大棚环境的实时远程监测与管理、设施的远程控制等。

1系统总体设计

本系统的设计避开了传统单片机技术开发的大量难点,开发人员不需要具备丰富的单片机技术开发知识,就能开发出性能高效稳定的智能大棚系统,智能大棚硬件系统基于RaspberryPi、Arduino、ZigBee开发板设计,其中主要功能有大棚室内温湿度监控,土壤湿度监控,火源监控及喷淋滴灌系统、补光系统、换气系统等控制模块组成,系统主要由信息采集层、设施控制层、网络层、数据传输层、数据处理层5层构成。

单片机系统与传感器通过采集大棚内与土壤环境温湿度、光照度、CO2浓度,烟雾等数据,单片机系统经ZigBee远距离多跳组网后,将数据传至网关RaspberryPi,数据最后经无线或有线网络传输至服务器。

软件系统主要由WEB服务端与手机微信服务端组成,采用Apache、PHP、MySQL开发,管理人员可以通过手机微信端或PC端进行数据的实时监控,对大棚内的设施模块进行远程操作,或由单片机系统自动干预操作,系统框图如图1所示。

2硬件系统设计

2.1信息采集层设计

2.1.1单片机与传感器信息采集层负责对整个大棚环境的信息感知采集,主要由Arduino单片机开发板、大棚内温度、湿度传感器、光照度传感器、烟雾传感器、二氧化碳浓度传感器、土壤湿度传感器等模块构成,通过对开发板上的GPIO接口与传感器器相连,实现感知信息采集,信息采集层硬件框图如图2所示。

单片机开发板采用Arduinonano微型开发板,简称“MCU”,该开发板的Flash和RAM的存储容量较大,体积较小,具有丰富的外围接口,性价比高,节约成本,输入电压为7~12V,工作电压为5V,可采用USB接口或GPIO针脚接口供电方式供电,烧录程序比传统的单片机更简单方便,不需要额外的烧录器,直接通过USB接口上传程序,编写代码更容易,Arduino将Atemga芯片相关的一些底层参数进行封装,提供了LCD、EEPROM、GSM、WIFI、LED、KeyBoard等一些常用的程序库,开发人员不需要了解芯片寄存器就可实现对程序的开发,可以提高应用的开发效率[2]。

传感器模块主要包括大棚温度湿度、光照度、CO2浓度、土壤的湿度、烟雾传感器其中传感器的具体选型如下:

大棚采用温度传感器DS18B20,具有体积小、性能开销低、抗干扰能力强、测量精度高等特点,温度测量范围为-40~120℃,满足日常生活的需要,该传感器采用数字单总线传输,只占用MCU模块1个IO接口,节省了MCU模块的接口[3]。

大棚湿度传感器采用DHT11,用于測量大棚内的湿度,DHT11型数字温湿度传感器是一种含复合传感器,体积较小、低功耗,已被校准过的数字信号输出温度、湿度,其专用的数字模块采集技术和温度、湿度传感器技术,确保了传感器可靠性高、能长期稳定运行[4]。

光照度传感器采用GY-30,用于测量大棚内的光照度,该传感器成本低、功耗小、体积小、安装方便,光照度的测试范围为0~65535lx,传感器内置16bit模数转换器,省略了复杂的计算,不区分环境光源,直接输出数据[5]。

CO2浓度传感器采用MG811,用于测量大棚内的二氧化碳的浓度,它对二氧化碳有很好的敏感性和选择性,受温度和湿度变化的影响较小,具有良好的稳定性和重现性,常用于二氧化碳浓度检测、空气质量控制系统和发酵过程控制等应用[6]。

土壤湿度传感器采用RS-WS-I20-TR,采用RS485通信,适用于测量土壤温度和水分,RS-WS-I20-TR传感器精确度高,响应快,受土壤盐度影响小,耐电解,耐腐蚀,真空密封,防水防锈,适用于各种土壤类型,可长期埋于土壤中。

烟雾传感器采用MQ-2,用于大棚内火情的检测,以免大棚发生火灾造成不必要的损失,它可以检测空气中的烟雾和可燃气体,并且在很宽的浓度范围内对可燃气体具有良好的敏感性。

它对液化气、丙烷和氢气具有高度敏感性,它具有寿命长、成本低、电路简单的特点[7]。

2.1.2硬件程序实现MCU与各传感器建立通信连接,采用Arduino开发语言编写传感器操作代码,Arduino开发语言采用C语言编程的风格,Arduino语言基于开始时的setup(),loop()作为程序的主体,setup()用于初始化程序、pinMode()为GPIO的设置函数、调用库函数等,它只运行1次,C语言中的main函数loop()函数是循环函数,语句在函数内重复循环执行,开发人员只要具备C语言基础就能完成项目的开发,MCU与传感器,设施通信方式主要有数字信号输入输出、模拟信号输入输出、串口输入输出,MCU与DHT11采集数据示例代码如图3所示。

2.2设施控制层设计

2.2.1单片机开发板与设施设备设施控制层主要有喷淋滴灌系统、补光系统、换气系统等组成,分别与ZigBee多跳组网后的MCU连接,用于实现大棚内智能化、自动化作业,减少人工手动干预设施,极大地减少了人力成本,提高作业的效率、精度等,例如:

土壤的水分不足,喷淋滴灌系统可以根据用户设置的正常阈值,自动进行作物的浇灌或土壤的水分补给;当大棚内的光线不足或过于充足时,补光系统可以对大棚自动进行补光,让农作物正常进行光合作用;当大棚内的温度过高时,换气系统自动打开,有效缓解室内温度、以便空气正常流通,让作物在室内能进行正常生长,设施控制层硬件框图如图4所示。

2.2.2硬件程序实现MCU与设施设备的建立连接,主要是MCU向设施设备发送高低电平数字信号“0”或“1”来控制设备,比如“0”表示关闭换气系统,“1”表示打开换气系统,“1”“0”与Arduino语言中的“HIGH”与“LOW”参数对应,MCU控制换气系统的示例代码如图5所示。

2.3网络层设计

2.3.1组网通信采用DL-LN33模块进行信息采集层、设施控制层MCU模块、数据传输层RaspberryPi的组网通信,模块基ZigBee802.15.4协议,可视通信距离单跳70m,模块无线频率范围为2.4~2.45GHz,该频率范围属于全球免费的

无线频段,模块在工作时,会与周围的模块自动建立成一个无线的多跳网络,连接后的网络为等网络,不需要中心节点,还可以进行星型拓扑组网与多跳组网,专为需要自动组网多跳传输的应用场合设计[8]。

DL-LN33工作电压为2.5~3.6V,无线电发射功率为4.5dBm,模块工作时电流消耗30mA,该模块有16个信号和65536个网络标志,即26×65536个网络,每个网络可以容纳96~130个节点,开发人员不需要对模块进行编程,只需知道需收发端IP地址、网络ID、网络信道地址即可实现网络通讯,模块会通过网络选择最优的路径,将信息传输给目标模块,而目标模块将获得发送端发来的数据[9],组网硬件框图如图6所示。

2.3.2硬件程序实现硬件程序主要涉及MCU与DL-LN33、RaspberryPi与DL-LN33串口通信,在通信过程中,MCU告诉目标模块这样的信息:

“将数据00000033发往地

址为0003的模块,目标端口为90,源端口为91”。

首先需要将这些信息整理成一个包,通过串行接口发给目标模块:

FE089190030000000033FF,其中FE08为包头,91为网卡端口号,90为目标网卡端口号,0300为目标网卡地址号,00000033为需要发送的数据内容,FF为包尾,这段数据串的含义就是组网的MCU把数据00000033发送给为目标地址为03的网卡。

而目标网卡03收到数据00000033,例如:

00000033中的33是温室内的温度,然后RaspberryPi再把33发送至服务器,后台管理系统就能得到感知的温度信息。

MCU与DL-LN33通信采用Arduino开发语言,其中示例代码(接收端与发送端)如图7、图8所示。

RaspberryPi与DL-LN33通信采用Python语言,主要示例代码如图9所示。

2.4数据传输层设计

采用RaspberryPi3B+开发板作为智能大棚的网关,体积只有卡片大小,具有所有PC机的功能搭载1.2GHz的64位四核处理器,1G运行内存,内置802.11b/g/n无线网卡,比传统单片机处理数据更稳定、快速、便捷[10]。

主要功能有接受MCU传来的数据并上传至服务器,接收来自服务器的用户指令,对MCU发送指令,在数据处理层服务器端不可用时,用户可通过HDMI接口接上显示器或通过手机终端对RaspberryPi进行管理,从而接管所有数据处理层的业务,避免了数据处理层在无法响应时导致大棚内的数据及设施无法监控或控制的问题,数据传输层硬件框图如图10所示。

2.5数据处理层设计

数据处理层主要由服务器端后台构成,承载数据传输层数据的存储与交互处理,大棚WEB服务端平台、微信通信网关的运行等,用户可以根据系统处理数据的规模大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1