智能家居系统毕业论文.docx
《智能家居系统毕业论文.docx》由会员分享,可在线阅读,更多相关《智能家居系统毕业论文.docx(25页珍藏版)》请在冰豆网上搜索。
智能家居系统毕业论文
摘要
随着计算机技术,通信技术和嵌入式系统的发展,智能家居正逐步走进人们的生活。
一个典型的现代智能家居系统提供安防、家电控制、远程抄表和信息服务等功能。
本文设计并实现了其中的智能家电控制系统。
讨论了基于WindowsCE5.0嵌入式操作系统,以使用PXA270为控制核心的XSBase270嵌入式平台为硬件基础,以VisualStudio2005和PlatformBuilder为软件开发平台的智能家居系统的设计与实现。
通过详细的系统设计过程,开发了相应的软件程序,包括嵌入式操作系统WindowsCE5.0的定制、应用程序的界面设计、程序开发和单片机系统的底层编程,本设计融合了嵌入式系统、通讯、单片机、软件开发等学科的知识。
系统测试结果表明,该系统设计基本满足要求,并有一定的功能扩展空间。
关键词:
智能家居;嵌入式系统;WindowsCE
Abstract
Withcomputertechnology,communicationtechnologyandembeddedsystemdevelopment,intelligenthomeisgettingintopeople'slives.Atypicalmodernsmarthomesecuritysystems,homeappliancecontrol,remotemeterreadingandinformationservicesfunctions.Thisarticleisdesignedandimplementedoneoftheintelligenthomeappliancecontrolsystem.DiscussedbasedonWindowsCE5.0embeddedoperatingsystemtousethePXA270coreXSBase270tocontroltheembeddedplatformforhardware-based,VisualStudio2005andPlatformBuildersoftwaredevelopmentplatformforintelligenthomesystemdesignandimplementation.Throughthedetailedsystemdesignprocess,developthecorrespondingsoftwareprograms,includingWindowsCE5.0embeddedoperatingsystem,custom,applicationinterfacedesign,programdevelopment,andSCMsystemslevelprogramming,thedesignofintegratedembeddedsystems,communications,SCM,softwaredevelopmentandotherdisciplinesofknowledge.Systemtestresultsshowthatthesystemdesigncanbasicallymeettherequirementsandhaveacertainfunctionofroomforexpansion.
Keywords:
SmartHome;Embedded;WindowsCE
第一章绪论
1.1智能家居与其发展趋势
随着电子技术在现实生活中的广泛应用,人们越来越感受到电子产品为生活所带来的各种便利,特别是在20世纪80年代,智能家居的出现更为人们享受生活提供了一个广阔的平台。
智能家居是一个系统,也是一个过程。
它是利用先进的网络通讯技术、电力自动化技术、计算机技术、无线电技术,将与居家生活有关的各种设备有机地结合在一起,通过网络化的综合管理,让居家生活更轻松。
智能家居不仅具有传统的居住功能,而且不再是被动的,是具有能动性智能化的工具,提供全方位的信息交换功能,优化我们的生活方式和居住环境你,帮助我们有效地安排时间,节约各种能源,提供优质、高效、舒适、安全的生活空间……
智能家居的原型最早起源于美国。
时至今日,智能家居在美国已走过了将近30个年头。
目前,美国有全球最大的智能化住宅群,其占地3359公顷,由约8000栋小别墅组成。
此外,在欧美、日本、新加坡和国等地,智能家居也日渐兴起。
自动化的家居不再是一幢被动的建筑,相反,成了帮助主人尽量利用时间的工具,使家庭更为舒适、安全、高效和节能。
网络化智能家居系统可为您提供遥控、家电(空调,热水器等)控制、照明控制、室外遥控、窗帘自控、防盗报警、远程控制、可编程定时控制与计算机控制等多种功能和手段,使生活更加舒适、便利和安全。
随着家庭智能化在世界围的日渐普与,智能家居在上个世纪末悄然走进了中国市场。
1.2嵌入式系统与智能家居
智能家居,或称智能住宅,在英文中常用SmartHome。
智能家居是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。
智能家居可以定义为一个过程或者一个系统。
利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。
智能家居不仅提供了全方位的信息交换功能,还优化了人们的生活方式和居住环境,帮助人们有效地安排时间、节约各种能源,实现了家电控制、照明控制、室外遥控、窗帘自控、防盗报警、计算机控制、定时控制以与远程遥控等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。
硬件包括处理器/微处理器、存储器与外设器件和I/O端口等。
软件部分包括操作系统软件(OS)(要时和多任务操作)和应用程序编程。
应用程序控制着系统的运作和行为;而操作系统控制着资源调度与与硬件的交互作用。
我们可以通过各项比较发现,嵌入式比较有发展潜力。
嵌入式的智能家居使系统的处理能力大大增强,可以带来更加逼真的图像以与更加真实的语音等。
根据系统定制的实时操作系统不仅可以最大限度的利用硬件资源而且还避免了过于庞大的系统造成的系统冗余。
一般只有一颗主处理芯片,系统架构更加清晰简捷。
软件采用分层设计,方便维护和升级,大大提高了代码利用率,缩短开发周期。
因为嵌入式技术是伴随着Internet而生的,所以它具有更加卓越的网络性能,可以增加更多的网络应用,很显然嵌入式类智能家居产品在应用方面具有相当的优势,应该是未来中国家庭智能化技术主流发展方向。
随着Internet向普通家庭生活不断扩展,消费电子、计算机、通讯一体化趋势日趋明显,现代智能家居由于其安全、方便、高效、快捷、智能化等特点在21世纪将成为现代社会和家庭的新时尚。
当家庭智能网关将家庭中各种各样的家电通过家庭总线技术连接在一起时,就构成了功能强大、高度智能化的现代智能家居系统。
随着嵌入式技术更加广泛的应用,随着成本的逐步降低,中国的智能家居最终将走向嵌入式。
图1-1智能家居控制系统示意图
1.3智能家居控制系统功能
智能家庭控制系统的主要功能包括家庭设备自动控制、家庭安全防二个方面。
1.3.1家庭设备自动监控
家庭设备自动监控包括电器设备的集中、遥控、远距离异地(通过或Internet)的监视、控制与数据采集。
(1)家用电器的监视和控制,按照预先所设定程序的要求对热水器、微波炉、视像音响等家用电器进行监视和控制。
(2)热能表、燃气表、水表、电度表的数据采集、计量和传送根据小区物业管理的要求所设置数据采集程序,通过传感器对热能表、燃气表、水表、电度表的用量进行自动数据采集、计量,并将采集结果远程传送给小区物业管理系统。
(3)空调机的监视、调节和控制,按照预先所设定的程序,根据时间、温度、湿度等参数对空调机进行监视、调节和控制。
(4)照明设备的监视、调节和控制按照预先设定的时间程序,分别对各个房间照明设备的开、关进行控制,并可自动调节各个房间的照度。
(5)窗帘的控制,按照预先设定的时间程序,对窗帘的开启/关闭进行控制。
1.3.2家庭安全防
家庭安全防主要包括多火灾报警、可燃气体泄漏报警、防盗报警、紧急求救、多防区的设置、访客对讲等。
家庭控制器按等级预先设置若干个报警(如家人单位、手机、寻呼机和小区物业管理安全保卫部门等),在有报警发生时,按等级的次序依次不停地拨通上述进行报警(可报出家中是哪个系统报警了)。
同时,各种报警信号通过控制网络传送至小区物业管理中心,并可与其它功能模块实现可编程的联动(如可燃气体泄漏报警后,联动关闭燃气管道上的电磁阀)。
第二章系统设计主要任务
本设计利用XSBase270嵌入式平台,C8051F系列单片机、MAX232与各类家居传感器设计制作一款智能家居控制系统。
系统设计包括:
系统硬件的设计与调试和控制软件的编写与调试。
2.1硬件部分
智能家居控制系统其硬件部分主要由以下几大部分构成,即控制单元、传感器数据采集系统、接口和电源部分。
控制单元组成控制部分功能;传感器数据采集系统,完成报警等信号的处理和发送;电源部分则为各个部分提供工作电源。
传感器采用温度传感器、烟雾传感器、压力传感器、光照传感器,采用的型号分别为DS18B20、MQ-2、BF350-3AA型电阻应变片、On9658。
本系统利用各种传感器来探测、感受外界的信号,并通过已设定的程序来完成预定的动作,并最终实现智能化。
2.2软件部分
软件设计部分主要由以下几大部分构成:
即数据采集与数据分析部分与分析控制部分。
数据采集部分是对传感器的信号进行采集,分析控制部分则是根据采集的信息进行分时操作有利于提高系统效率。
其他软件部分具体还包括WindowsCE的定制,串口通信协议的设计,家电控制板程序的编写。
第三章系统设计方案
3.1开发平台硬件资源
XSBase270配置了32MFLASHROM,64MSDRAM,并配备了触摸屏、以太网、USB、串口、CF/MMC、PCMCIA等接口。
满足了智能家居系统控制中心的硬件要求。
在较小的体积中整合了决大多数嵌入式系统常用功能。
XSBase270开发平台置了GPS模块,可以直接在XSBase270平台上验证和开发导航应用或从事GPS方面的研究。
XSBase270平台接口如图4-1所示。
图4-1XSBase270平台接口示意图
3.1.1CPU:
PXA270
芯片PXA270是Intel开发的基ARM10为核心的高度集成的片上系统微处理器,该处理器被加入了WirelessMXX技术,大大的提高了多媒体处理能力,同时还加入了IntelSpeedStep动态电源管理技术,在保证CPU性能的前提下,最大限度的降低设备功耗。
具体型号采用NHPXA270CS,最高主频可达624MHz,承担着程序运行、资源调配、存管理、中断处理等任务,控制着整套系统的运行。
芯片外围电路如图4-2所示。
图4-2PXA外围电路图
3.2硬件总体设计框图
根据上文的功能需要,设计出由ARM10为控制核心,单片机控制的家电控制模块和传感器报警模块,并且包含GSM通信模块的智能家居系统,硬件结构框图如图4-3所示。
图4-3硬件设计框图
3.2.1家电控制板
家电控制板采用C8051F系列单片机为控制核心。
电路图如图4-4所示,利用4种传感器控制四种终端设备(分别用4盏LED灯模拟)。
其中四盏LED分别连接单片机的P1.0、P1.1、P1.2、P1.3;四个传感器连接光电耦合器分别连接P2.0、P2.1、P2.2、P2.3。
图4-4家电控制板
3.2.2家电控制电路
家用电器控制的接口电路如图4-5所示,K1~K4为继电器,分别控制四路家电的闭合和断开,Q1~Q4为继电器线圈电流驱动,电路由单片机的P1口进行控制,DD1~DD4发光二极管用于显示某路控制电路的工作情况,主要为了调试电路而设置。
图4-5家电控制电路
3.2.3传感器接口电路
烟雾、光照、压力、温度等这些传感器的报警信号通过光电耦合接入单片机的P2口,如图4-6所示,在传感器没有报警信号时,光电耦合芯片处于截止状态,与之相接的单片机端口为低电平;当传感器有报警,传感器输出高电平,此时光电耦合芯片导通,与之相接的单片机端口为高电平,由单片机对报警信号进行采集并做出相应处理。
图4-6 传感器接口电路图
3.2.4串行端口电路
家电控制板采用串口与XSBase270平台采用RS-485串行通信,本设计利用RS-232转RS-485模块来实现。
电路的连接如图4-7所示:
图4-7RS-232转RS-485电路图
RS232-485转换器主要包括了电源、232电平转换、485电路三部分。
本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。
为了使用方便,电源部分设计成无源方式,整个电路的供电直接由PC机的RS232接口中的DTR(4脚)和RTS(7脚)提供。
PC串口每根线可以提供大约9mA的电流,因此两根线提供的电流足够供给这个电路使用了。
经实验,本电路只使用其中一条线也能够正常工作。
使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在4.7V左右。
因此,电路中要说D3起的作用是稳压还不如说是限压功能。
MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入和输出。
当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。
在半双工使用中,通常可以将这两个脚直接相连,然后由PC或者单片机输出的高低电平就可以让MAX485在接收和发送状态之间转换了。
由于本电路DTR和RTS都用于了电路供电,因此使用TX线和HIN232的另外一个通道与Q1来控制MAX485的状态切换。
平时NIH232的9脚输出高电平,经Q1倒相后,使MAX485的RE和DE为低电平而处于数据接收状态。
当PC机发送数据时,NIH232的9脚输出低电平,经Q1倒相后,使MAX485的RE和DE为高电平而处于数据发送状态。
第四章软件设计
4.1WindowsCE操作系统介绍
WindowsCE是微软公司在嵌入式操作系统市场上的一个重要产品。
它的第一版于1996年发布,但是最初并不是很成功,2001年1月,微软发布了WindowsCE,它的平台制定工具PlatformBuilder和应用软件开发工具VisualStudio2005都是非常实用的开发工具。
WindowsCE是一个32位、多线程、多任务的操作系统,而且是模块化的操作系统,这意味着可选择、组合和配置WindowsCE的模块和组件来创建用户版的操作系统。
4.2操作系统的定制
WindowsCE5.0嵌入式操作系统的定制依靠PlatformBuilder5.0完成。
PlatformBuilder是微软公司设计的用于嵌入式操作平台定制与驱动程序的开发的工具。
推出它的目的之一就是让用户可以更好的将嵌入式操作系统移植到特定的目标平台上。
4.2.1BSP的安装
(1)在配套光盘中找到XSBASE270-S.msi安装文件
双击XSBASE270-S.msi文件进行安装(如图5-1所示)。
图5-1
(2)开始安装(如图5-2所示)。
图5-2
当安装完成,将在WINCE500\PLATFORM\目录下面生成xsbase270_s文件夹,并且BSP安装在PlatformBuilder中的Catalog栏目中的ThirdParty中(如图5-3所示)。
图5-3
4.2.2添加平台特征和配置平台
(1)从File->RecentWorkspace中打开实验1的Training工程。
(2)从Catalog->CoreOS->WindowsCEDevices->CoreOSServices->USBHostSupport中分别添加支持USB的键盘和鼠标特性组件:
USBHumanInputDevice(HID)ClassDriver和支持U盘的特性组件:
USBStorageClassDriver.从Catalog->CoreOS->WindowsCEDevices->FileSystemsandDataStore->StorageManager中添加FAT文件系统特性组件:
FATFileSystem.
(3)从Catalog->DeviceDrivers->USBFunction->USBFunctionClients中添加USBSlave的特性组件:
Serial.
(4)从Catalog->CoreOS->WindowsCEDevices->GraphicsandMultimediaTechnologies->Media->WindowsMediaPlayer中添加多媒体播放器:
WindowsMediaPlayer.
(5)从Catalog->ThirdParty->BSPs->EmdoorSystemsXSBase2700G:
ARVV4I->DeviceDrivers中的把所有特性组件都添加到工程中。
(6)从Platform->Settings中打开编译选项。
(7)在Locales中选中“中文(中国)”(如图5-4所示)。
(8)再点击“OK”。
图5-4
(9)在Defaultlanguage中选择“中文(中国)”。
(10)在BuildOption列表中,只选择EnableEbootSpaceinMemory(IMGEBOOT=1)和WriteRun-timeImagetoFlashMemory(IMGFLASH=1)两项。
再点击“OK”。
如图5-5所示。
图5-5
(11)从BuildOS选择“Sysgen”开始编译工程。
4.3应用程序编写环境
开发环境:
MicrosoftVisualStudio2005
开发语言:
MicrosoftVisualC++2005
软件开发包:
XSBase270SDK
智能家居系统的应用程序采用VisualStudio2005进行开发。
VisualStudio是微软公司开发的Windows平台上的应用程序开发环境。
VisualStudio可以创建Windows下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
VisualStudio2005面向.net框架(2.0版本),同时可以开发跨平台的应用程序。
4.4串口通信协议
串口通信协议采用AABB类实现,通过对此类的成员函数的调用,完成对串口的初始化、读写操作等。
异步半双工,1位起始位+8位数据位+1位停止位
波特率:
19200
发送数据格式:
命令头+长度字+命令字+数据域+校验字
命令头:
0xAA0xBB,若后续数据中包含0xAA则随后补充一字节0x00以区分
命令头但长度字不增加
长度字:
指明从长度字到数据域最后一字节的字节数
命令字:
本条命令的含义
数据域:
此项可以为空
校验字:
从长度字到数据域最后一字节的逐字节异或值
返回数据格式:
成功:
命令头+长度字+接收到的命令字+数据域+校验字
失败:
命令头+长度字+接收到的命令字取反+校验字
4.5打开串口与配置串口
在WindowsCE中,驱动程序分为本地设备驱动和流设备驱动两种。
本地设备如键盘、触摸屏等,一般在设备生产后是不会再更换的,相应的驱动这些设备的驱动程序也是必需的。
而流接口设备驱动程序可以由第三方提供,支持另外添加到系统中的设备。
而串口就属于流接口设备之一。
流设备驱动在系统中是以三位字符串后跟一位数字表示的,对于串口而言,这三位字符是“COM”(不包括引号)。
当引用一个流接口驱动程序时,除了三位字符后跟一位数字以外,还要紧跟一个冒号“:
”(英文半角冒号),冒号是必需的,是为了区别桌面Windows的设备驱动程序的命名规则。
该函数的流程图如图5-6所示:
图5-6OpenPort函数流程图
(1)串口的打开所有的流驱动程序都将采用CreateFile函数打开串口设备。
在WindowsCE下,系统不支持设备的重叠I/O,所以不能在参数dwFlagsAndAttributes中传递FILE_FLAG_OVERLAPPED标志,返回的句柄要么是已打开的串口端口的句柄,或者是INVAILID_HANDLE_VALUE。
CreateFile与大多数Windows函数不一样,打开失败时,不返回0。
CreateFile函数的原型如下:
HANDLECreateFile(
LPCTSTRlpFileName, //对象路径名
DWORDdwDesiredAccess, //控制模式
DWORDdwShareMode, //共享模式
LPSECURITY_ATTRIBUTESlpSecurityAttributes, //安全属性(也即销毁方式)
DWORDdwCreationDisposition, //创建的方式
DWORDdwFlagsAndAttributes, //对象属性
HANDLEhTemplateFile //一个文件模板句柄
);
(2)串口的设置
打开串口后,还必须对端口配置好正确的波特率、字符长度、停止位等等。
在OpenPort函数中,使用两个函数GetCommState和SetCommState来配置串口。
函数原型如下:
BOOLSetCommState(HANDLEhRle,LPDCBlpDCB);
BOOLGetCommState(HANDLEhFile,LPDCBlpDCB);
(3)串口超时设置
设置好串口驱动操作的配置后,一个必要的步骤是,设置端口的超时值。
所谓超时,是指WindowsCE.net在读串口和写串口的自动返回前等待读或写操作的时间长度。
在程序中,用以下两个函数控制串行超时。
BOOLGetCommTimeouts(HANDLEhFile,LPCOMMTIMEOUTSlpCommTimeouts);
BOOLSetCommTimeouts(HANDLEhFile,LPCOMMTIMEOUTSlpCommTimeouts);
这两个函数都包含了对应的串行设备的句柄和COMMTIMEOUTS结构的指针,COMMTIMEOUTS结构定义为:
typedefstruct_COMMTIMEOUTS{
DWORDReadIntervalTimeout;
DWORDReadTotalTimeoutMultiplier;
DWORDReadTotalTimeoutConstant;
DWRODWriteTotalTimeoutMult