智能远程仓库监控系统温控模块的设计与实现毕业设计论文.docx
《智能远程仓库监控系统温控模块的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《智能远程仓库监控系统温控模块的设计与实现毕业设计论文.docx(27页珍藏版)》请在冰豆网上搜索。
智能远程仓库监控系统温控模块的设计与实现毕业设计论文
目录
内容提要I
内容提要3
1.引言1
1.1课题背景及意义1
1.2课题现状1
2.系统分析2
2.1需求分析2
2.1.1网络环境要求2
2.1.2系统需求分析2
2.2可行性分析3
3系统设计6
3.1系统目标6
3.2系统总体设计6
3.3温控模块设计7
4.功能测试与分析18
5.结语19
致谢20
参考文献21
Intelligentremotewarehousemonitoringsystem—DesignandImplementationofthetemperaturecontrolmodule22
智能远程仓库监控系统
——温控模块的设计与实现
学生姓名:
张涛
指导教师:
刘琦
内容提要该系统可以进行方便的扩展,结合用户自身需求进行定制,使得用户通过手机获得仓库异常报警,整个系统采用B/S架构,可以通过网络对仓库情况进行实时监控,通过远程的操作来降低异常带来的损失。
在系统中Web服务器通过Internet提供远程访问服务,并通过GSM短信息通知用户异常,用户通过网络对异常进行相应的远程指令操作。
使用mini2440开发板和GPRS模块和USB摄像头,完成对现场的监控功能,硬件资源来源于mini2440开发板自带的资源,比如温度传感器,报警器,红外传感器等。
如果温度传感器特测温度高于一定的温度或者红外传感器特测有不法分子闯入,那么会调用相应的报警功能,灭火功能被开启,并通过GPRS模块及时通知用户现场情况,用户根据具体情况采取不同的措施给系统,通过浏览器上的按钮完成一个远程监控和操作的主要功能。
关键词B/S架构实时监控远程指令操作浏览器
1.引言
1.1课题背景及意义
安防监控系统是一门被人们日益重视的新兴专业,就目前发展看,应用普及越来越广,科技含量越来越高。
几乎所有高新科技都可促进其发展,尤其是信息时代的来临,更为该专业发展提供契机。
但就监控业界而言,系统组成一直没得到明确的划分,这使工程商和用户之间谈到安防监控系统时沟通很不方便。
仓库管理系统是物流当中的一个重要环节,也在企业的整个管理流程中起着非常重要的作用。
仓库紧靠居民区,人流量较大,管理不便,经常仓库贵重物品丢失,为加强对此仓库管理,确保仓储物品安全是仓库管理的重要问题,仓储管理的安全性、和可控性也面临着越来越大的挑战。
如何降低存货投资,对仓储进行实时监控以及危险情况下的及时报警,成为了各个仓储部门共同关心的问题。
此仓库安防系统可以进行方便的扩展,结合用户自身需求进行定制,使得用户通过手机获得仓库异常报警,并通过网络对仓库情况进行实时监控,通过远程的操作来降低异常带来的损失。
主要的应用场所:
个人仓库、商铺、工厂仓库、中心企业仓库、金店仓库、食品加工店等。
当今市场上普遍采用基于PC机的视频监控,但这样的系统价格昂贵,操作比较繁琐;而
嵌入式系统有操作简单、体积小、成本低、功耗小和实时性高等特点,是未来市场发展的主流。
1.2课题现状
就目前发展来看,基于B/S架构的安防监控系统应用普及越来越广,科技含量越来越高,尤其是信息时代的来临,更为此发展提供了契机。
智能安防监控系统采用了当今世界最先进的全数字化的计算机压缩技术,具有传统的“模拟”方式的监控系统无法比拟的许多优点。
可以完全自动地对监控对象进行永不间断的全程监控,并可以非常方便地查询任一时间,任一地点的现场图像,为彻底解决安全问题提供了有力的措施,采用高性能的计算机,取代了传统的“模拟”方式的监控系统所需的大量监视器、录像机、图像分割器、解码器、视频切换器及矩阵系统等设备。
这不仅降低了系统的造价,使得系统简单化,易于操作维护,而且还大大提高了安防监控系统的可靠性,由于采用了先进的数字处理技术,使得图像质量更高,更易于保存。
智能安防监控系统综合了图像、通讯、数据、计算机实时系统集成等高科技技术,实现了安全管理的数字化、网络化、智能化。
安防监控报警主要应用场合有:
楼宇安防、小区安防、工厂安防、体育场馆、学校安防等场所。
性能稳定可靠,无需专人管理。
嵌入式web服务器实际上是基于嵌入式微处理器技术,采用嵌入式实时多任务操作系统,对于用户来讲,上网进行登陆,便可对仓库情况进行监控。
现在监控系统发展到第三代,前端一体化、视频十字化、监控网络化、系统集成化成为视频监控系统公认的发展方向,它以网络为依托,以数字视频的压缩、传输、存放和播放为核心,以智能实用的图像分析为特点,并为报警系统、门禁系统完美的整合到一个使用平台上,引发了视频控制行业的一次技术革命。
2.系统分析
2.1需求分析
需求分析的基本任务是准确的阐述系统运行所需要的必要功能。
这一阶段是对系统认识最为全面、准确、清晰、得体的一个比较关键的时期。
而且需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。
因此,必须用行之有效的方法对软件需求进行严格的审查验证,为下一步的总体设计打好基础。
2.1.1网络环境要求
整个系统是作为服务器通过网络来支持用户远程登陆监控的,在网络方面,系统可以外扩网络芯片来支持有线网络,另外可以外扩GPRS模块来支持GPRS上网。
现如今大部分都是采用的ADSL+路由的方式上网,在有线网络方面,我们正是利用了这种网络结构。
首先ADSL拨号上网能够提供给用户一个公网IP,这是整个系统实现的关键,因为我们的设备要作为一个网络上的服务器端,必定要有一个公网IP来提供访问,当然这需要其他技术的支持。
有了公网IP,我们可以利用动态域名解析技术来将我们每次登录后的动态IP地址映射成一个固定的网络域名,这样我们在就可以使用域名随意访问系统。
目前的动态域名解析有两种实现,一种解析出来的是节点的内网IP,另一种是解析节点的外网IP,在我们的应用中是需要解析外网IP,在整个万维网上应用系统。
在用户设备端,可以和用户电脑同时接入路由,同时需要设置路由,将路由的80端口映射到设备端的内网IP,这样就可以结合动态域名解析和路由的映射功能在网上提供web服务。
2.1.2系统需求分析
随着安防行业的高速发展,国内外对安防监控系统的研究越来越热门,昆明理工大学信息工程与自动化学院的张俊才提出的基于嵌入式Web服务器的信息家电安防监控系统,实现了嵌入式系统与Internet相连、家庭内部的安全监控、信息传输,这给了我们很大的启示。
随着人们生活水平的提高,对家居生活智能化要求越来越高,特别是对贵重财产的安全提出了迫切要求。
为了降低仓库等亟需安全措施的地方发生异常情况,就要求在异常发生时用户能及时得到信息,并通过实时监控采取一定的操作排除异常。
因此,远程监控系统的作用是非常巨大的。
当今市场上普遍采用基于PC机的视频监控,但这样的系统价格昂贵。
操作比较繁琐。
而嵌入式系统有操作简单、体积小、成本低、功耗小和实时性高等特点.其市场前景相当广阔,是未来市场发展的主流。
以嵌入式视频web服务器为核心的视频监控系统,采用嵌入式实时多任务操作系统。
摄像头采集到的图片信息经过压缩,通过内部总线送到内置的web服务器,网络上的用户可以直接用浏览器观看web服务器上的由摄像头采集的图像。
由于把图片采集和web功能集中到一个体积很小的设备内,可以直接连入局域网,用户无需安装任何硬件设备,仅用浏览器即可观看。
2.2可行性分析
可行性分析的目的是为了用最小代价在最短时间内确定问题是否能够解决。
可行性分析的实质就是要进行一次压缩简化系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
主控系统首先接入INTERNET,如果有火灾或者有非法入侵,摄像头采集图片并保存在SD卡里面,如果是火灾发生,温度传感器捕捉信号,那么自动开启灭火系统,开启警报,并通过GPRS模块发送短消息给用户。
用户通过GPRS来上网查看当前室内的情况,根据情况做相应的功能的设置,如果有人非法入侵,红外传感器捕捉信号,那么开启警报,通过GPRS发送短消息给用户。
根据情况做相应的功能设置。
1)技术可行性:
在本系统中所使用的监控设备包括摄像头、红外传感器、温度传感器以及各种报警装置。
这些设备在技术上都是可行的,摄像头我们可以采用普通是USB摄像头,因为用在仓库环境中,不需要有摄像和转换拍摄角度等的需求,所要的设备只需要有拍照的功能,这样只要我们的嵌入式系统能够提供相应摄像头的驱动程序就可以了。
在这里我们采用的是中芯微公司生产的zc301芯片的摄像头。
关于红外监控和温度监控方面,可以购买相应得模块,温度传感器采用0-100摄氏度,输出电压在0-5V,精度在0.2%的传感器模块。
红外监控使用输出开关两的红外监控模块,现有市场很成熟。
需要考虑的是开关电源的选择要符合模块要求。
系统通过远程web页控制的方式对监控设备进行操作,这种方式需要我们在系统中移植一款嵌入式web服务器,现在嵌入式领域主要有三个WebServer:
HTTPD、THTTPD和BOA。
HTTPD是最简单的一个WebServer,它的功能最弱,不支持认证,不支持CGI。
THTTPD和BOA都支持认证、CGI等,功能都比较全。
BOA是一个单任务的小型HTTP服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。
2)经济可行性:
系统成本如表2.1:
序号
功能
价格(元)
系统管理端
1
FS2410开发板
1000
2
GPRS模块
500
3
红外传感器
40
4
温度传感热电偶
100
小计
1640
用户系统
1
手机
1000
2
GPRS上网功能
100
小计
1100
软件费用合计①
500
实施费用②
300
技术支持费用③
200
总计①+②+③
1000
2.3系统环境要求
1)用户接口
界面风格一致(采用框架结构,树形菜单)直观性好,友好,富有人性化。
2)硬件接口
支持设备的种类:
ARM系列,powerpc,mips,并支持嵌入式linux操作系统。
·硬件配置:
主机系统:
支持下面主流处理器:
S3C2440(三星,arm920t),AT91RM9200(ATMEL,arm920t)等。
存储设备:
NORFLASH,NANDFLASH,SD卡,U盘,IDE接口的移动硬盘。
终端设备:
常见各类PC和兼容机,并安装IE浏览器。
通信设备:
GPRS,路由,etc。
3)软件接口
软件的种类:
·驱动程序:
基于linux-2.6.8.1内核版本的驱动程序.
·数据库类型:
Mysql,Oracle,etc.
·Webserver类型:
WebServer,boa,etc.
·Cgi程序:
Cgi,Cgic,PerlCgi,ShellCgietc.
与软件的接口功能:
·系统具备较好的可扩充性,可以和各类软件实现无缝接口,平滑过渡。
与应用软件的接口方式:
·通过模块化设计。
·软件配置:
主流操作系统:
LINUX,WINCEetc.
开发平台:
LINUX.
通信协议:
GPRS.
应用软件:
CGI,上层系统主控程序。
4)通信接口
初步计划系统使用Web服务器通过PPP(PointtoPointProtocol)拨号方式接入Internet提供远程访问服务。
另外系统集成有网卡芯片,可以在局域网中对系统进行相应得设置以及监控。
这种实现方式比较简单,而且可行性比较高,因为一般家庭中上网都使用ADSL和路由的方式进行上网,这样的话我们就可以利用这两个设备的特点设置自己的web服务器系统运行环境。
3系统设计
3.1系统目标
设计出一个安全、实用、稳定的远程嵌入式监控设备,要实现的主要功能有:
(1)对设备现场数据的实时采集,例如温度、红外探测数据等;
(2)用摄像头采集图片,使用存储设备进行存储
(3)构建嵌入式web服务器,使用户通过网络利用pc机进行监控
(4)在web页面上设置控制按钮,监控设备识别用户指令并进行相应动作
(5)监控设备通过GSM短信息功能向用户报警,并通过PPP(PointtoPointProtocol)拨号方式接入Internet提供远程访问服务。
3.2系统总体设计
系统以ARM9处理器FS2440为MCU(微控制单元),作为控制器,负责从红外传感器,温度传感器,摄像头采集数据,并且控制报警措施和灭火措施的执行,通过GPRS模块向用户发送短信,同时监控系统可以通过Internet和网页进行交互,用户可以通过登录网页对设备进行控制,同时监控系统可以将采集到的数据通过Web服务器传输给网页端。
本系统的总体设计框架如图3.1所示。
GPRS
警报措施
灭火措施
温度传感器
红外传感器
图3.1系统总体设计框架
3.3温控模块设计
温度值由主控板从温度传感器中得到,得到的温度值通过A/D转换器转换后传送给主控板。
A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转化为数字信号,以便计算机和数字系统使用。
FS2410开发板用的A/D转换器是ARMS3C241O自带的一个一路1O位的A/D转换器。
并且支持触摸屏功能。
最大转化率是500kHz,A/D转换器频率的计算公式为:
系统时钟/(比例值+1)。
本电路的特点是通过改变滑动变阻器的阻值来改变模拟电压量来模拟温度的变化。
软件是通过read和write来进行对A/D的读和写的操作。
温度采集模拟电路如图3.2所示
图3.2温度采集模拟电路
3.3.1温度感应器热电偶的选型
在此模块中我们用到的是热电偶来检测温度的实时变化,在实际应用中可以通过温度变送器将采集的值转化为实际的电压值,通过AD转换并经过换算得到实际的温度值。
1)温度传感器热电偶测温基本原理
将两种不同材料的导体或半导体A和B焊接起来,构成一个闭合回路,当导体A和B的两个执着点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一个大小的电流,这种现象称为热电效应。
温度传感器热电偶就是利用这一效应来工作的。
2)热电偶的应用原理:
热电偶是工业上最常用的温度检测元件之一。
其优点是:
①测量精度高。
因热电偶直接与被测对象接触,不受中间介质的影响。
②测量范围广。
常用的热电偶从-50~+1600℃均可边续测量,某些特殊热电偶最低可测到-269℃(如金铁镍铬),最高可达+2800℃(如钨-铼)。
③构造简单,使用方便。
热电偶通常是由两种不同的金属丝组成,而且不受大小和开头的限制,外有保护套管,用起来非常方便。
3)选择时的注意事项:
A、测量精度和温度测量范围的选择
使用温度在1300~1800℃,要求精度又比较高时,一般选用B型热电偶;要求精度不高,气氛又允许可用钨铼热电偶,高于1800℃一般选用钨铼热电偶;使用温度在1000~1300℃要求精度又比较高可用S型热电偶和N型热电偶;在1000℃以下一般用K型热电偶和N型热电偶,低于400℃一般用E型热电偶;250℃下以及负温测量一般用T型电偶,在低温时T型热电偶稳定而且精度高。
B、耐久性及热响应性的选择
线径大的热电偶耐久性好,但响应较慢一些,对于热容量大的热电偶,响应就慢,测量梯度大的温度时,在温度控制的情况下,控温就差。
要求响应时间快又要求有一定的耐久性,选择铠装偶比较合适。
C、测量对象的性质和状态对热电偶的选择
运动物体、振动物体、高压容器的测温要求机械强度高,有化学污染的气氛要求有保护管,有电气干扰的情况下要求绝缘比较高。
在大多数情况下,对温度传感器的选用,需考虑以下几个方面的问题:
(1)被测对象的温度是否需记录、报警和自动控制,是否需要远距离测量和传送。
(2)测温范围的大小和精度要求。
(3)测温元件大小是否适当。
(4)在被测对象温度随时间变化的场合,测温元件的滞后能否适应测温要求。
(5)被测对象的环境条件对测温元件是否有损害。
(6)价格如保,使用是否方便。
3.3.2程序流程图的设计与制作
1)整体系统处理流程
控制信号
,如图3.3
图3.3系统处理流程图
2)温控模块程序流程,如图3.4
图3.4主程序流程图
图3.5串行通信中断流程图
3.3.3温控设备驱动设计
1)程序描述,如表3.1
温控设备驱动
输入数据:
一个模拟电压信号量
输出数据:
得到一个数字信号量
硬件描述:
AD转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转化为数字信号,以便计算机和数字系统使用。
FS2410开发板用的AD转换器是ARMS3C2410自带的一个一路10位的AD转换器。
并且支持触摸屏功能。
最大转化率是500K,AD转换器频率的计算公式为:
系统时钟/(比例值+1)。
本电路的特点是通过改变滑动变阻器的阻值来改变模拟电压量。
软件是通过read,write来进行对AD的读和写的操作。
:
图3.6原理图
涉及的datasheet:
(s3c2440芯片手册)
2)程序流程,如表3.2
N
Y
(备注:
首先把关于触摸屏支持的选项从内核去除,否则触摸屏始终占用这个AD的中断号)
3)驱动详细代码设计:
A、驱动程序关键结构体:
typedefstruct
{
structsemaphorelock;//声明一个信号量wait_queue_head_twait;//声明一个等待队列头
intchannel;//选择哪一路AD转换器
intprescale;//预分频值
}ADC_DEV;
staticADC_DEVadcdev;
B、驱动程序关键函数:
设置AD为正常模式进行转换:
writel(0,S3C2410_ADCTSC);
注册AD转换中断例程函数:
wake_up(&adcdev.wait);//唤醒等待队列
returnIRQ_HANDLED;
写数据到AD:
copy_from_user(&data,buffer,count);//从用户空间拷贝数据到内核空间adcdev.channel=ADC_WRITE_GETCH(data);//得到哪一路AD转换器
adcdev.prescale=ADC_WRITE_GETPRE(data);//得到预分频值
读取转化的数据:
if(down_interruptible(&adcdev.lock))//获得信号量
return-ERESTARTSYS;
writel(readl(S3C2410_ADCCON)&(~1),S3C2410_ADCCON);//对AD控制寄存器进行操作
writel((1<<14)|(255<<6)|(1<<0)|(1<<0)|ADC_INPUT(adcdev.channel),S3C2410_ADCCON);//启动AD转换
interruptible_sleep_on(&adcdev.wait);//睡眠等待队列
ret=readl(S3C2410_ADCDAT0);ret&=0x3ff;//读数据
copy_to_user(buffer,(char*)&ret,sizeof(ret));//拷贝内核数据到用户空间
up(&adcdev.lock);//释放信号量
C、上层测试程序:
打开设备:
if((adc_fd=open(ADC_DEV,O_RDWR))<0)
{
printf("Erroropening%dadcdevice\n",adc_fd);
return-1;
}
读写操作:
staticintGetADresult(intchannel)
{
intPRESCALE=0XFF;
intdata=ADC_WRITE(channel,PRESCALE);
write(adc_fd,&data,sizeof(data));//对设备进行读操作
read(adc_fd,&data,sizeof(data));//对设备进行写操作
returndata;
}
3.3.4温控设备应用程序设计
1)程序描述,如表3.3
温控应用程序
输入数据:
模拟信号量
输出数据:
数字信号量
处理说明:
整个子系统包括以下几部分功能:
1.温控驱动模块的注册
首先将编写好的温控驱动源程序(s3c2440-adc.c)交叉编译成相应的模块(s3c2440-adc.ko),然后在系统启动的脚本里添加insmod命令将驱动模块插入到内核之中。
2.创建温控设备节点
当驱动模块插入内核以后,会得到一个主设备号并根据测试程序设定的设备节点名,用mknod创建一个节点。
3.测试温控
运行测试程序,测试温控模块是否工作正常。
2)程序流程,如表3.4
N
给出错误信息
给出成功读取的数值
从设备读取数据read()
Y
向设备写数据write(),数据是选择哪路通道和预分频值
3)应用程序详细代码设计
intmain()
{
charbuffer[30];
intlen;
intvalue;
inti,n;
printf("Contenttype:
text/html\n\n");
if(getenv("CONTENT-LENGTH"))
{
n=atoi(getenv("CONTENT-LENGTH"));
for(i=0;i{
putchar(getchar());
putchar('\n');
fflush(stdout);
}
}
fprintf(stderr,"pressCtrl-Ctostop\n");
intfd=open("/dev/adc",0);
if(fd<0)
{
perror("openADCdevice:
");
return1;
}
while
(1)
{
len=read(fd,buffer,sizeofbuffer-1);
if(len>0)
{
buffer[len]='\0';
sscanf(buffer,"%d",&value);//格式化输入
printf("Theadc_valueis:
%d\n",value);
if(atoi(buffer)>=80)
{
printf("Thetemperatureistoohigh!
!
!
");
close(fd);
return0;
}
}
else
{
perror("readADCdevice:
");
return1;
}
usleep(500*1000);
}
close(