基于Web的远程温湿度监测系统的设计 2.docx
- 文档编号:23886621
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:81
- 大小:1.21MB
基于Web的远程温湿度监测系统的设计 2.docx
《基于Web的远程温湿度监测系统的设计 2.docx》由会员分享,可在线阅读,更多相关《基于Web的远程温湿度监测系统的设计 2.docx(81页珍藏版)》请在冰豆网上搜索。
基于Web的远程温湿度监测系统的设计2
基于Web的远程温湿度监测系统的设计
摘要:
首先本论文针对基于WEB远程温湿度采集及监测系统的设计加以研究和介绍,并讨论系统软硬件的选择及具体开发调试环境;然后,详细介绍了系统设计方案及其实现,并着重介绍了上位机部分的设计,通过界面的形式完成远程人机互动,更高效快捷的完成对复杂环境因素的把握。
系统监测参数包括现场多点温湿度值,主控单片机通过将设定阈值与测定值进行比较进而驱动蜂鸣器报警同时触发继电器进行相应电气控制,实现现场温湿度调控。
同时上位机通过串行通信与下位机进行数据通信,将下位机检测到的数据在上位机上进行实时显示和相应控制。
后台运行的数据库通过将下位机采集数据进行录入存档,同时数据库支持上位机和WEB调用。
关键词:
温湿度采集;stc单片机;上位机;远程控制;数据库;WEB访问
ThedesignofthesystemwhichBasedonWebremotetemperatureandhumiditymonitoring
Abstract:
ThispaperfirstlybasedonWEBremotetemperatureandhumidityacquisitionandmonitoringsystemdesigntoresearchandintroduce,anddiscusstheselectionandspecificsystemhardwareandsoftwaredevelopmentofcommissioningenvironment;Then,detailedintroducessystemdesignschemeandrealization,andintroducesemphaticallythedesignofcomputerparts,throughtheformcompleteremotehuman-machineinterface,themorehighlyeffectivequickinteractiveenvironmentfactorsofcomplexcompleteassurance.Systemmonitoringparametersincludingthescenemultipointcontroltemperatureandhumidityvaluesetthresholdmicrocontrollerthroughcomparisonwithdeterminationvalueandbuzzeralarmandtriggerrelaydrivercorrespondingelectriccontrol,andrealizingscenetemperatureandhumiditycontrol.MeanwhilePCthroughserialcommunicationandlowerlevelcomputerdatacommunication,willlowerplacemachinedetectedonthedatareal-timedisplayintheupperandthecorrespondingcontrol.Thebackgrounddatabasebywilllowerlevelcomputeracquisitiondatainputfile,anddatabasesupportPCandWEBcalls.
Keywords:
Temperatureandhumiditycollecting;STCmicrocontroller;Principalcomputer;Remotecontrol;Database;WEBaccess
1绪论
1.1基于Web的远程温湿度监测系统概述
1.1.1基于Web的远程温湿度监测系统组成
本系统主要由主控制器、串行通信模块、继电控制模块、显示模块、上位机控制模块、WEB界面等六部分组成。
其基本框架见图1。
图1基本框架图
(1)主控制器模块
主控制器模块是整个下位机系统的核心。
主要完成对系统中各种测定信号的输入、分析及输出控制,也是实现数据交换、软硬件接口的中心控制模块。
本系统中以单片机为控制核心。
(2)串行通信模块
这是系统中又一重要模块。
其主要功能是实现对数据进行上位机和下位机之间的交换,是实现远程控制的关键。
系统中串行通信模块通过MAX232芯片进行电平转换实现上位机与下位机的通信。
(3)继电控制模块
此模块是控制的关键模块,当系统采集到的现场温湿度数据超出测试点阈值时,单片机发出控制信号触发继电器,进而启动或关闭相应电气设备,实现对现场环境的控制。
采用继电控制有益于提高工作效率和控制精度,提高了系统稳定性和可用性。
(4)显示模块
此部分功能主要包括设定阈值和测定量的显示。
系统中采用1602液晶实现显示功能,采用1602液晶可以节约单片机接口,同时可以显示较多的内容特别适合多点监测系统数据的显示。
(5)上位机控制模块
上位机模块由两部分组成,包括VB上位机界面和Access后台数据库。
VB界面用于实现人机交互,可以显示各测定点阈值和各监测点的实时数据,并通过控件与数据库连接实现数据库存储、查询等功能。
Access数据库部分可用于存储测定数据并支持本地和远程网络调用。
(6)WEB界面模块
采用ASP网页语言编写,用于远程计算机通过网络实现对本地数据库的访问。
WEB功能可以实现异地用户对于现场数据的监测和简单控制。
1.1.2基于WEB的远程温湿度监测系统的特点
要通过Intemet实现温湿度的远程监测,一般是采用在现场计算机系统中构建Web服务器的方法。
采用这种方法在本地构建的服务器运行后可以支持WEB访问本地数据,同时由于本地服务器的特殊性管理者可以通过设置较高的安全等级提高系统的安全性。
随着科技的发展网络几乎无处不在,这为基于WEB的远程监测提供了强大的硬件支持,只要有网络的地方就可以实现“远程监测”[3~4]。
1.2课题研究的背景及意义
1.2.1课题研究的背景
对于温湿度的检测系统的研究有很多,归纳起来有两个大的走向,一是趋于小型化的手持式或现场式的检测设备,数据的记录需要人工干预,工作效率和精度都不高。
二是采用检测元件集中管理的数据采集模式,但是管理范围大都只局限在本地计算机上,通过网络对现场数据访问的技术目前的研究发展还是不够的主要体现在检测系统功能的完备性上,所以本设计集中检测技术、上位机控制、数据库存储、Web服务器架构和访问技术于一体,最大限度的满足实际工作需要,提高工作效率[5]。
1.2.2课题研究的意义
本项目采用价格低廉的单片机对现场数据进行采集,通过串行通信方式完成前置单片机与计算机间的通信,采用VB进行上位机的编程并结合数据库对采集数据进行存储,方便数据分析和网络上其他主机对现场检测数据的访问和调用,是一套造价低廉、方便实用的现场监控平台。
同时,该平台具具有良好的兼容性[6]和稳定性。
此次设计的突出优势是:
(1)突破了检测系统高成本、移植性差的通病,以单片机作为控制中心实现了成本最小化,通过采用DS18B20温度传感器元件通过单总线技术既节约控制端口同时增加了系统的可扩展性,同时该元件的温度适用范围比较大从而实现了可移植性的突破。
(2)远程多点实时监控,并对现场设备进行了冗余备份,解决了现场监控和故障检修的不便,实现远程对现场生产条件的掌控和现场设备的故障检测和判断。
(3)系统硬件部分采用模块化的设计方法,将功能模块与主控模块分离,便于系统扩展和故障检修,提高系统可用性。
1.3论文研究的内容和目标
1.3.1论文研究的内容
(1)分析温湿度传感器的工作原理。
由于此次论文是对于温湿度的监控,因而对于传感器的选择很重要,不同的传感器对环境的适应能力不同,可移植性也存在较大差异,选择一个适合的传感器在系统设计成本和系统可移植性的方面具有重要意义。
(2)分析继电控制原理和应用。
在进行现场监控的过程中控制相关电气设备对现场进行调控是本系统中一个重要的环节。
由于系统控制核心采用单片机架构,而单片机属于弱点控制范畴,要驱动中大型现场设备运行即必须实现小电压对大电压的控制,采用继电器可以很好的解决这一问题,实现远程控制。
(3)分析串行通信方法。
在系统实现过程中上位机和下位机的通信是重要组成环节,上位机下位机通过串行口进行串行通信。
串行通信速度快、误码率低,通信高效可靠[7]。
(4)了解VB界面开发和相关控件使用。
VB是一款面向对象的软件界面开发工具,简单易用。
利用VB开发串口通信程序既可以使用MSComm控件也可以调用WindowsAPI函数实现。
本系统采用MSComm控件实现,因为MSComm控件的功能和API调用一样强,甚至比它还好且使用起来更加简单[8~9]。
(5)采用WEB通信实现系统的远程监测。
互联网技术的发展为这一方案提供了可能性,远程监控脱离传统意义上的“远”,通过网络访问本地数据库实现更远距离的实时监测。
1.3.2论文研究的目标
(1)能过对现场进行多点温湿度数据采集和传输。
(2)通过程序控制,实现设定阈值、报警和继电控制功能等。
(3)下位机能够显示多点测试数据和其他数据量。
(4)能通过串行通信的方法实现上位机和下位机的实时通信,并且可以通过上位机实现对下位机的控制功能。
(5)能够在上位机界面实现对各监测数据的实时显示和报警,并可以对数据库进行相应操作,比如实现查询和报表打印等功能。
(6)能够通过网络访问本地数据库,读取相关数据。
1.4论文的结构
本论文的结构如下:
第一部分介绍基于Web的远程温湿度采集及控制系统的设计的基本框架,以及课题的背景及意义,并论述了研究内容和目标,最后说明了本论文的组织结构。
第二部分介绍了下位机硬件电路设计,以及对选用器件的性能要求所作的简要分析。
第三部分是对软件设计部分的介绍。
第四部分是对WEB网络访问的技术介绍以及本次设计的前景和展望分析。
2硬件设计
本节介绍下位机的硬件电路设计。
其流程如图2。
2.1STC单片机简介
STC89系列单片机是MCS-51系列单片机的派生产品。
它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。
STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。
2.1.2STC单片机接口性能分析
3V/5V工作电压,操作频率0~33MHz(STC89LE516AD最高可达90MHz);5V工作电压,操作频率0~40MHz;
大容量内部数据RAM:
1K字节RAM;
64/32/16/8kB片内Flash程序存储器,具有在应用可编程(IAP),在系统可编程(ISP),可实现远程软件升级,无需编程器;
支持12时钟(默认)或6时钟模式;
双DPTR数据指针;
SPI(串行外围接口)和增强型UART;
PCA(可编程计数器阵列),具有PWM的捕获/比较功能;
4个8位I/O口,含3个高电流P1口,可直接驱动LED;
3个16位定时器/计数器;
可编程看门狗定时器(WDT);
低EMI方式(ALE禁止);
兼容TTL和COMS逻辑电平;
掉电检测和低功耗模式等[10]。
2.2基于WEB的远程温湿度监测系统的硬件接口设计
2.2.1STC89C52引脚介绍
进行单片机的接口设计首先需要分析一下STC89C52单片机的引脚[10]。
STC89c52单片机拥有四个并行口其中P1口为准双向口,P2口为可作为地址总线输出口的准双向口,P0口可作为地址/数据总线口的三态双向口,当P3口作为8为双向I/O端口时,其内部具有上拉电阻,输出缓冲器具有对称的驱动特性,可以输出和吸收20mA大电流。
此外,它还可以作为AD转换引脚。
当P0、P1、P2端口全作为普通I/O口时,和P3口功能基本相同。
另外,P3.0和P3.1作为串行通信口实现上位机和下位机间的串口通信连接。
单片机结构见图3。
图3STC89c52单片机引脚图
2.3下位机硬件电路介绍与设计
首先,介绍一下时钟和复位电路的设计。
(1)时钟电路的设计。
本设计采用石英晶体振荡器。
石英晶体频率较稳定,抗干扰能力较强。
具体电气连接电路见图4。
图4时钟电路图5复位电路
(2)复位电路的设计。
51单片机使用的是高电平复位,其连接方法比较固定,其常见接法见图5。
刚上电时,电容C7促使REST引脚保持一段时间的高电平使电路复位,这属于上电复位。
当按键按下时,REST与电源正极通变高电平,电路发生复位,程序终止运行后从新开始运行,程序运行的起点是main函数,这是手动复位。
采用上电复位和手动复位相结合的硬件电路设计提高了系统的可靠性。
(3)键盘接口电路采用独立键盘的方法,利用三个按键完成系统参数的设定,三个按键分别定义为功能选择键、加一键和减一键,具体实现过程为系统初始化后后,系统以轮询的方式进行键盘操作扫描,当检测到功能定义键第一次输入低电平即第一次按下时,启动设置下限功能,功能定义脚第二次按下启动设置上限功能,功能键第三次按下则退出阈值设置功能。
采用功能键控制的方式可以在节约接口的同时使系统功能集约化。
键盘电路见图6,图中硬件电路采用上拉电阻的作用是保证按键没有被按下时各引脚输入为高电平,提高系统稳定性。
图6键盘接口电路
(4)显示电路部分采用了LCD1602液晶,具体的电路如图7。
图7LCD液晶显示电路
(5)串行接口及其电路的设计。
串行通信的发送方向和接收方向共用一个缓冲器,只是缓冲器的地址不同。
工作方式分为单工、半双工和全双工三种,本系统采用全双工方式进行通信,即在下位机上传数据时上位机可以同时接收数据和发送数据,51单片机的串行口是一个全双工的异步串行通信端口,特殊功能寄存器SCON对串行通信起控制作用可设置工作波特率等[11]。
图8MAX232芯片引脚及连接图
图9MAX232硬件连接方法
MAX232芯片介绍。
电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平,MAX232芯片引脚及内部逻辑见图8。
该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。
每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平[12~13]。
(6)传感器的选择和使用。
温度传感器采用DS18B20温度传感器,DS18B20单线数字温度传感器,即“一线器件”,其具有独特的优点:
采用单线制数据传输,支持单线元件扩展;测温范围大适应范围广;因而具有较好的环境适应能力[14~16]。
湿度传感器采用DHT11传感器,该传感器具有体积小测定范围大的特点同样也为单总线原件,便于系统功能扩展。
硬件连接图分别见图10、图11。
图10DS18B20管脚及内部结构图图图11DHT11连接方法
(7)继电控制模块和报警模块。
继电控制是系统控制核心环节,采用5V继电器实现控制过程小电压对大电压的控制,继电器采用三极管驱动,继电器驱动电气设备在图中以LED指示灯代替,本设计采用的继电器型号为SRD-05VDC-SL-C可由5v电压驱动,最大控制变量达到10A/250V可以满足大部分电气设备的运行要求,电气连接电路如图12所示。
图12继电器连接电路图图13实物图
报警模块主要功能是在现场温湿度超出设定阈值时对外界发出警报,此部分采用蜂鸣器作为报警设备,同时考虑到系统的稳定性对硬件进行了冗余备份,具体做法是在蜂鸣器上并联led指示灯,这样在其中一个报警设备出现故障时另一个冗余设备可以继续工作而不会影响系统稳定性[17]。
(8)硬件整体实物图和电路图如图13、14:
图14下位机硬件电气连接图
3软件设计
3.1软件设计流程
本节将根据相应的硬件自下而上的设计相应程序或软件。
首先对键盘、显示、报警、串行通信部分设计对应的程序,并对这些程序加以排列、组合以获得最佳控制状态,最后设计高层人机接口程序(上位机)。
下位机软件总体程序流程见图15。
图15下位机软件总体程序流程
3.2键盘及显示部分程序设计
键盘部分:
设计中使用三个独立键盘,分为一个功能键和两个设置键,将单片机接口设为高电平输出,键盘引脚接低电平。
检测到输入引脚有低电平时,使用软件延时10ms防止干扰,再次检测,若仍然为低电平,则说明有键按下,执行相应程序。
显示部分:
设计采用的是LCD1602液晶显示器,其工作指令如表1。
LCD1602液晶显示器的初始化过程如下:
1.延时15ms;2.写指令38H(不检测忙标志);3.延时5ms;4.写指令38H(不检测忙标志);5.延时5ms;6.写指令38H(以后每次写指令、读/写数据操作之前均需检测忙信号);7.写指令38H:
显示模式设置;8.写指令08H:
关闭显示;9.写指令01H:
显示清屏;10.写指令06H:
显示光标移动设置;11.写指令0CH:
显示开及光标设置[18]。
表1LCD1602指令表
3.3报警和继电控制程序设计
控制中心将检测元件测得的数据与预先设定的阈值相对比,得到相应的返回值从而触发报警和电气运行,具体分为三个信号输出,当现场任一检测点温湿度超出设定阈值时蜂鸣器控制引脚均输出脉冲信号触发蜂鸣器和led告警,继电器的控制则在进行数据比对之后分别触发不同的继电器达到控制目的[19],继电器控制流程见图16。
图16继电控制流程图
继电控制部分具体代码为:
if((temp
{
P3_6=1;
}
else
{
P3_6=0;
}
if((temp { P3_2=1; } else { P3_2=0; } if((temp>sheding2)||(temp1>sheding2)||(temp2>sheding2)) { P3_3=1; } else { P3_3=0; } 3.4数据采集程序设计 温度量采集使用DS18B20温度传感器,温度数据关系如表2所示。 表2DS18b20温度数据关系图 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤: 每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功[20~22]。 DHT11湿度传感器的工作流程为: 通过单总线访问DHTxx顺序归纳如下: 1.主机发开始信号 2.主机等待接收DHT11响应信号 3.主机连续接收40Bit的数据和校验和 4.数据处理 读DHT11数据流程如图17所示 图17读DHT11数据流程图 3.5串行通信接口程序设计 本设计用到的硬件和软件清单如表3所示。 表3设计用软、硬件 序号 名称 数量 1 PC或IPC 2 2 串口通信线(三线制) 1 3 VisualBasic6.0 1 4 Access2003数据库 1 设计目的是实现下位机与上位机的实时通信包括下位机实时上传数据和上位机对下位机发送控制命令,以及完成上位机对数据库的调用和查询功能。 3.5.1下位机部分程序设计 下位机部分串行发送数据系统框图如图18所示: 图18下位机数据发送系统框图 下位机部分采用单片机作为主控中心,单片机控制信号为TTL电平高电平为+5v低电平为0v,而计算机串行通信采用RS232电平高电平为-12v低电平为+12v,要进行通信必须进行相应的电平转换本设计中采用RS232芯片进行电平转换。 单片机串行通信端口P3.0、P3.1连接到MAX232芯片进行电平转换,然后通过9Pin串行接口连接到计算机。 数据发送采用轮询方式进行,程序每运行一次发送一次数据,数据在发送时采用按位发送的方法,因为下位机需要上传的数据换算成十进制数是一个三位数,而串行通信每次发送的数据为八位不能一次发送完,同时由于有多路数据需要上传因而必须在所发送数据前添加相应的标志位以便对各发送数据进行区分,上位机接收数据后再进行组装[23]。 具体数据发送格式如图19所示,各数据位的分离方法具体为取余法和取模法。 初始化 起始位 FA 第一个数据百位 第一个数据十位 第一个数据个位 第二个数据…… 结束位FB 下一次发送 图19下位机发送数据格式 数据发送部分程序如下: voidinit_ser(void) { SCON=0x50;//串口工作模式1,8位数据 TMOD=0x20;//定时器1模式2,8位自动重装 PCON=0x80; TH1=0xFD;//波特率为19200,晶振为11.0592 IE=0x90;//允许串口中断 TR1=1;//启动定时器1 TI=1; } voidserial()interrupt4using3//中断程序,用于数据发送 { ………………//下位机数据发送处理 } 3.5.2上位机部分程序设计 上位机采用VB语言编写交互界面,同时后台运行MicrosoftOfficeAccess2003数据库对现场数据进行存储,并通过上位机对数据库的调用在界面实时显示现场温湿度数值及其相应曲线。 上位机设计的重难点在于串口从下位机接收到数据和将数据存储到数据库里并实时显示在界面上。 上位机串行通信的实现借助于VB自带的Mscomm控件等,相应控件从VB部件选项卡中进行调用。 上位机总体流程图如图20所示。 图20上位机总体设计图 从串口采集数据主要采用的控件有: Mscomm32.ocx控件,在MicrosoftVisualBasic6.0中添加该控件,需要设置com口(可修改)、波特率(9600)、数据位(8)、停止位 (1)、校验位(0)等,通过OnComm()事件驱动方式接收数据[24~25]。 由于VB的串行通信组件并不会主动出现在工具箱里中,当我们需要MSComm控件时,首先要把它加入到工具箱中。 让MSComm控件出现在工具箱中的步骤如下。 选择“工程”菜单下的“部件…”子菜单,在弹出的“部件”对话框中,在“控件”选项卡属性中选中“MicrosoftCommControl6.0”复选框,单击“确定”按钮后,在工具箱中就出现了一个形似“电话”的图标,它就是MSComm控件。 工具箱中有了MSComm控件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Web的远程温湿度监测系统的设计 基于 Web 远程 温湿度 监测 系统 设计