毕业论文-基于物联网的智能大棚控制系统的设计与现实_第1页
毕业论文-基于物联网的智能大棚控制系统的设计与现实_第2页
毕业论文-基于物联网的智能大棚控制系统的设计与现实_第3页
毕业论文-基于物联网的智能大棚控制系统的设计与现实_第4页
毕业论文-基于物联网的智能大棚控制系统的设计与现实_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 基于物联网的智能大棚控制系统的设计与实现姓 名: 学 号:指导教师:专 业:网络工程(物联网)完成日期:2016年04月30日 基于物联网的智能大棚控制系统的设计与实现 PAGE iii摘 要随着我国城市化建设的进一步推进,我国可耕种地面积在逐年减少,如何充分利用现有的土地资源显得十分重要。目前,我国北方大部分地区都有温室大棚,由于温湿度,光照,CO2浓度直接影响作物的产量,因此如何给作物提供一个适宜生长的大棚环境,是一个值得研究的课题。本文设计了基于物联网技术的温室大棚系统。该系统满足了用户在远距离条件下对大棚内环境参数的监控,采用本系统可以实现大棚内温湿度、CO2浓度等环境变量的

2、自动调节适宜作物生长的区间,真正实现温室大棚的无人化管理。本系统分为了三个模块:网页模块,无线网络模块,网关模块,网关模块是利用QT语言作为开发语言,搭载了s3c2440处理器的ARM9开发板,SQLite3嵌入式数据库作为后台数据库,在Linux系统下使用QT Creator进行开发,网页模块是采用PHP脚本语言作为开发语言,在开发板上搭建了小型的web服务器,并集成了Highcharts插件,使得数据显示的更加美观、立体。无线网络模块使用的是ZigBee协议,充分的利用了ZigBee自组网、低功耗的特点,采用IAR for ARM作为开发环境。本系统采用了当前热门的物联网技术、嵌入式技术和

3、无线传感器网络技术相结合的方法,并搭载了各种传感器(温度传感器、湿度传感器、光照度传感器、土壤湿度传感器、热释红外感应传感器)和无线通信模块,最终实现了对大棚生产过程中各项环境参数的精准测量,并智能控制大棚内各项环境状况,进而实现大棚环境的自动保温、保湿、土壤湿度、历史数据的记录和安防监测等功能。物联网智能大棚系统还具有远程访问与控制功能。用户使用PC机不仅可以远程访问大棚内的相关数据,实时观察植物的长势,还可以远程控制大棚内部的执行器件(风扇、加湿器、加热器)来改变大棚内部环境。【关键词】QT语言;无线传感技术;PHP脚本语言;SQLite3数据库;ZigBee协议;Android语言Abs

4、tractWith the further advance of urbanization construction in our country, Chinas arable land area is reducing year by year, how to make full use of existing land resources is very important.At present, most areas have greenhouses in north China, due to the temperature and humidity, light, CO2 conce

5、ntration directly affect the output of crops, so how to provide a suitable for the growth of greenhouse environment, is a subject worth studying.This paper designed the greenhouses system based on Internet of things technology.The system can meet the users under the condition of long distance inside

6、 the greenhouse environment parameter monitoring, using this system can implement inside the greenhouse temperature and humidity, CO2 concentration and other environment variables automatically adjust the range of suitable for crop growth, achieve the unmanned management of greenhouses.This system i

7、s divided into three modules: the web module, wireless module, the gateway module, the gateway module is to use the QT language as a development language, carrying the s3c2440 processor ARM9 development board, SQLite3 embedded database as the back end database, using QT Creator for development under

8、 Linux system, the web module is using PHP scripting language as a development language, on the development board has set up a web server, for the small and integrate the Highcharts plug-ins, make the data more beautiful, stereo.Wireless network module is using a ZigBee agreement, fully using the Zi

9、gBee ad-hoc network and the characteristics of low power consumption, USES the IAR for ARM as a development environment.This system uses the current popular Internet of things technology, embedded technology and wireless sensor network technology with the combination of methods, and carried a variet

10、y of sensors (temperature sensor, humidity sensor, light sensor, a soil moisture sensors, pyroelectric infrared sensor) and wireless communication module, finally achieved to shed the various environmental parameters in the production process of precision measurement, and the environmental situation

