基于以太网的温湿度检测及控制系统设计
2017-05-02湖北工业大学机械工程学院刘嘉诚段磊磊朱郧涛张秦翟中生
湖北工业大学机械工程学院 刘嘉诚 段磊磊 朱郧涛 张秦 翟中生
基于以太网的温湿度检测及控制系统设计
湖北工业大学机械工程学院 刘嘉诚 段磊磊 朱郧涛 张秦 翟中生
本设计是基于STM32单片机为核心的自动浇水系统,通过移植轻量级TCP/IP协议栈LWIP搭建Web服务器,从而可以通过网页实时监控盆栽土壤湿度和远程控制系统浇水。该方案不仅可以及时给盆栽浇水,而且降低了开发成本,具有较高的应用价值。
LWIP协议栈;以太网;Web服务器;远程控制
0 引言
随着生活质量不断的提高,许多人喜欢在家里或者办公室摆上花盆,这样不仅可以陶冶情操而且可以达到净化室内空气的功效。但是,在生活中很多时候人们太忙没有时间顾及这些花草,室内花草由于受不到雨水的滋润很容易凋谢。人们这个时候就会很困扰,自己好不容易买的花草因为自己无暇照顾而死亡,心情也受到了不好的影响。很多人对花草有着天生的喜爱,看到这些花死去是很不乐意的。虽然市场上有卖盆花自动浇水器,但价格很贵,并且多数是设定一个定时浇水的时间,很难做到给对盆花自动适时适量浇水。也有盆花缺水报警器,可以提醒人们及时地给盆花浇水,虽然这种设备比较经济,但这种报警器只是报警,浇水还需要人们亲自动手。家中无人时,即使报警也不会有人浇水,设备就成了摆设。因此,设计一种集盆花土壤湿度检测、自动浇水系统,对盆栽适时适量的浇水,也可以通过远程控制系统给盆栽浇水。
现阶段,石油化工、煤炭、冶金、交通、电力等工业行业已逐步应用了以太网技术。从全球来看,由于以太网技术拥有开放性好,应用广泛,透明与统一的通讯协议,高传输速率保证实时性等优点,以太网行业在近10年的增速远远高于现场总线和互联网的增速,以太网行业作为新兴产业已进入了发展的导入期,并将发展成为工业控制领域中的领头羊,使通过以太网对远程设备进行检测和控制成为一种可能,解决了受时间和地理条件约束的疑难问题。
从目前的发展现状来看,以太网成为应用最广泛的计算机网络技术,Java,VisualC++,VisualBasic等编程语言都支持以太网的应用与开发,使得以太网能在多种开发环境和开发工具可供选择的情况下,使用的范围更加广泛。研究和实践证明,基于Ethernet技术研制的工业生产过程现场控制网络的传输链路层,可以较好地满足大多数远程监控系统应用的技术要求。
1 系统概述
本文着眼于设计一个基于以太网的远程监控系统,实现对盆栽温湿度的检测和控制,采用STM32F103为主控制器来控制以太网控制器ENC28J60与计算机通信,通过主控制器采集土壤湿度和环境温度数据。移植轻量级TCP/IP协议栈LWIP搭建Web服务器[1],把温湿度以网页的形式显示给用户。用户可以登入手机或者电脑浏览器,对盆栽的温湿度进行远程监控,也可以通过网页远程控制系统给盆栽浇水。远程监控系统总体框图如下图1所示。
图1 远程监控系统总体框图
2 系统设计
在进行数据传输之前,首先要对主控制系统的各模块进行初始化设置。系统初始化配置如图2所示,分别要对STM32主控芯片的GPIO引脚配置、ADC通道、SPI接口、ENC28J60以太网芯片模块、TFT彩屏等进行初始化[2]。初始化后,外围传感器开始采集数据,通过以太网网口把数据发送到交换机上,由交换机分配数据包给访问的计算机,通过网页页面接收数据并实时显示。通过网页可以远程控制浇水装置给盆栽浇水。主控制系统程序设计流程图如图2所示。
图2 系统程序设计流程图
2.1 LWIP协议栈的移植
LWIP是瑞典计算机科学院(SICS)的AdamDunkels等开发的一个小型开源的TCP/IP协议栈,是TCP/IP的一种实现方式。LWIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,包括TCP,UDP,ICMP,DHCP,PPP和ARP等常见协议的所有或部分功能,而且提供了类似伯克利TCP/IP的API函数,使LWIP协议栈十分适合在低端的嵌入式系统中使用[3]。
网关采用可靠的TCP传输协议,保证了数据传输的可靠性。
如图3所示,数据发送的发起者是应用层。首先是应用层调用ip_write()函数,接着就是再将控制权交给tcp_enqueue()函数,使数据分割成适当大小的TCP段,然后放到所属连接的传输队列中。然后通过tcp_output()函数判断接收器窗口是否有足够大的空间,如果空间满足,就使用ip_route()及ip_output_if()函数发送数据。
图3 协议栈处理过程图
数据接受的发起者是网口接口层,首先是网口接口将数据包传送给ip_input()函数,经过验证IP头后传给TCP段给tcp_input()函数。经过TCP解析和TCP连接。这个TCP段到达tcp_rocess()函数,实现了TCP状态机,任何必要的状态转换在这里实现,最终tcp_receive()函数将数据传送给上层的应用程序,完成接受过程。
2.2 基于STM32的Web服务器的实现
Web通信是在TCP通信的基础上再使用了HTTP协议,使得两个不同的Web应用程序能正常的通信。在Keil软件中基于LWIP搭建Web服务器,用Dreamweaver编写静态网页。交互方式主要是通过表单来完成,使用了SSI技术和CGI技术。通过浏览器控制远程盆栽的LED指示灯和远程控制浇水就是使用的CGI技术。CGI是一种公共的网关接口,是一种网络核心技术。实现服务器与客服端的交互功能,在实际中也用的十分广泛。通过网页查看盆栽土壤湿度、环境温度、时间和日期是通过SSI来实现的。利用S SI技术可以显示图形,文本或程序应用程序包含到网页中[4]。Dreamweaver网页编辑界面如下图图4所示。
图4 Dreamweaver网页编辑界面
3 数据测试
用路由器搭建了一个网络,以验证系统的可行性,在浏览器输入监控设备的IP地址时,首先出现的是监控系统的主页页面,如下图图5所示,可了解系统的功能。在这个页面中,有远程控制、土壤湿度、环境温度选项。页面会每3s刷新一次,以便能及时更新当前温度。
图5 监控系统的主页页面
我们通过点击远程控制,就会看到如图6的页面,我们可以远程控制系统指示灯的亮灭和远程控制系统浇水,点击土壤湿度,就会看到如图7的页面,我们可以实时观测到土壤湿度的变化。也可以用智能手机登录设置好的IP地址进行网页控制,使控制方式多样化,符合了移动智能终端控制的发展要求。
图6 远程控制页面
图7 土壤湿度和环境温度显示页面
4 总结与展望
基于以太网的温度监控系统是一个远程的温度监控系统,在监控端构建了一个WebServer服务器,并能在网页上为用户实时提供监控数据,同时,用户也可以通过网页去控制设备的工作状态。在一定程度上可以将本系统看成是智能家居设备的一个缩影,如果能提供更丰富的功能,完善其中存在的问题,并将控制端很好地移植到智能设备上,人们便能轻而易举地掌控家庭智能设备。在将来,这种模式可以改善人们的生活体验。
5 结束语
采用STM32F103主控制芯片和ENC28J60以太网控制器构建远程Web网页控制系统,与现场总线相比,简化了设计过程,减少了系统功耗,降低了系统搭建和维护成本;实现了计算机、智能手机、监控系统终端等多样化监控方式;利用计算机和手机浏览器网页页面显示监控信息,无需进行上位机的开发。为智能控制特别是智能家居的控制提供了一种可行的方案,符合物联网发展的趋势,有着广阔的应用空间。参考文献:
[1]孔栋,郑建宏.嵌入式TCP/IP协议栈LWIP在ARM平台上的移植与应用[J].通信技术,2008,41(6):39-41.
[2]彭刚,春志强.基于ARMCortex-M3的STM32系列嵌入式微控制器应用实践[M].北京电子工业出版社2011.
[3]罗军舟等.TCP/IP协议及网络编程技术[M].北京:清华大学出版社,2004.6,21,63-65,102-103.
[4]徐叶,袁敏,李国军.嵌入式Web服务器远程监控系统的设计与实现[J].计算机与现代化,2013(2):94-98.
2017-3-02)