3。2 系统模块设计文献综述
温室控制系统是一个物联网的实例,本论文中设计的温室控制系统可以由感知模块读取温湿度并上传到网络平台上去,当发现温度异常时,便启动报警模块;发现报警后,可以手动通过控制端发送命令执行制动模块。在设计的过程中考虑到设计的可拓展性,对硬件和软件的设计的实现摒弃了以往冗余的设计,采用了结构化的思想。系统模块图如图3-1所示:
图 3-1 系统模块图
底层硬件模块(物理层)主要负责感知模块,报警模块,制动模块的控制。传感器获取温湿度的信息。控制核心是树莓派,通过对GPIO口的控制来实施对各个模块的制动。温度读取部分采用DHT22传感器来测量温湿度。报警部分采用三色灯来对各个部分进行预警,而制动部分则采用LED灯来模拟风扇,电灯等两种状态的制动设备。
网络层则包括树莓派将的到的数据上传到Yeelink平台上,并且远程控制端在对树莓派进行制动控制时,通过Eclipse平台将消息送至树莓派的接收端。
应用层即电脑远程控制端,对整个系统进行查看,制动等操作。
系统的软件设计包含两个部分:树莓派(上位机)的控制程序和电脑的控制程序。树莓派控制读取温湿度的驱动是用C语言进行描述,对三色灯和LED的控制是基于Pi4j这个开发包写的。并用树莓派最通用的Python语言将他们合并在一个主程序里。而上位机对树莓派的控制则在Eclipse中进行。上位机与下位机之间的通信是基于MQTT协议实现的。
3。3 系统的应用架构
本系统分为Yeelink平台,远程客户端和树莓派三个子系统。其中Yeelink平台作为一个查看设备状态的网点管理着读取到的温湿度数据,树莓派执行对物理层硬件的操作,远程客户端将执行的命令发送至客户端。Yeelink平台支持将读取到的数据都实时的显现出来。
远程控制端提供了对设备的控制操作,并且通过控制端可以显示树莓派的图形化界面,提供给用户更加有好的界面效果,引导用户无需了解语法规则直接使用。远程客户端分为两个部分。一方面为通过电脑的远程控制执行树莓派中的程序,另一方面利用Eclipse平台实现对树莓派小灯控制。
由于Pi4j包的设计是在树莓派的基础上定义的对树莓派的各个GPIO口的控制,它与MQTT协议协调实现控制树莓派还不够完善,目前提供对灯的控制服务以及对消息发布。而Yeelink平台也只是将数据以曲线图的形式表现出来,反向控制还不够完善。来.自^优+尔-论,文:网www.youerw.com +QQ752018766-
Yeelink平台可以接受数值类型、图像类型、GPS类型的数据接入,同时拥有完善的API接口文档和例子。本文中主要接入数值型的传感器,通过API接口,只需要简单的几步操作就能将传感器接入Yeelink平台,实现传感器数据的远程监控。
当数据传到Yeelink上时,数据不是作为独立的节点,它构成了一个整体,人可以实时的看到数据,简单地说,就是可以把你采集到的数据提交到Yeelink,同时Yeelink会以一定的形式展现出来。将温湿度数据上传上去,因此,不管在什么地方,只要有网络,你就可以实时地查看网上的温湿度值[[[] 冯志辉。 使用树莓派实现网络监控系统[J]。 电子技术与软件工程,2015,05:85。]]。