11、 in the greenhouse intelligent control, thus realizes the greenhouse environment automatic heat preservation, moisture, soil humidity, historical data records and security monitoring, and other functions.The Internet of things intelligent greenhouse system also has the function of remote access and

12、control.Users not only can use PC remote access to the data inside the greenhouse, looks like the real-time observation of plants, can also remote control greenhouse internal executive components (fan, humidifier, heater) to change inside the greenhouse environment. 【key words】QT language;Wireless s

13、ensor technology;PHP scripting language;SQLite3 database;ZigBee protocol;Android languagePAGE II目 录 TOC o 1-3 h z u HYPERLINK l _Toc4179 第1章 绪 论 PAGEREF _Toc4179 1 HYPERLINK l _Toc18652 1.1 研究背景 PAGEREF _Toc18652 1 HYPERLINK l _Toc31984 1.2国内外研究现状 PAGEREF _Toc31984 1 HYPERLINK l _Toc6617 1.3 前景意义 PA

14、GEREF _Toc6617 1 HYPERLINK l _Toc24866 1.4 系统特征 PAGEREF _Toc24866 2 HYPERLINK l _Toc5353 1.5 论文组织结构 PAGEREF _Toc5353 2 HYPERLINK l _Toc29091 第2章 系统相关技术基础 PAGEREF _Toc29091 3 HYPERLINK l _Toc29816 2.1 PHP技术简介 PAGEREF _Toc29816 3 HYPERLINK l _Toc23899 2.2 Qt语言简介 PAGEREF _Toc23899 3 HYPERLINK l _Toc228

15、41 2.3 Andriod技术简介 PAGEREF _Toc22841 4 HYPERLINK l _Toc25082 2.3.1 AndroidStudio环境的简介 PAGEREF _Toc25082 4 HYPERLINK l _Toc13017 2.3.2 Android Studio常用功能的介绍 PAGEREF _Toc13017 6 HYPERLINK l _Toc7753 2.4 SQLite数据库 PAGEREF _Toc7753 8 HYPERLINK l _Toc9091 2.4.1 SQLite数据库简介 PAGEREF _Toc9091 8 HYPERLINK l

16、_Toc22567 第3章 系统概要设计 PAGEREF _Toc22567 9 HYPERLINK l _Toc23668 3.1系统硬件设计 PAGEREF _Toc23668 9 HYPERLINK l _Toc23375 3.1.1无线传感网络模块 PAGEREF _Toc23375 9 HYPERLINK l _Toc9256 3.1.2 ZigBee无线通信模块 PAGEREF _Toc9256 10 HYPERLINK l _Toc32594 3.1.3传感器模块 PAGEREF _Toc32594 10 HYPERLINK l _Toc31460 3.2系统软件设计 PAGER

17、EF _Toc31460 11 HYPERLINK l _Toc5745 3.2.1嵌入式网关软件平台搭建 PAGEREF _Toc5745 12 HYPERLINK l _Toc14511 3.2.2嵌入式网关的界面实现 PAGEREF _Toc14511 12 HYPERLINK l _Toc21562 3.2.3 网络远程控制程序设计 PAGEREF _Toc21562 12 HYPERLINK l _Toc6134 3.3系统数据库设计 PAGEREF _Toc6134 13 HYPERLINK l _Toc29205 3.3.1 数据库设计 PAGEREF _Toc29205 13

18、HYPERLINK l _Toc31345 3.3.2数据库概念模型图 PAGEREF _Toc31345 13 HYPERLINK l _Toc18720 3.3.3数据词典 PAGEREF _Toc18720 13 HYPERLINK l _Toc25088 第4章 系统详细设计 PAGEREF _Toc25088 15 HYPERLINK l _Toc5131 4.1 设计目标 PAGEREF _Toc5131 15 HYPERLINK l _Toc9621 4.1.1网关控制功能 PAGEREF _Toc9621 15 HYPERLINK l _Toc24801 4.1.2网页查询控制

19、功能 PAGEREF _Toc24801 15 HYPERLINK l _Toc27252 4.1.3 手机APP端的查询控制功能 PAGEREF _Toc27252 15 HYPERLINK l _Toc14796 4.2 温室大棚系统网关的详细设计 PAGEREF _Toc14796 15 HYPERLINK l _Toc27711 4.2.1 网关界面设计 PAGEREF _Toc27711 15 HYPERLINK l _Toc1378 4.3 温室大棚系统网页部分的详细设计 PAGEREF _Toc1378 34 HYPERLINK l _Toc12980 4.3.1 HTML显示界

