
第一章 前言
1.1 课题背景
本文以我国广大农村温室大棚使用现状为基础,根据实际需求,采用目前较为流行的物联网技术,实现规模化温室内农作物生长环境的监测、控制和调控,达到省时省力,节约劳动成本,减少浪费,增加经济效益的目的。通过系统监控模块,温室管理员可以方便的实时监控温室温度,湿度,光照,二氧化碳浓度等农作物生长环境信息。通过自动化控制模块,可以根据监控模块采集的信息自动调节温室环境,例如,当监控到温室内温度较高时,通过控制空气调节系统或卷帘电机实现温室内降温;当光照不足时,通过控制卷帘电机或开启光照灯等方式增加光照度。自动控制模块可以根据季节和种植作物设定触发动作的报警值,当采集到的数据达到设定值时可以触发远程报警,远程报警时会将具体报警事件以短信方式,发送到预先设定好的手机号码,温室用户收到报警信息后可以通过远程控制模块进行相应的远程操作,从而实现无人值守远程控制的目的。在系统设计过程中考虑到温室大棚建设地段大多在农村,地理位置较为偏僻,不适合有线网络接入,所以在通讯技术方面采用无线通讯方式,目前各移动通讯运营商的通讯基站在农村基本实现全覆盖。通过使用无线通讯方式,解决了温室建设地段较偏僻,无法有线接入互联网的问题。本系统在进行远程监控时均采用无线通讯方式,可以大幅节约布线和后期线缆维护成本,同时也可以降低线路老化引起的通讯故障。
...........................
第三章 系统需求分析······································ 101.1 课题背景
本文以我国广大农村温室大棚使用现状为基础,根据实际需求,采用目前较为流行的物联网技术,实现规模化温室内农作物生长环境的监测、控制和调控,达到省时省力,节约劳动成本,减少浪费,增加经济效益的目的。通过系统监控模块,温室管理员可以方便的实时监控温室温度,湿度,光照,二氧化碳浓度等农作物生长环境信息。通过自动化控制模块,可以根据监控模块采集的信息自动调节温室环境,例如,当监控到温室内温度较高时,通过控制空气调节系统或卷帘电机实现温室内降温;当光照不足时,通过控制卷帘电机或开启光照灯等方式增加光照度。自动控制模块可以根据季节和种植作物设定触发动作的报警值,当采集到的数据达到设定值时可以触发远程报警,远程报警时会将具体报警事件以短信方式,发送到预先设定好的手机号码,温室用户收到报警信息后可以通过远程控制模块进行相应的远程操作,从而实现无人值守远程控制的目的。在系统设计过程中考虑到温室大棚建设地段大多在农村,地理位置较为偏僻,不适合有线网络接入,所以在通讯技术方面采用无线通讯方式,目前各移动通讯运营商的通讯基站在农村基本实现全覆盖。通过使用无线通讯方式,解决了温室建设地段较偏僻,无法有线接入互联网的问题。本系统在进行远程监控时均采用无线通讯方式,可以大幅节约布线和后期线缆维护成本,同时也可以降低线路老化引起的通讯故障。
...........................
1.2 研究目的和意义
随着信息技术的高速发展,人类社会已迈入了信息时代,数字化、智能化和网络化已成为信息时代的重要标志。我国是一个农业大国,农业是直接关系到我国民生的重要产业,国家领导非常重视农业领域信息化建设,国务院、农业部、财政部和工信部等国家机关近几年纷纷出台政策,提倡发展智能化农业、现代化农业,也倡导各个产业走互联网产业之路。
温室种植是我国近年来逐渐流行的一种新技术,能够为种植的作物提供良好的生长环境,能够控制和调节温室的小气候,使得作物生长不再受限于温度、湿度、光照等外部因素。智能温室能有效的改善农作物自然生长条件,可以满足跨季节作物种植的需求,促进农业资源科学开发和合理利用,实现现代农业的科学发展。但是,我国温室大棚监控水平较低,还没有实现规模化、集中化、智能化。以蔬菜种植为主,采用一家一户零散使用温室大棚的生产模式,这样一来蔬菜的品质,病虫害的预防,市场规律等方面很难实现统一监管,导致蔬菜品质得不到保障,农药残留超标,农作物种植品种单一,市场风险无法规避等问题。同时,温室环境如温湿度、灌溉等问题还处在传统环境控制手段,主要依靠手工调控,占用大量时间和人力,而且容易出错。物联网作为新一代信息技术,为农业信息化和数字化提供了一个崭新的思路[1]。从农作物的种植到收获的每个生长阶段,都可以利用物联网的技术来实现生产环境的智能化控制从而提高工作效率和精细管理。
随着信息技术的高速发展,人类社会已迈入了信息时代,数字化、智能化和网络化已成为信息时代的重要标志。我国是一个农业大国,农业是直接关系到我国民生的重要产业,国家领导非常重视农业领域信息化建设,国务院、农业部、财政部和工信部等国家机关近几年纷纷出台政策,提倡发展智能化农业、现代化农业,也倡导各个产业走互联网产业之路。
温室种植是我国近年来逐渐流行的一种新技术,能够为种植的作物提供良好的生长环境,能够控制和调节温室的小气候,使得作物生长不再受限于温度、湿度、光照等外部因素。智能温室能有效的改善农作物自然生长条件,可以满足跨季节作物种植的需求,促进农业资源科学开发和合理利用,实现现代农业的科学发展。但是,我国温室大棚监控水平较低,还没有实现规模化、集中化、智能化。以蔬菜种植为主,采用一家一户零散使用温室大棚的生产模式,这样一来蔬菜的品质,病虫害的预防,市场规律等方面很难实现统一监管,导致蔬菜品质得不到保障,农药残留超标,农作物种植品种单一,市场风险无法规避等问题。同时,温室环境如温湿度、灌溉等问题还处在传统环境控制手段,主要依靠手工调控,占用大量时间和人力,而且容易出错。物联网作为新一代信息技术,为农业信息化和数字化提供了一个崭新的思路[1]。从农作物的种植到收获的每个生长阶段,都可以利用物联网的技术来实现生产环境的智能化控制从而提高工作效率和精细管理。
我国对物联网技术非常重视。2009 年 8 月 7 日温家宝总理在视察无锡时提出建设“感知中国”中心,2009 年 11 月 13 日,国务院正式批准无锡建设国家传感信息中心,此后我国物联网的研发进入了快车道。2012 年 2 月 14 日,我国第一个物联网规划是由工信部发布的《物联网“十二五”发展规划》。2016 年中央一号文件《关于落实发展新概念加快农业现代化实现全面小康目标的若干意见》中指出:加大农业科技创新力度,加快技术推广及体系建设。
综上所述,物联网技术应用在智能农业温室行业,将为我国农业的发展提供一个全新的平台。本文提出设计与实现基于物联网的智能农业温室控制系统的课题,该系统将传感技术、计算机控制技术、网络技术及物联网技术加以融合,实现了实时感知和无线远程控制,推动了农业的智能化发展,实现科学种植,提高了农作物的生产效率、品质和产量。
综上所述,物联网技术应用在智能农业温室行业,将为我国农业的发展提供一个全新的平台。本文提出设计与实现基于物联网的智能农业温室控制系统的课题,该系统将传感技术、计算机控制技术、网络技术及物联网技术加以融合,实现了实时感知和无线远程控制,推动了农业的智能化发展,实现科学种植,提高了农作物的生产效率、品质和产量。
...........................
第二章 开发技术与环境介绍
第二章 开发技术与环境介绍
2.1 Linux 操作系统介绍
Linux 是一款多用户、多任务的开源操作系统,是一款类 Unix 操作系统[15]。 Linux 内核由林纳斯·托瓦兹在 1991 年首次发布,发布初期就受到了行业的广泛关注,Linux 发展至今在我们的生活工作中随处可见,例如我们手机中使用的 Android 操作系统就是基于 Linux 内核开发的,另外,在常见的路由器和防火墙操作系统中应用也非常多,在服务器操作系统领域 Linux 已经占据80%以上的市场份额,并且随着近年来互联网行业的飞速发展,Linux 服务器操作系统占有率也在逐年上升。
Linux 是一款多用户、多任务的开源操作系统,是一款类 Unix 操作系统[15]。 Linux 内核由林纳斯·托瓦兹在 1991 年首次发布,发布初期就受到了行业的广泛关注,Linux 发展至今在我们的生活工作中随处可见,例如我们手机中使用的 Android 操作系统就是基于 Linux 内核开发的,另外,在常见的路由器和防火墙操作系统中应用也非常多,在服务器操作系统领域 Linux 已经占据80%以上的市场份额,并且随着近年来互联网行业的飞速发展,Linux 服务器操作系统占有率也在逐年上升。
Linux 有许多发行版本,Red Hat Linux、Ubuntu、CentOS、Debian、Fedora 等都是服务器操作系统领域常用版本。在本论文中,操作系统采用了 CentOS 7.5 发行版本,CentOS 是基于 Red Hat Linux 源代码基础上开发而来的企业级 Linux 发行版本,具有 Red Hat Linux 的安全性和稳定性,兼容 Red Hat Linux 的安装包管理工具,相对于 Red Hat Linux 来说CentOS 是完全免费的,同时 CentOS 也具有自身的一些特点,例如独有 yum 命令可以在线安装和升级软件,更新系统漏洞等[16-17]。
...........................
2.2 Python 编程语言介绍
Python 是一种解释型面向对象的高级编程语言,属于动态强类型语言,它诞生于 20 世纪 90年代,Python 发布初期主要用于编写 shell 脚本[18]。随着近几年国内互联网行业的迅猛发展,Python语言在国内的发展势头惊人,Python 语言的受欢迎程度紧追 JAVA 语言,根据 TIOBE 2019 年 1月发布的排名榜显示,Python 语言成为了“2018 年度编程语言”,同时这也是 Python 第 3 次荣获TIOBE 最佳年度语言称号,也是获奖次数最多的编程语言。
Python 是一种解释型面向对象的高级编程语言,属于动态强类型语言,它诞生于 20 世纪 90年代,Python 发布初期主要用于编写 shell 脚本[18]。随着近几年国内互联网行业的迅猛发展,Python语言在国内的发展势头惊人,Python 语言的受欢迎程度紧追 JAVA 语言,根据 TIOBE 2019 年 1月发布的排名榜显示,Python 语言成为了“2018 年度编程语言”,同时这也是 Python 第 3 次荣获TIOBE 最佳年度语言称号,也是获奖次数最多的编程语言。
Python 的应用领域非常广,非常适合在爬虫、自动化运维、大数据分析、智能机器人和物联网等领域,Python 具有简单易学、扩展性强、免费开源、跨平台,标准库资源丰富等优点,另外Python 语言是 Linux 操作系统默认支持的,Linux 中的很多重要功能也是基于 Python 语言实现的,例如 CentOs 中的 yum,Ubuntu 中的 apt-get 都是基于 Python 语言开发。
MySQL 由瑞典的 MySQL AB 公司开发,是一个关系型数据库管理系统,现在已经被 Oracle收购。MySQL 支持常见的操作系统,在 WEB 数据库领域非常广泛,MySQL 也是开源免费的,其运行效率非常高,相对于 Oracle、DB2、SQL Server 等大型关系数据库功能稍弱一些,但在一些中等规模的系统中 MySQL 完全可以胜任,My SQL 有开源免费、简单易用、支持多线程、支持多处理器、数据类型丰富、运行效率高、可移植性好等优点。
..................................
3.1 用户角色分析 ········································· 10
3.2 系统功能需求分析 ···································· 11
3.3 系统功能用例图 ·································· 13
第四章 系统总体设计········································· 17
4.1 系统网络结构设计 ································· 17
4.2 控制器硬件设计 ··························· 18
4.3 系统软件层级架构设计 ························· 20
第五章 主要功能模块的详细设计与实现 ····························· 33
5.1 数据库操作模块设计与实现 ······································ 33
5.2 MQTT 协议通讯模块设计与实现 ································ 35
5.3 设备鉴权模块设计与实现 ····························· 38
第六章 系统测试
6.1 测试环境搭建
本系统测试时,搭建了测试机、应用服务器、My SQL 数据库服务器、MQTT 代理服务器、有线网络和无线网络,用来模拟应用部署环境,其中三台服务器使用普通 PC 机代替,有线网络部分通过一台交换机将 PC 机和无线路由进行互联,温室控制主机通过无线网络接入测试环境,测试环境拓扑如下图 6-1 所示。
本系统测试时,搭建了测试机、应用服务器、My SQL 数据库服务器、MQTT 代理服务器、有线网络和无线网络,用来模拟应用部署环境,其中三台服务器使用普通 PC 机代替,有线网络部分通过一台交换机将 PC 机和无线路由进行互联,温室控制主机通过无线网络接入测试环境,测试环境拓扑如下图 6-1 所示。

