张怀柱,姚林林,沈 扬,姚欣宜
(吉林大学仪器科学与电气工程学院,长春130061)
基于树莓派的农作物低空观测系统设计
张怀柱,姚林林,沈 扬,姚欣宜
(吉林大学仪器科学与电气工程学院,长春130061)
针对传统农作物数据监测局限性较大、架设线路困难和耗费人力物力等问题,设计了一种农作物远程化,智能化的低空观测系统。该系统以树莓派为核心,通过无线网络实现农作物低空和地面联合观测。低空部分由树莓派GPIO(General Purpose Input Output)搭建温湿度、光照强度采集电路,并通过树莓派IP(Internet Protocol)摄像头实现农作物低空长势拍照,将数据及图像存储在树莓派。地面部分采用STC89C51单片机,外接温湿度传感器,将采集的数据通过nRF24L01无线射频系统传输给树莓派。电脑端通过无线Wi-Fi网络远程登陆VNC(Virtual Network Computer)界面,实现低空和地面数据的实时监测与分析。实验结果表明,该系统对农作物温湿度、光照强度和长势等指标进行全方位的监测,实现了数据远程化、智能化的传输与监控。系统采用无人机、卡片式电脑树莓派、无线网络等新技术,解决了传统方法架线耗材等问题。
树莓派;无线网络;低空探测;上位机;温湿度采集
在当今生产生活中,农业生产占据重要地位。对农作物温湿度、光照强度、长势等监测和分析对农作物生长尤为重要[1]。温湿度过高或过低、光照强度过强或过弱,都会影响农作物生长。传统的农作物数据监测具有很大局限性,特别是一些由于现场环境因素的限制而不便架设线路的情况,给农作物观测带来很大不便[2]。
笔者针对目前农作物观测系统造价较高、抗干扰能力较差和监测范围较小等缺点,设计了基于树莓派和无线网络传输的农作物低空观测系统。通过造价较低的卡片式电脑树莓派、单片机和无线网络实现数据和图像自动化、智能化、远程化采集及传输[3,4]。系统采集的数据在上位机显示,可通过对数据和图像分析,得到农作物的详细生长信息,据此对温湿度、光照强度进行调整改善,促进农作物生长,提高农作物产量。
设计以树莓派为核心,分为低空与地面两部分。低空部分通过小型飞行器搭载树莓派采集空气中温湿度、光照强度,并拍摄农作物长势照片,存储在树莓派内部;地面部分采用多节点法通过DHT11采集土壤根部温湿度,采集的数据通过射频系统发送给树莓派,电脑端远程登陆树莓派 VNC(Virtual Network Computer)界面搭建上位机软件,将采集的数据传输给上位机。系统整体结构图如图1所示。
图1 系统整体结构图Fig.1 The structure of the system
2.1 树莓派
树莓派[5](Raspberry Pi)是一款基于“Linux”嵌入式系统的卡片电脑,它提供了IIC(Inter-Integrated Circuit)、USB(Universal Serial Bus)和HDMI(High Definition Multimedia Interface)等接口,可选用Python、C语言通过装载Linux系统和相应的应用程序实现多种功能。
树莓派的CPU时钟默认为700 MHz,并允许超频工作在1 GHz以上,同时其额定功率仅有3.5 W,续航能力极强。此外,树莓派通过TCP/IP协议实现了IP摄像头与树莓派的通信以及图像的实时采集或监视视频。树莓派硬件资源接口及外设参考如图2所示。
图2 树莓派硬件资源接口及外设参考Fig.2 The hardware resources and peripheral interface reference of Raspberry Pi
树莓派自带Python开发环境,下载安装RPi.GPIO库后,可使用Python语言进行开发,控制树莓派的GPIO(General Purpose Input Output)管脚实现相应功能。图3是树莓派的GPIO管脚图。
2.2 树莓派无线网络建立
树莓派USB接口可用于连接无线网卡,一般免驱的大多可用,通过查看树莓派外设兼容列表,最终选用TL-WN721N,TL-WN721N采用11N无线技术,无线传输速率最高达150 Mbit/s,局域网内可高效传输数据。
2.3 DHT11温湿度采集
低空和地面温湿度采集均采用DHT11温湿度传感器[6]。DHT11是一款含有已校准数字信号输出的温湿度复合传感器。该传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。此传感器使用单线制串行接口,超小的体积、极低的功耗,使其信号传输距离可达20 m以上。DHT11管脚与树莓派GPIO连接如图4所示。DHT11与单片机连接如图5所示。
图3 树莓派的GPIO管脚Fig.3 The GPIO pin of Raspberry Pi
图4 DHT11引脚与树莓派GPIO连接Fig.4 The connection of DHT11 pin and Raspberry Pi GPIO
图5 DHT11与单片机连接图Fig.5 The connection diagram of DHT11 with MCU
2.4 BH1750光照强度采集
树莓派光照强度采集采用BH1750模块。BH1750是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可根据收集的光线强度数据调整液晶或键盘背景灯的亮度。利用其高分辨率可探测较大范围的光强度变化[7]。树莓派GPIO和BH1750管脚连接如图6所示。
2.5 IP摄像头长势拍照
设计选取的摄像头模块采用OmniVision公司生产的OV5647镜头,可通过软排线直接与树莓派控制板连接,配备500万像素的图像传感器,能录制30帧/s的1 920×1 080像素全高清视频,或拍摄2 592× 1 944像素分辨率的图片,适合对农作物定时拍照[8]。
图6 BH1750管脚与树莓派GPIO连接对应关系Fig.6 The connection of BH1750 pin with Raspberry Pi GPIO
2.6 无线发射接收
通过nRF24L01无线发射接收模块,实现地面数据的传输。
nRF24L01是一款工作在2.4 GHz到2.5 GHz的ISM频段的单片无线收发器芯片。其无线收发器包括:频率发生器、增强型“Schock Burst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议可通过SPI接口进行设置。可以连接到各种单片机芯片,完成无线数据传送工作。nRF24L01发射模块与单片机的连接图如图7所示。nRF24L01接收模块管脚与树莓派GPIO连接如图8所示。
图7 nRF24L01与单片机的连接图 Fig.7 The connection diagram of nRF24L01 with MCU
图8 nRF24L01管脚与树莓派GPIO连接Fig.8 The connection of nRF24L01 with Raspberry Pi GPIO
3.1 树莓派VNC界面的搭建
首先通过网线连接电脑与树莓派,用命令提示符查找树莓派动态IP,通过putty和VNC初始化树莓派并登陆树莓派界面。树莓派VNC界面如图9所示。
其次在树莓派界面上的LXTerminal或putty上输入指令,对树莓派进行静态IP设置以及中文显示设置等一系列个性化设置。
最终在树莓派上安装无线网卡,在无线网络的模式下,通过TPC/IP协议实现树莓派与PC机无线连接。
3.1.1 无线网卡连接
1)查看挂载的USB设备。
输入指令:Sudo lsusb
出现 RT5370 Wireless Adapter字样,表示设备可用。
2)测试Wi-Fi信号。
输入指令:Sudo iwlistwlan0 scan
找到自己无线路由器的ssid。
3)编辑网卡配置信息。
输入指令:Sudo nano/etc/network/interfaces
修改wlan0,实现静态IP的设置。
图9 树莓派VNC界面Fig.9 Raspberry Pi VNC interface
3.1.2 树莓派自动连接Wi-Fi
经过上述设置,在同一局域网内,树莓派供电后,便可自动连接Wi-Fi。
3.1.3 VNC界面建立
静态IP设置时,选用路由器Wi-Fi的ssid,在路由器权限管理界面可以看到TP-LINK设备的IP和MAC地址等信息,在putty界面输入IP登陆信息,建立VNC界面。
3.2 树莓派温湿度采集
利用WiringPi函数库控制树莓派和DHT11,通过C语言进行温湿度的采集和传输,实现循环采集温湿度,并将数据传送至上位机界面。其软件流程图如图10所示。
3.2.1 WiringPi
WiringPi是应用于树莓派平台的GPIO控制库函数[9]。在WiringPi上能使用C语言对树莓派进行开发。WiringPi内包含一套GPIO控制命令,可通过命令对树莓派的GPIO管脚进行扩展,使用MCP23x17/MCP23x08(I2C或SPI)扩展GPIO接口,实现光照强度采集、扩展nRF24L01模块等功能。
3.2.2 温湿度采集
通过WiringPi编写温湿度采集的C语言程序,由gcc编译器生成文件,并用sudo调用执行文件。
3.3 树莓派光照强度采集
该模块选用树莓派和BH1750,通过WiringPi函数库,采用C语言对光照强度采集的软件进行编写,采集光照强度并传至上位机界面,同时实现循环采集的功能。其软件流程图如图11所示。
图10 温湿度采集流程图Fig.10 Temperature and humidity acquisition flow chart
图11 光照强度采集流程图Fig.11 Light intensity gathering flow chart
3.3.1 光照强度传感器连接
1)启动IIC驱动。
输入指令:nano /etc/modules。
2)取消对IIC驱动的黑名单。
输入指令:nano /etc/modprobe.d/raspi-blacklist.conf。
3)安装i2cdetect。
输入指令:apt-get install i2c-tools。
4)通过WiringPi编写相关C语言程序,并用gcc编译生成文件,调用并运行文件。
3.4 树莓派摄像
3.4.1 安装树莓派摄像头
使用如下命令:
sudo apt-get update
sudo apt-get upgrade
sudoraspi-config
并设置摄像头为启用状态。
3.4.2 树莓派连续定时拍照
1)使用命令‘touch name.sh',新建名称为name的脚本。
2)输入命令‘nano/home/pi/name.sh',打开新建的脚本文件便携树莓派定时拍照程序。
3)在新打开的脚本中输入如下程序:
raspistill-o${var}.jpg-t60000
实现树莓派拍照并存储为不同文件名的照片。
4)通过修改内部脚本控制树莓派执行定时命令。输入‘crontab-e'命令,打开脚本并在最下方添加命令‘*/1****/homg/pi h',实现树莓派每间隔一分钟执行脚本‘name.sh'。
3.5 地面温湿度采集与传输
地面温湿度采集使用C语言编程,程序设计分为:DHT11与nRF24L01的初始化、DHT11数据的采集、nRF24L01数据无线发射等[10]。首先采用模块化程序设计方法,编写各个模块的底层驱动程序,之后进行系统调试[11]。具体软件流程图如图12所示。
地面数据的接收采用nRF24L01,可接收多个节点发射的数据,该块nRF24L01与树莓派连接,从而将数据存储在树莓派内存。
3.6 上位机软件设计
通过模块化思想对上位机进行设计。上位机界面
包括地面部分和低空部分,地面部分能显示地面根部温度、湿度。低空部分能显示低空采集到的温度、湿度、光照强度以及拍摄的图片。依据设计,上位机能通过start按键直接调用树莓派内部存储的图像和数据,并实时显示在上位机界面上[11-16]。
上位机界面用Python语言在IDLE上编写。Python是一种解释性、面向对象、动态数据类型的高级程序设计语言。Tkinter模块(“Tk接口”)是Python的标准Tk GUI工具包接口。直接运用from Tkinter import*指令即可调用工具包,编写GUI。
图12 软件流程图Fig.12 Program flow chart
通过分析采集到的大量数据,选取3组不同时间段具有代表性的数据(见表3)。表3中第1次、第2次、第3次分别是春季正午,下午和傍晚时分采集的数据。地面部分采用多节点(该系统中为4个节点)数据采集,温湿度各4列数据;低空部分各两个传感器采集数据,以减小误差,温湿度,光照强度各两列数据。通过对比多次实验数据可得出该设计最终能准确采集到温湿度与光照强度,并进行数据和图像的无线传输,同时将地面和低空的温湿度、光照强度,以及农作物的长势图片远程显示在上位机上,供监测者进行监测和分析生长环境对农作物的影响。上位机显示如图13所示。
表3 系统数据采集结果Tab.3 The collection result of system
图13 上位机Fig.13 Upper computer
该系统采用模块化的设计思想,实现了农作物温度、湿度、光照强度和长势等指标全方位的监测。系统改善了远距离传输布线的问题,采用多节点传输,提高了数据的可靠性,同时又可以满足低功耗、低成本和高速率数据传输等要求,对实现农田大规模远程观测的自动化、智能化具有很高的实际应用性。在此基础上,还可以通过更换无线传输模块、增加其他传感器等对系统进行完善,进而可实现多种数据监测,在生产生活的各个方面具有很高的移植性和很好的使用价值。
[1]陶鸿.大棚蔬菜栽培技术[M].合肥:安徽科学技术出版社,2010:2-18. TAO Hong.Greenhouse Vegetable Cultivation Technology[M].Hefei:Anhui Science and Technology Press,2010:2-18.
[2]孙学用,李业德.基于单片机的粮库多点测温系统的设计[J].微计算机信息,2009,25(20):65-67. SUN Xueyong,LI Yede.Multi-Point Temperature Grain Design System Based on Microcontroller[J].Micro-Computer Information,2009,25(20):65-67.
[3]庞娜,程德福.基于ZigBee无线传感器网络的温室监测系统设计[J].吉林大学学报:信息科学版,2010,28(1):55-58. PANG Na,CHENG Defu.Greenhouse Monitoring System Based on ZigBee Wireless Sensor Networks[J].Journal of Jilin University:Information Science Edition,2010,28(1):55-58.
[4]刘卉.基于无线传感器网络的农田土壤温湿度监测系统的设计与开发[J].吉林大学学报:工学版,2008,38(3): 604-608. LIU Hui.Design and Developmentof Farmland Soil Temperature and Humidity Monitoring System forWireless Sensor Networks[J].Journal of Jilin University:Engineering and Technology Edition,2008,38(3):604-608.
[5]王江伟,刘青.玩转树莓派[M].北京:北京航空航天大学出版社,2013:1-80. WANG Jangwei,LIU Qing.Fun with Raspberry Pi[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2013:1-80.
[6]倪天龙.单总线传感器DHT11在温湿度测控中的应用[J].单片机与嵌入式系统应用,2008(11):214-224. NI Tianlong.Single Bus Sensor DHT11 Measurement and Control Applications in Temperature and Humidity[J]. Microcontrollers&Embedded Systems,2008(11):214-224.
[7]胡向东.传感器与检测技术[M].北京:机械工业出版社,2009:1-96. HU Xiangdong.Sensors and Detection Technology[M].Beijing:Machinery Industry Press,2009:1-96.
[8]HADIONO.如何安装树莓派摄像头模块 [EB/OL].(2014-06-01).[2014-08-20].http://xmodulo.com/installraspberry-pi-camera-board.htm l. HADIONO.How to Install the Raspberry Pi Camera Module[EB/OL].(2014-06-01).[2014-08-20].http://xmodulo. com/install-raspberry-pi-camera-board.html.
[9]李文胜.基于树莓派的嵌入式Linux开发教学探索[J].电子技术与软件工程,2014,9(1):56-60. LIWensheng.Embedded Linux-Based Raspberry Pi Teaching Exploration[J].Electronic and Software Engineering,2014,9(1):56-60.
[10]MATT RICHAARDSON,SHAWNWALLACE著,李凡希译.爱上Raspberry Pi[M].北京:科学出版社,2013:1-100. MATT RICHAARDSON,SHAWN WALLACE.Falling in Love with Raspberry Pi[M].Beijing:Science Press,2013: 1-100.
[11]MAIK SCHMIDT.Raspberry Pi快速入门指南[M].北京:科学出版社,2014:1-52. MAIK SCHMIDT.Quick Start Guide on Raspberry Pi[M].Beijing:Science Press,2014:1-52.
[12]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009:1-150. GUO Tianxiang.51 Microcontroller C Language Tutorial[M].Beijing:Electronic Industry Press,2009:1-150.
[13]JCODEER ZHANG.Tkinter编写代码实例 [EB/OL].(2007-10-9).[2015-1-12].http://down.51cto.com/ data/908944. JCODEER ZHANG.Tkinter Code Examples[EB/OL].(2007-10-9).[2015-1-12].http://down.51cto.com/ data/908944.
[14]SIMON MONK.Programming the Raspberry Pi:Getting Started with Python[M].New York:McGrawhill Education,2012: 1-192.
[15]WOLFRAM DONAT.Learn Raspberry Pi Programming with Python[M].Berkeley:Apress,2014:1-256.
[16]MAGNUSLIE HETLAND.Python基础教程[M].北京:人民邮电出版社,2010:1-15. MAGNUSLIE HETLAND.Python Code Examples[M].Beijing:People Post Press,2010:1-15.
(责任编辑:何桂华)
Design of Low-Altitude Observation System on Crops Based on Raspberry Pi
ZHANG Huaizhu,YAO Linlin,SHEN Yang,YAO Xinyi
(College of Instrumentation and Electrical Engineering,Jilin University,Changchun 130061,China)
For the current limitations of traditional crop's data monitoring,difficult setting up lines,labor-intensive material and other problems,a remote and intelligent crop's low-altitude observation system was designed.Taking Raspberry Pi as the core,the system can achieve the observation on low-altitude and ground throughwirelessnetwork. For the low-altitude part,DHT11 temperature and humidity sensorwas the temperature and humidity acquisition unit,and BH1750 sensor was the light intensity acquisition unit.Temperature-humidity and light intensity acquiring circuit were built through the Raspberry PiGPIO(General Purpose Input Output).Photos of crops at low-altitudewere taken by the Raspberry Pi IP(Internet Protocol)camera.Data and image can be stored in Raspberry Pi.For the ground part,setting STC89C51 microcontroller as the core,temperature-humidity sensorswere connected on it.The collected data then were transferred to the Raspberry Pi through nRF24L01 wirelessmodule.The Raspberry Pi VNC(Virtual Network Computer)access interface was landed on PC(Personal Computer).Upper computer was built on the VNC access interface,on which real-time monitoring and analysis of data can be realized.Test result showed that the system implemented a full range of observation of the crop which consisted of temperature,humidity,light intensity,growth and other indicators.A remote and intelligent data transmission and observation of the crops were immplemented.The system used new technologies of UAVs(Unmanned Aerial Vehicle),card-type computer Raspberry Pi,wireless networks and so on,solved the traditionalmethod of stringing,consumption ofwealth and other issues.It had a strong advantage over the traditionalmethod.
Raspberry Pi;wireless network;low-altitude observation;real-timemonitor;temperature-humidity acquisition
TP29
A
1671-5896(2015)06-0625-07
2015-04-08
国家级大学生创新实验计划基金资助项目(2014A65302)
张怀柱(1975— ),男,吉林桦甸人,吉林大学副教授,主要从事嵌入式系统、地学仪器设计开发研究,(Tel) 86-13500813233(E-mail)huaizhuzhang@jlu.edu.cn;通讯作者:姚林林(1993— ),女,河北邯郸人,吉林大学本科生,(Tel)86-18844193080(E-mail)18844193080@163.com。