20、面 PAGEREF _Toc12980 34 HYPERLINK l _Toc25087 4.3.2 AJAX请求脚本 PAGEREF _Toc25087 35 HYPERLINK l _Toc2565 4.3.3 传输数据 PAGEREF _Toc2565 36 HYPERLINK l _Toc7472 4.4 温室大棚系统手机APP模块 PAGEREF _Toc7472 38 HYPERLINK l _Toc31528 第5章 系统测试 PAGEREF _Toc31528 45 HYPERLINK l _Toc12098 5.1 测试方案 PAGEREF _Toc12098 45 HYPE

21、RLINK l _Toc11171 5.1.1测试目的 PAGEREF _Toc11171 45 HYPERLINK l _Toc9320 5.1.2 测试原则 PAGEREF _Toc9320 45 HYPERLINK l _Toc2191 5.1.4 测试用例 PAGEREF _Toc2191 46 HYPERLINK l _Toc26662 5.1.5 测试分析 PAGEREF _Toc26662 47 HYPERLINK l _Toc32495 第6章 系统总结和展望 PAGEREF _Toc32495 48 HYPERLINK l _Toc19669 6.1 系统总结 PAGEREF

22、 _Toc19669 48 HYPERLINK l _Toc21394 6.2 展望 PAGEREF _Toc21394 49 HYPERLINK l _Toc14459 参考文献 PAGEREF _Toc14459 49 HYPERLINK l _Toc32527 致 谢 PAGEREF _Toc32527 51基于物联网的智能大棚控制系统的设计与实现PAGE 53第1章 绪 论1.1 研究背景在“十二五”规划中,物联网成为了新兴高新产业中最为热门的技术之一。随着物联网的广泛应用,各行各业将得到快速的发展。物联网在农业中实现的智能化系统,能够降低劳动力成本,将传统的劳动密集型产业逐步转型。本

23、文从实际农业种植、管理的角度出发,阐述了物联网在农业中的信息化应用,提高产业效率,改革农业管理,所阐述的智能农业系统已经得到实际应用,能更清晰地看到物联网的重要作用。1.2国内外研究现状本文介绍了智能农业系统软硬件设计,采用ZigBee技术构建的无线传感器网络克服了有线传感器网络的局限性,具有低成本、低功耗、安全性高、易扩展、维护部署方便等特点。本系统监控温室内状态不受地理位置限制,并完善移动终端系统。本系统的创意在于将日渐成熟的物联网技术与农业大棚系统结合起来。通过无线采集技术及无线控制技术组建了一个可以远程管理的农业大棚。采集的数据可以通过网络传输到主控中心进行数据关联、数据分析,实现智能

24、农业大棚系统从数据采集、远程监控、数据分析汇总的一体化解决方案。1.3 前景意义对于农业工作人员而言,作物对环境温度、湿度的光照要求强度的要求往往很高,从而要求用户具备一定的农学专业知识。并且传统的农业大棚投入人力很多,人力和管理成本的增加无疑会大大境地农业大棚的创收。智能农业大棚系统可方便远程调控大棚内的环境状况,实现农业大棚的科学管理,提高农业人员的工作效率,降低综合成本,带来客观的经济效益。对于科研人员而言,智能农业大棚系记录大棚内各项作物不同时期的生长情况和各项数据,方便了科研工作。 总之,智能农业大棚系统可以使农业行业的发展更加的迅速,前景更加的美好。1.4 系统特征本系统分为无线传

25、感网络、网关和主控中心三个部分,把嵌入式技术,传感器检测技术,无线通信等技术相结合。无线传感网络由协调器、路由器、四个数据采集节点(安防传感器节点、光照度传感器节点、温度传感器节点、湿度传感器节点)及一个控制节点组成。四个数据采集节点负责采集大棚内温度、湿度、光照度、安防信息并将采集到的数据经路由器传输到协调器。路由节点保障每个节点的有效数据传输路径,确保数据传输稳定。协调器负责对采集的数据进行汇总处理,一方面将控制命令发给控制节点,控制控制节点执行风扇、加湿器、加热器的开关来协调大棚内的环境,另一方面,协调器与网关通过串口通信传递大棚内各种设置参数、命令及数据。网关架起了无线传感网络与局域网

