基于Windows CE的智能家居安防系统.docx
- 文档编号:10431589
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:40
- 大小:263.48KB
基于Windows CE的智能家居安防系统.docx
《基于Windows CE的智能家居安防系统.docx》由会员分享,可在线阅读,更多相关《基于Windows CE的智能家居安防系统.docx(40页珍藏版)》请在冰豆网上搜索。
基于WindowsCE的智能家居安防系统
基于WindowsCE的智能家居安防系统的研究
--IntelligentSecuritySystemforHouse
摘要eDog系统是一个面向家庭用户的基于eBoxII在MicrosoftWindowsCE5.0平台下开发的智能家居安防保全系统。
eDog可以通过摄像头将采集到的实时视频图像进行运动检测,当发现有运动产生时,通过拨打电话等多种方式自动向用户发出警报,同时将实时捕获的图像上传到ftp服务器。
eDog系统支持标准Web浏览和Web远程控制,并可随时检索、回放历史视频记录。
用户可以由接受到的电话做出不同的反应,控制系统发出警报。
系统提供了良好的用户界面,稳定的运行环境,便捷的远程操作,强大的扩展功能,有较高的实际应用价值。
关键词嵌入式图像采集运动检测串口通信
Abstract:
Theintelligentsecuritysystemforhouseisdesignedforthefamilyuser.TheeDogsystemisbasedontheeBoxIIplatformanddevelopedinMicrosoftWindowsCE5.0environment.Itusesawebcameratocapturevideopicture,thendoesmotiondetection.Ifthereissomemotionthesystemcanalarmautomaticallythroughmanywayssuchasgivesomeonearingorandsubmitthemotorialvideopicturestotheappointedservertobackup.FurthermorethesystemsupportsstandardWeb,WAPbrowsersousercanaccessthesystemremotelytocontrol,searchorreviewthehistoryvideorecord.Thesystemhasofferedanicerinterface,steadyrunningenvironment,convenientlong-rangeoperation,strongexpandedfunction,soithasawellusingvalue.
Keyword:
embeddedsystem、Videocollection、Motionestimation、serialcommunication
目录
摘要1
关键词1
Abstract:
2
Keyword:
2
引言:
5
第一章相关介绍5
1.1背景知识5
1.1.1嵌入式系统的介绍5
1.1.2WindowsCE的介绍5
1.1.3WindowsCE的设计目标6
1.1.4eBoxII介绍6
1.1.5EVC概述7
1.1.6PlatformBuilder7
1.2WindowsCE程序开发8
1.2.1事件驱动和消息响应机制8
1.2.2WindowsCE程序和Windows程序的不同点8
1.3eDog系统主要功能9
1.3系统特色9
第二章程序的模块设计9
2.1eDog的顶层数据流图:
9
2.2eDog的层次方框图:
10
2.3主程序流程图10
第三章在PlatformBuilder定制WindowsCE11
3.1PB简介11
3.2BSP简介12
3.3定制WindowsCE.12
3.4WindowsCE注册表简介12
3.5注册表编辑器13
第四章图像模块14
4.1视频采集14
4.1.1BMP文件格式14
4.1.2视频采集相关说明14
4.1.3CE的流接口驱动程序15
4.1.4即时图像捕捉16
4.2运动检测19
4.2.1计算帧差绝对值19
4.2.2eDog中运动检测模块的具体实现方法20
4.3图像压缩23
第五章拨打电话模块25
5.1串口通信25
5.2RS-232串行接口标准25
5.3Modem拨打电话模块26
结论:
29
致谢语:
30
参考文献:
30
引言:
随着计算机通信技术和网络技术的快速发展,无线网络技术已成为计算机网络中一个至关重要的组成部分,它的应用领域也在飞速的扩大。
因此我们设计了智能家居安防保全系统(eDog),以增强家居安全防范的能力。
eDog应用现已普及的有线网络,固定电话网络,无线电话通信系统,PC摄像头等硬件条件,充分发挥eBoxII强大的功能;我们开发图像捕捉程序,自主开发了运动图像检测算法,报警程序;创建本地Web服务器系统,以及远程通信系统;通过友好的人机交互界面,用户可在本地终端或远程登陆web服务器对系统操作,并能稳定工作。
本文首先介绍了嵌入式系统的相关知识、WindowsCE和在WindowsCE平台程序开发所必须做的准备。
另外本文主要介绍了eDog开发的整个流程,着重介绍了图像模块和Modem报警模块,其余模块由小组其他成员完成。
系统采用EmbeddedVisualC++(简称EVC)嵌入式编程语言在MicrosoftWindowsCE5.0环境下编写。
主要介绍了开发过程中用到的算法和相关的类,并做了详细介绍。
第一章相关介绍
1.1背景知识
1.1.1嵌入式系统的介绍
嵌入式系统是以应用为中心,以半导体技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
相关支撑硬件主要包括显示设备、存储设备和各种接口等,随着功能的增强以及复杂性的不断增加,操作系统成为了嵌入式系统不可缺少的一个基本部件。
应用程序
嵌入式操作系统
以嵌入式微处理器为核心的硬件平台
图1.1嵌入式系统的结构图
1.1.2WindowsCE的介绍
WindowsCE作为windows家族的最新最小的操作系统,是一个抢先式多任务并具有强大通信能力的Windows32嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而设计的战略性操作系统产品。
它是多线程、完整优先权和多任务的操作系统,其基本内核需要至少200K的ROM。
它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。
工业控制是嵌入式操作系统的传统应用领域,但近年来随着家电信息化成为愈来愈明显的趋势对嵌入式操作系统提出了许多新的要求,例如熟悉和友好的用户界面,统一的编程界面,强大的通信功能等,而恰好是WindowsCE的优势。
1.1.3WindowsCE的设计目标
WindowsCE的设计目标是模块化及可伸缩性,实时性能好,通信能力强大,支持多种CPU。
从操作系统内核的角度看,WindowCE具有灵活的电源。
管理功能,包括睡眠/唤醒模式,在WindowsCE中还使用了对象存储(ObjectStore)技术包括文件系统注册表及数据库。
它还具有很多高性能高效率的操作系统特性,包括按需换页,共享存储,交叉处理,同步支持大容量堆(Heap)等。
WindowsCE拥有良好的通信能力。
它广泛支持各种通信硬件,亦支持直接的局域网连接以及拨号连接,并提供与PC内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的连接,在提供各种基本的通信基础结构的同时,WindowsCE还提供与Windows9x/NT的最佳集成和通信。
WindowsCE的图形用户界面相当出色,它拥有基于MicrosoftInternetExplorer的Internet浏览器,此外还支持TrueType字体。
开发人员可以利用丰富灵活的控件库在WindowsCE环境下为嵌入式应用建立各种专门的图形用户界面,WindowsCE甚至还能支持诸如手写体和声音识别、动态影像、3D图形等特殊应用。
1.1.4eBoxII介绍
eBoxII是微软专门为WindowsCE.NET平台下程序开发定制的硬件平台。
其中微软已经预装了新发布的WindowsCE5.0的镜像,并对其进行了内核定制。
eDog的开发前必须重新定制CE内核。
下面介绍一下其硬件组成。
CPU
Vortex86-200Mhz(SoC:
System-on-Chip)
RAM
128MB
BIOS
AMIBIOS
FlashMemory
External64MBBootableUSBFlashDisk
64MBDiskOnModule(IDEDevice)
Audio
AC97CODEC,fullcompliantwithAC97V2.1
MIC-in,Line-inandLine-outinterfaceready
WatchDogTimer
SoftwareWatchdogTimer
Three8254CompatibleProgrammable16-bitCounters
LAN
Realtek8100BSinglechipx2
Full-duplextransfermode,doubleseffectivebandwidth
Throughput:
10/100Mbps
Display
AGPRev2.0Compliant,sharedsystemmemoryareaupto128MB
CRT/LCDdisplay
Resolutionupto1920x1440truecolors
KVMSwitch
2portsKVMSwitchwithtwosetsofmonitor,PS/2keyboardandmousecables
PowerAdapter
18WattPoweradapterforany+110Vpowerinput
图1.2eBoxII示意图
1.1.5EVC概述
EmbeddedVisualC++(EVC)4.0是Microsoft公司推出的WindowsCE程序的可视化开发工具,是EmbeddedVisualTools的重要组成部分。
利用EVC4.0用户可以开发出规模较大,功能较复杂的WindowsCE应用程序和流式驱动程序。
WindowsCE下的EVC编程都是对特定目标硬件的编程,允许CE的机器通常比PC的资源贫乏得多,所以编程时首先要明确目标硬件的特点和要求。
1.1.6PlatformBuilder
大部分嵌入式系统是可移植、可裁减、可定制的。
且大多数嵌入式产品都是针对特殊的目标板进行的开发。
它们大多数都需要完成特定的功能,这就说明了嵌入式操作系统是与应用环境密切相关的。
PlatformBuilder是微软提供给WindowsCE开发人员进行基于WindowsCE.net平台下嵌入式操作系统内核定制的集成开发环境。
它提供了所有进行设计,创建,编译,测试和调试WindowsCE.net操作系统平台的工具。
运行在桌面Windows下,开发人员可以通过交互式的环境来设计和定制内核,选择系统特性,然后进行编译和调试。
同时,开发人员还可以利用PB进行驱动程序开发和应用程序项目的开发等。
1.2WindowsCE程序开发
1.2.1事件驱动和消息响应机制
Windows程序设计是一种事件驱动的程序设计模式。
在程序提供给用户的界面中有许多可操作的可视对象。
用户从所有可能的操作中任意选择,被选择的操作会产生某种特点的事件,这些事件发生后的结构是向程序中的某些对象发出消息,然后这些对象调用相应的消息处理函数来完成特定的操作。
Windows的应用程序最大的特点就是程序没有固定的流程,而只是对某些处理有特定的子流程,Windows应用程序可以说是由许多这样的子流程构成的。
另外,Windows程序本质上是面向对象的。
Windows的这种事件驱动模型的实质源于Windows的消息响应机制。
所谓的事件响应,就是对各种消息的响应。
图1.3Windows程序工作原理
1.2.2WindowsCE程序和Windows程序的不同点
⏹MicrosoftWin32API和WindowsCEAPI之间的不同。
⏹MicrosoftMFC标准和MFCforWindowsCE标准不同
⏹存储器的限制和存储器溢出的恢复
⏹电源管理的不同处理方式
⏹存在大量不同硬件特性和限制
⏹测试和调试的过程不同
⏹WindowsCE使用Unicode
1.3eDog系统主要功能
⏹GUI显示:
可以在eBoxII上浏览实时视频。
⏹本地设置运行参数:
可以设置系统各运行参数。
包括系统的启动和结束;抓图的图片压缩比、色度、亮度、对比度、灰度等参数;动态检测的灵敏度参数;拨号的电话号码;E-mail的服务器地址、收件人地址、主题等参数;Ftp的地址、端口、用户名及密码等参数;Web服务器的用户名和密码参数。
⏹报警功能:
当检测范围内有异常时,启动报警功能。
包括:
拨打固定电话或移动电话通知用户,发送带附件的E-mail通知用户等。
⏹数据备份:
当检测到异常时,系统将运动的图片上传到Ftp服务器备份。
⏹远程Web控制:
通过登陆Web服务器,同本地设置一样可以设置系统的各运行参数,实现了远程控制功能。
⏹远程实时视频浏览:
登陆Web服务器后,可通过视频窗口浏览实时视频。
⏹历史记录查询:
登陆Web服务器后,通过读取保存在Ftp服务器上运动图片,在Web界面的视频窗口显示,实现历史记录的查询。
1.3系统特色
⏹本系统可不断地检测周围环境有无运动发生
⏹嵌入式Web服务器
⏹远程控制功能
⏹图形化的界面,友好的人机交互
⏹强大的扩展性能
第二章程序的模块设计
●程序设计流程:
模块设计,流程图,GUI界面,图像采集,运动检测,图像压缩,进程线程间通信,WebService,Ftp,E-mail,拨打电话.
●本人承担模块:
图像采集,运动检测,图像压缩,拨打电话报警。
2.1eDog的顶层数据流图:
图2.1eDog的顶层数据流图
2.2eDog的层次方框图:
图2.2eDog的层次方框图
2.3主程序流程图
图2.3主程序流程图
第三章在PlatformBuilder定制WindowsCE
3.1PB简介
PB是微软提供给WindowsCE开发人员进行基于WindowsCE.net平台下嵌入式操作系统定制的集成开发环境。
具体说来PB提供了几个主要开发特性:
⏹PlatformWizard和BSPWizard。
用来引导开发人员去创建一个简单的系统平台或BSP。
⏹基础配置。
为各种流行的设备类别预置的可操作系统基础平台,为自定义操作系统的创建提供了一个起点
⏹特性目录。
操作系统的可选特性均在特性目录中,开发人员可以选择相应的特性来定制操作系统。
⏹自动化的依靠性检查。
特性之间的依赖关系是系统自动维护的。
⏹系统为驱动程序开发提供了基本的测试工具集WindowsCE.netTestKit。
⏹内核调试器。
可以对自定义的操作系统映象进行调试,并且向用户提供有关映象性能的信息。
⏹导出想到(ExportWizard)。
可以向其他PB用户导出自定义的目录特性。
⏹导出SDK向导(ExportSDKWizard)。
⏹远程工具。
可执行同基于WindowsCE.net的目标设备有关的各种调试任务和信息收集任务。
⏹仿真器。
通过硬件仿真加速和简化了系统的开发,使用户可以在开发工作站上对平台和应用程序进行调试。
⏹应用程序调试器。
可以在自定义的操作系统映象上对应用程序进行调试。
⏹提供了对NETFrameWorkCompactEdition的支持。
3.2BSP简介
BSP又称主板支持软件包,它是一个包括启动程序、OEM适配层成年工序(OAL)、标准开发板(SDB)和相关硬件设备的驱动程序的软件包。
BSP是基于WindowsCE.net平台系统的主要部分,它主要由一些源文件和二进制文件组成。
图3.1关系示意图
3.3定制WindowsCE.
1.新建PB工程,并启动工程向导
2.按需求依次选择BSP、基本配置结构、定制设备的方法、基本类库、应用程序、操作系统核心服务、通信服务、文件系统、字体、国家等等…
3.向导提示信息,完成工程向导
3.4WindowsCE注册表简介
在WindowsCE.net中,注册表扮演着很重要的角色,它是一个系统数据库,存储着应用程序、驱动程序和操作系统的配置信息,通常还存储着操作系统调用程序的状态信息。
注册表的结构与磁盘的逻辑结构相似。
WindowsCE.net的注册表是一个包括关键字子树的集合,它和文件目录树一样有层次结构。
它的注册表包括4个根键HKEY_LOCAL_MACHINE、HKEY_CURRENT_USER、HKEY_CLASSES_ROOT和HKEY_USERS。
表3.1WindowsCE.net注册表根键
根键名
键值内容
HKEY_LOCAL_MACHINE
硬件及驱动程序配置数据
HKEY_CURRENT_USER
用户配置数据
HKEY_CLASSES_ROOT
OLE和文件类型匹配配置数据
HKEY_USERS
适用于所有用户的存储数据
从WindowsCE2.0开始,注册表就可以存储在永久性的存储设备中,并能够进行读取。
在WindowsCE.net中,注册表可以在任何一个文件系统中以一个文件的形式存在。
CE能以基于RAM中堆文件的方式来实现注册表。
如果RAM掉电,且OLM供应商未进行注册表备份,注册表数据将丢失。
3.5注册表编辑器
为了系统安全性,WindowsCE.net并未为最终用户增加注册表编辑的功能,所有在WindowsCE.net下不能像在9x/2000下那样用Regedit.exe来编辑注册表。
这样虽然能够保证用户不致因为错误使用注册表信息而出现问题,但是为了一个注册表参数的修改就可能要重新编译整个操作系统内核,这样会在时间上造成浪费并降低工作效率。
1.根键的定义见表3.1
2.对注册表的限制,见表3.2
限制内容
具体说明
键或值的名字
255个字苻
数据大小
4KB
键嵌套层次
最多16层
3.WindowsCE.net下对注册表操作的API函数
●RegCreateKeyEx;
●RegOpenKeyEx;
●RegQueryValueEx;
●RegSetValueEx;
●RegCloseKey;
第四章图像模块
图像采集模块包括图像采集,运动检测,图像压缩三个模块。
它是eDog系统的基础,也是eDog的核心。
图像采集模块可以获取被监控现场的实时图像,并存成BMP格式;运动检测模块对图像中运动物体检测,当有运动物体进入监视现场时,自动保存图片并发出警报;图像压缩模块可以在eDog系统要对图片进行备份时对其进行格式转换(.JPG)。
4.1视频采集
在现有的摄像头及其驱动的基础上,我们在EVC上针对我们定制的WindowsCE系统,开发了eDog的图形采集模块。
该模块能够从监控区域采集图像并在运动检测模块的判断下决定是否DELETE刚SAVE的BMP文件。
4.1.1BMP文件格式
BMP是计算机系统中最常见的图像格式,他用RGB三个通道的深度来表示一个象素点的颜色值。
计算机中一个典型的BMP文件包含4个主要部分:
BMP文件头、BMP信息头、调色板和位图数据。
另外WindowsCE中BMP是24位的,也就是说,RGB三个通道分别用一个字节表示。
存储图像的具体操作,下面章节介绍。
4.1.2视频采集相关说明
首先必须向注册表中写入摄像头的驱动信息。
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\QCPCamera]
“Prefix”=“QCP”
“Dll”=“QCP4000.dll”
“Order”=dword:
1
●prefx:
设备文件名
●Dll:
驱动的文件名
●Order:
设备文件名索引
✧检测设定视频源
1、自动检测摄像头是否连接好,如果没有则应弹出一个提示对话框,提示没有视频源。
2、对捕获设备的搜索,并默认为LogitechQuickCamPro4000摄像头。
✧捕获设置:
设定相关的参数:
敏感度(Sensibility):
按0~100%调整
质量(Quality):
按0~100%调整
亮度(Brightness):
按0~100%调整
对比度(Contrast):
按0~100%调整
色调(Hue):
按0~100%调整
颜色(Color):
按0~100%调整
频率:
按8fps帧率设置捕获视频。
✧捕获格式:
对视频的格式及图片的格式进行设置:
分辨率:
320×240,格式为BMP。
✧回放与备份:
1、回放对已存在存储器上的图片进行播放。
2、备份对捕获的图片进行压缩(.JPG)存储与备份
Ø指定存储的Server位置
Ø对存储充满时采用的方法:
将最早存入的删除并以最新的资料存入。
4.1.3CE的流接口驱动程序
流接口驱动程序是以动态链接库形式存在的,由设备管理器统一加载,管理和卸载。
与具有单独目的的内部设备驱动程序相比,所有的流接口驱动程序都是用同一组接口并调用同一个函数集的,我们将这个函数集称作流接口函数。
流接口驱动程序是为了连接到基于WindowsCE的平台的外围设备(包括我们的摄像头)设计的。
流接口驱动程序的注意认为就是把外设的使用传递给应用程序,着是通过把设备表示为文件系统的一个特殊文件实现的。
4.1.4即时图像捕捉
此模块用于图像捕捉,一秒8帧。
当发现没有运动发生的时候删除图片(图片名按时间命名。
eg.2005052022171401.bmp表示2005年5月20日22点17分14秒的第一帧)。
判断是否有运动产生的算法是:
定义一个newest变量存放已保存的最新的图片名。
调用运动检测类若发现现在捕捉到的图片和newest的图片不同,则发生了运动,保存者张图片并将newest变为现在图片的文件名。
图4.1图像采集模块流程图
●相关说明
BOOLM_Estimation()是运动检测模块所提供的接口,若发生运动返回TRUE,否则返回FALSE。
Pic1存之前最新的图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Windows CE的智能家居安防系统 基于 Windows CE 智能家居 系统