............................
本文深入分析了目前国内外智能温室的应用现状,论述了国内智能温室发展中存在的问题和不足,通过实际走访与温室用户的深入交流,总结温室用户的实际需求,根据需求设计解决方案,在方案的设计过程中查阅了大量相关研究资料,从物理硬件选型开始,广泛收集了相关硬件型号和参数,通过设备性能参数、可扩展性、性价比和兼容传感器数量等因素对比,最终采用树莓派 3B+作为温室控制主机的开发板,采用相兼容的传感器解决了温室环境数字化的问题;在选择通讯网络时充分考虑了温室大棚建设地点较为偏僻等不利因素,采用运营商已搭建好的无线网络解决了大规模智能温室集中管控的问题;最后在系统的实现技术选型上,充分考虑了系统后期推广使用的成本问题,选择了目前较为流行的 Python 语言,系统所依赖的操作系统、数据库、通讯协议和其它扩展库,均采用主流免费开源软件;最终设计实现了基于物联网智能温室控制系统,并对系统设计的功能模块进行了测试,经过最终测试系统满足了需求分析,设计符合预期目标。 本文取得的成果有以下几点:
1、通过在现有的温室大棚中增加温室控制主机,实现温室环境数据实时采集和原有温室设备的管控控制。
2、使用数据库技术将温室环境数据集中保存,解决温室环境数据追溯的问题。
3、实现了实时温室环境报警机制,解决温室环境出现异常时温室用户不能在第一时间得到通知的问题。
4、实现了温室环境自动化管理,解决温室中需要长时间人员值守的问题。
参考文献(略)