26、通信渠道,将物联网连入了互联网。它通过标准串口与ZigBee协调器连接,收集无线传感器网络上传的数据,一方面接收协调器传送的数据,一方面通过无线路由器与主控中心联系,将实时信息传送给控制中心,并接收主控中心的命令,完成远程监控大棚内的环境信息。系统功能如下:1.实时监测温湿度、光照度、安防等信息。2.传感器的历史曲线。3.安防报警4.自动控制5.远程控制1.5 论文组织结构本论文共分七章。论文的第1章为绪论,这一章主要讲述了本系统的研究背景、国内外研究现状、前景意义、系统结构和论文的组织结构;第2章主要介绍了开发本系统的相关技术基础,主要介绍了JSP,Java,MySQL和SQL语言的简介等基

27、础知识;第3章是对系统做的整体设计,主要对系统的整体架构构架出来一个模型,确定各个模块大体应该能够完成的功能,还对数据库做了一个大体的设计。包含数据库的逻辑结构设计、模型设计和物理设计等;论文从第4章开始介绍开发此系统的详细过程,主要包括系统UI的设计,业务逻辑的设计、通信逻辑及其协议的设计。包含了业务流程图、系统功能结构图,系统详细设计包括设计目标、逻辑结构设计、具体实现的功能等;第五章是对系统进行的测试。测试各个功能是否能够正常的工作。包括了测试用例图;最后一章是对本系统的总结与对未来发展和改善的展望。第2章 系统相关技术基础2.1 PHP技术简介PHP是一种服务器端的,嵌入HTML的脚本

28、语言。PHP区别其他像客户端JavaScript的地方是它的代码在服务器端执行.PHP能做什么?最低水平,PHP可以做任何其他CGI程序所能做的事务,例如收集表格数据,生成动态页面内容,或者收发cookies。可能最强大的、最有意义的特性是PHP支持大范围的数据库。书写一个支持数据库的Web页面是难以置信的简单。当前PHP支持的数据库:Adabas D、IterBase、Solid、dBase、MySQL、SyBase、Velocis、FilePro、Oracle、Unix、DBM、Informix、PostgreSQL、SQLite。PHP通过协议也支持与其他服务的”交谈”,像IMAP,SN

29、MP,NNTP,POP3,设置是HTTP也可以打开晦涩的网络接口和其他协议交互。除此之外,用PHP写出来的Web后端CGI程序,可以很轻易的移植到不同的系统平台上。例如,先以LInux架的网站,在系统负荷过高时,可以快速地将整个系统移到SUN工作站上,不用重新编译CGI程序。这也是本论文选择PHP作为服务器端语言的非常重要的原因之一。2.2 Qt语言简介 Qt是一个基于C+的跨平台应用程序和UI开发框架。它包含一个类库,和用于跨平台开发及国际化的工具。由挪威Trolltech公司开发,目前已被Nokia收购,而且Qt的”write once,compile anywhere”的跨平台特性非常的

30、优秀,QT语言有非常多的优点,像刚提到过的优良的跨平台特性,面向对象的特性:QT的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots的安全类型来替代callback,使得各个元件之间的协同工作变得十分简单。另外Qt还有丰富的API,Qt包含多达到500个以上的C+类,还提供了基于模板的collections,serialization,file,I/O devices,directory management,data/time类。甚至还包括正则表达式的处理功能以及对XML的支持都使得Qt语言作为网关界面开发的最有力

31、的证据。2.3 Andriod技术简介 Android一词最早出现于法国作家利尔亚当在1886年发表的科幻小说未来夏娃中,他将外表像人的机器人起名为Android。2010年2月3日,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”上除去,从此Android与Linux核心开发分道扬镳。Android是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序-移动电话工作的全部所需软件,而且不存在任何以往阻碍移动产业创新的专有障碍。Android以Java为变成语言,使接口到功能,都有层出不穷的变化,

32、2014年5月16日,在I/O大会上,谷歌推出新的Android开发环境-Android Studio,并对开发者控制台进行改进。2.3.1 AndroidStudio环境的简介 Android Studio 是一个Android开发环境,基于 HYPERLINK /view/2735945.htm t /_blank IntelliJ IDEA. 类似 HYPERLINK /subview/23576/9374802.htm t /_blank Eclipse HYPERLINK /view/1237351.htm t /_blank ADT,Android Studio 提供了集成的 An

33、droid 开发工具用于开发和调试。在 HYPERLINK /view/92629.htm t /_blank IDEA的基础上,Android Studio 提供:基于 HYPERLINK /view/9916271.htm t /_blank Gradle的构建支持Android 专属的重构和快速修复提示工具以捕获性能、可用性、版本兼容性等问题支持 HYPERLINK /view/1834969.htm t /_blank ProGuard和应用签名基于模板的向导来生成常用的 Android 应用设计和组件功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览 2013年2013年5

34、月16日,在I/O大会上,谷歌推出新的Android开发环境Android Studio,并对开发者控制台进行了改进,增加了五个新的功能。Android Studio是谷歌推出了新的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。2015年5月29日,在谷歌I/O开发者大会上,谷歌发布AndroidStudio 1.3版,支持C+编辑和查错功能。Android Studio 1.3版开发码代码变得更加容易,速度提升,而且支持C+编辑和查错功能。Android Studio的主界面非常的美观,如图2-1所示:图 2-1 Android Studio的主界面

35、 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板。下面分别进行介绍: 1.Project 面板。用于浏览项目文件。 Project 面板会显示当前的所有的 module 。android application module 会显示一个手机图标(下图中的 app);android library module 会显示一个书架图标(下图中的 android-lib);java library module 会显示一个咖啡图标(下图中的 javalib)。 2.Build Variants 面板。用于设置当前项目的 Build Variants ( Gradle 知识

36、)。所有的 Module 默认都会有 release 和 debug 两种选项。当你添加了 BuildTypes 和 productFlavors ,这里将出现更多的选项( Gradle 知识)。默认情况下, release 和 debug 的区别并不是很明显;针对于代码来说,是没有区别的。 3.Android 面板。功能类似于 Eclipse 中的 Logcat ,但是比其多了一些常用功能,例如:截图,查看系统信息等。 4.编辑区。用于编辑文件。Gradle 面板。Gradle 任务列表,双击可执行 Gradle 任务。常用任务: build 、clean 、assemble 、assemb

37、leRelease 、assembleDebug 、lint 。2.3.2 Android Studio常用功能的介绍另外,Android Studio还提供了一些使用的功能:常用按钮(1)编译右侧 module 列表中显示的 module 。(2)当前 project 的 module 列表。(3)运行左侧 module 列表中显示的 module 。(4)debug 左侧 module 列表中显示的 module 。(5)attach debugger to Android process 。(6)设置。(7)项目属性。(8)使用 Gradle 编译 project 。(9)虚拟机。(10

38、)SDK Manager 。(11)DDMS。2.常用面板Structure 用于显示当前活动文件的结构。不仅仅支持 Java 文件,同时支持 Xml 文件、 .properties 配置文件等其他文件。如图 所示:当你查看布局文件或者 drawable 的 Xml 文件时,右侧会有 Preview 选项,用于预览效果。2.4 SQLite数据库2.4.1 SQLite数据库简介 SQLite,是一款轻型数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占

39、用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如TCL、C#、PHP、Java等,还有ODBC接口,同样比起MySQL、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它们的处理速度比它们都快。SQLite第一个Alpha版本诞生于2000年5月。至2015年已经有15个年头,SQLite也迎来一个版本SQLite3已经发布。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内

40、的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主存储在一个单一的文件中。它的简单设计是通过在开始一个事务的时候锁定整个数据文件而完成的。它的功能特性有:ACID事务、零配置-无需安装和管理配置、储存在单一磁盘文件中的一个完整的数据库、数据库文件可以在不同字节顺序的机器间自由的共享、支持数据库大小至2TB、足够小,大致13万行C语言,4.43M、比一些流行的数据库和大部分普通数据库中操作要快、简单,轻松的API、包含TCL绑定,同时通过Wrapper支持其他语言的绑定、良好注释的源代码,并且有着90%以上的测试覆盖率、独立:没有额

41、外依赖、源码完全的开源,你可以用于任何用途,包括出售它、支持多种开发语言,C,C+,PHP,Perl,Java,C#,Python,Buby等。 同时它还支持事务处理功能等等。也有人说它像Miscrosoft的Access,有时候真的觉得有点像,但是事实上它们区别很大。比如SQLite支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不像Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。第3章 系统概要设计智慧农业园

42、系统分为无线传感网络、网关和主控中心三个部分。嵌入式网关采用基于ARM A8处理器的开发板实现,是整个系统的主控中心。网关通过标准串口与ZigBee协调器连接,收集无线传感器网络上传的数据,进行分析,通过SOCKET通讯传给UI界面进行查看控制;另一方面通过网线与无线路由器连接,架起了无线传感器网络与局域网之间的数据通讯渠道,将物联网连入了互联网,通过无线路由器,用户可以远程访问无线传感器网络所采集的数据,可以设置系统的温度和湿度参数,可以向无线传感器网络中的控制节点发送控制命令,进而远程控制执行器件来调节温室内部环境,实现了人与物之间的信息交互。系统整体功能框图如图3-1所示:图3-1 系统

43、功能框图3.1系统硬件设计智慧农业园监控系统的硬件部分主要由无线传感网络模块、嵌入式网关模块构成。3.1.1无线传感网络模块 智慧农业园的无线传感网络硬件采用模块化的思路完成设计,主要包括传感器模块、控制器模块和ZigBee无线通信模块三部分。传感器模块和控制器模块是搭载在ZigBee无线通信模块之上。这样的结构化设计方便用户更换器件,最大限度的满足实际设计的需求。其中ZigBee无线通信模块和传感器模块组合为数据采集节点,ZigBee无线通信模块和控制模块组合为控制节点。3.1.2 ZigBee无线通信模块 ZigBee无线通信模块是由核心板和外接主板组成。 ZigBee无线通信核心板的主控

44、芯片采用TI公司生产的ZigBee无线通信芯片CC2530,负责驱动传感器以及数据的接收和发送。CC2530是一个真正用于IEEE802.15.4的ZigBee和RF4CE应用的片上系统(SOC)解决方案,其能以较低的成本建立强大的网络节点。CC2530集成了业界领先的RF收发器、增强工业标准的8051MCU,在系统可编程Flash存储器,8kB的RAM和其他功能,且适合需要超低功耗的系统。协调器节点负责网络的组建,完成各个终端节点的数据汇总打包,并将打包后的数据信息通过串口传送给嵌入式网关。3.1.3传感器模块 传感器模块由不同的传感器实现,包括温湿度传感器、光照度传感器、土壤湿度传感器和热

45、释红外传感器。 1.温湿度传感器 温湿度数据采集节点采用SHT10采集农业大棚中的温度和湿度,工作电压2.4-2.5V,测湿精度为+-4.5%RH,足以满足大棚要求。SHT10采用SMD贴片封装,用两条串行线与处理器进行数据通信。数据采集完后ZigBee无线通信芯片将数据传输到协调器,完成了一次数据采集。 2.光照度传感器光照度传感器实现光照数据采集功能,它采用光敏电阻采集环境的光照度信息,当光照度发生变化时,光敏电阻的阻值会减小。数据采集后转化为电压值送给CC2530单片机,并通过CC2530单片机的射频通信模块将数据经路由器传输到协调器,完成一次数据采集。光照传感器电路输出的为电压模拟信号

46、,需要用CC2530内部的A/D转换器将模拟信号转换成数字信号,光照度传感器与CC2530的P0_0相连,P0_0端口设置为ADC输入工作模式。图3-2 光照度节点电路图 3.控制器模块 控制模块主要实现设备的开关控制,主要由继电器及控制电路组成。采用USB接口与外围设备连接。控制节点负责执行上协调器发送的开关设备的命令。控制节点配备继电器模组,通过继电器来驱动风扇,调节室内的通风。光照度采集节点将光照信息采集送给协调器节点,协调器向网关发送实时光照度数据,通过继电器控制设备的开关。 4.嵌入式网关模块 嵌入式网关采用基于ARM A8处理器的开发板实现,是整个系统的主控中心,由ARM嵌入式系统

47、及其外扩器件组成。 5.主控中心模块 主控中心和网关之间通过构建以太网来完成两者之间的数据通讯和交换。网关部分需要有一个无线网卡,网关将从协调器接收来的各传感器的数据经过处理后经过无线网卡通过UDP协议发送给主控中心的应用程序,主控中心从而将接收来数据进行解析后显示出来。同样,当用户的在主控中心操作农业园内的设备时,也需要将数据进行封装通过以太网发送给网关的网卡,网卡接收后,解析并将相应的数据交给应用程序进行处理,来完成对农业园内的设备的控制。3.2系统软件设计系统软件设计是实现系统功能的重要组成部分。本系统分无无线传感器模块ZigBee协议栈软件设计部分和嵌入式网关软件设计部分。ZigBee

48、协议栈主要负责信息和的采集并且与嵌入式网关通信,嵌入式网关界面的设计主要是与无线传感网络模块通信同时进行服务器相关处理。协调器通信协调器通信Linux操作系统InternetQt界面硬件平台图 3-3 嵌入式网关软件结构图3.2.1嵌入式网关软件平台搭建 嵌入式网关采用基于ARM A8处理器的开发板实现,网关通过标准串口与 ZigBee 协调器连接,收集无线传感器网络上传的数据,进行计算处理。另一方面通过无线网卡与无线路由器连接,架起了无线传感器网络与局域网之间的数据通讯渠道,将物联网连入了互联网。通过无线路由器,用户可以远程访问无线传感器网络所采集的数据,可以设置系统的温度和湿度参数,可以向

49、无线传感器网络中的控制节点发送控制命令,进而远程控制执行器件来调节温室内部环境,实现了人与物之间的信息交互。3.2.2嵌入式网关的界面实现 嵌入式网关的主界面采用QT语言编写,整个嵌入式网关系统主要分为:实时数据、历史数据、控制、设置四部分功能。其中,实时数据用于采集农业园内个传感器的实时数据,可以观察到农业园内的实时的数据信息,历史数据可以对农业园内的历史数据进行记录,这种设计可以供研究人员对农业园内的各环境因素进行分析,研究人员可以通过查看历史数据,方便的研究各种数据信息对农作物生长的影响,控制主要用于对农业园内的各种控制设备进行管理,可以采取手动和自动的模式来管理农业园内的控制设备,设置

50、主要用于设置温室内的个环境因素的阈值,通过阈值的设置,可以更加方便自动控制系统模式的管理,而且特别配备的安防系统也可以真正的实现无人值守的功能,总之,本系统软件的设置更加方便和人性化。3.2.3 网络远程控制程序设计 PC端的网络远程控制主要包含HTML显示页面、AJAX请求脚本、PHP编写的CGI接口,主要完成通过UDP向Qt主程序发送请求并获得数据。手机端的网络远程控制主要包含手机应用程序I界面的设计,网关应用程序服务器端设计,手机Android应用程序客户端设计,客户端和服务器端通过Socket进行数据交换以及编码方式设计等。3.3系统数据库设计3.3.1 数据库设计 数据库概念设计,将

51、各实体属性及其关系表示出来。 如图3-4所示:为温室大棚数据库的E-R图。图 3-4 温室大棚数据库结构设计图3.3.2数据库概念模型图本系统数据库采用SQLite数据库,根据系统功能设计要求,本系统数据库概念设计如图4-1所示。图 3-5 温室大棚数据库模型设计图如图所示,数据库属性为id,temp,soilhumi,airhumi,co2densi,illumdesi;3.3.3数据词典(1)data表为传感器的各种数据项表,表结构如表5-1所示。表5-1 data表的结构字段名数据类型长度是否主键描述IDINT8是区别不同时间段的TEMPFLOAT32否 温度SOILHUMIFLOAT3

52、2否 土壤湿度AIRHUMIFLOAT32否 空气湿度CO2DENSIFLOAT32否二氧化碳浓度ILLUMDESIFLOAT32否 光照强度图 3-6 温室大棚数据库物理设计图第4章 系统详细设计4.1 设计目标本系统是根据需求分析按照用户的需求以及结合人机交互方面的考虑设计的系统,主要实现如下功能:4.1.1网关控制功能 网关控制功能如下所示: 1. 网关主界面显示整个温室大棚进行监测和控制大棚内的温度、湿度、光照和二氧化碳等参数。2. 实现无人值守的操作,通过设置相应的阈值来对大棚内的各项参数进行规定,使得大棚在无人值守的情况下也能保持在一个恒定的环境。3. 工网关的历史参数的数据曲线,

53、以供后期分析数据。4.1.2网页查询控制功能网页查询控制功能如下所示:1. 通过网页远程查看大棚数据。2. 通过网页远程控制大棚内的设备和设置阈值。3. 通过HighCharts图表实时的直观的显示。4.1.3 手机APP端的查询控制功能手机APP端的查询控制功能如下所示:1. 查询数据。2. 紧急报警。3. 分享数据。4.2 温室大棚系统网关的详细设计4.2.1 网关界面设计 网关界面的设计,主要包括主界面设计、实时数据界面的设计、历史曲线界面的设计、控制界面的设计、阈值界面的设计。 下面分别介绍这几个界面的设计: 1.如图4-1所示,为网关主界面的设计:图4-1 网关主界面的设计网关主界面

54、包括了一个枣庄学院的logo和一个温室大棚的实体图,在界面的下面包含四个按钮,分别用于对实时数据、历史数据、控制、设置等界面的切换。如图4-2所示:为实时数据界面。图 4-2 实时数据界面 实时数据主要将网关收到协调器汇总的传感器的温度、湿度、光照、土壤湿度、安防的数据信息显示在界面上。如图4-3所示:为控制界面的设计。图4-3 控制界面控制界面主要是对温室大棚内的空调、加湿器、风扇、安防警报器等进行控制,右上角还有打开手动控制的复选框,可以选择是手动控制,还是在无人值守的情况下的自动控制。4.如图4-4所示:为历史曲线界面。图4-4 历史数据界面历史曲线界面是将历史的温度、湿度和光照信息进行

55、存储,然后显示,并绘制出直观的曲线。5.如图4-5所示:为阈值界面。图4-5 阈值界面 阈值设计界面可以设置温度的上限、下限、温度和光照的阈值,用于无人值守时系统可以根据阈值自动的对大棚内的设备进行控制来保持大棚保持在一个恒定的环境下。4.2.2 网关与协调器通信设计 网关与ZigBee协调器通信功能使用libwsncomm提供的二次开发接口来实现,工作原理如图4-6所示:图4-6 温室控制系统主要代码如下:/* * GreenHouseController.cpp * * 温室控制系统的主要逻辑控制程序 */#include GreenHouseController.h#include #i

56、nclude GreenHouseController *GreenHouseController:_instance = NULL;GreenHouseController:GreenHouseController(QObject *parent) : QObject(parent), ctrlValid(false), isAutoCtrl(true), isSecure(true), wsnUser(NULL) / 用于保存最新的传感器的数据 curTemperature = 0.0; curHuminity = 0.0; curLight = 0.0; curIRPers = fals

57、e; unsigned int i; for(i = 0; i bind(9600, QUdpSocket:ShareAddress | QUdpSocket:ReuseAddressHint) qDebug()error bind to 9600 port!; / 连接UDP服务器接收到数据的信号,由onSockReadReady()函数来处理接收到的数据 connect(udpSock, SIGNAL(readyRead(), this, SLOT(onSockReadReady();GreenHouseController:GreenHouseController() if(wsnUse

58、r) wsncomm_unregister(wsnUser); delete udpSock;/* * brief GreenHouseController:createInstance * * 用于创建控制实例,主要为了保证一个系统中仅通过new创建一个GreenHouseController */void GreenHouseController:createInstance() if(_instance != NULL) return; _instance = new GreenHouseController();/* * brief GreenHouseController:destr

59、oyInstance * * 用于销毁控制实例 */void GreenHouseController:destroyInstance() if(_instance = NULL) return; delete _instance; _instance = NULL;/* * brief GreenHouseController:instance * * 获取当前的控制实例 */GreenHouseController *GreenHouseController:instance() if(_instance = NULL) createInstance(); return _instance

60、;/* * brief GreenHouseController:isCtrlInProcess * * 判断当前是否处于工作状态 */bool GreenHouseController:isCtrlInProcess() const return ctrlValid;/* * brief GreenHouseController:startControl * * 让温室控制逻辑开始工作 * 调用该函数后,GreenHouseController就开始接收ZigBee系统传递过来的数据 */void GreenHouseController:startControl() if(wsnUser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论