版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE2PAGE1基于物联网的智能家居系统设计与实现摘要物联网作为新兴科技,在近十年来有了长足的发展。物联网相关的解决方案也得了很多的应用,在这些基础应用中,智能家居是最贴近民生的物联网应用,显得尤为重要。智能家居构成智慧社区,智慧社区与其他物联网应用结合构成智慧城市,直到最后发展成为智慧地球,可见智能家居是未来发展智慧地球的基础。本设计利用32位嵌入式ARM处理器S3C2440作为智能家居控制系统的核心控制器,运用高性能、接口丰富、方便移植与扩展性好等优点,并且利用嵌入式操作系统实时性强、可靠性高、资源丰富等优势,将嵌入式技术作为智能家居控制器的开发平台,使智能家居控制系统的应用开发能够变为在嵌入式平台上的二次开发,从而缩短开发周期,并且节约资源。该设计通过对智能家居系统的分析,确定了总体架构设计。针对智能家居系统的特点和所要实现的基本功能,分析了智能家居控制器的基本结构,然后对各个模块电路进行了详细设计。最终利用人体红外传感器(infraredsensor)、GSM模块、温度传感器(temperaturetransmitter)、光电传感器(photoelectricsensor),烟雾传感器(MQ-2),继电器等,结合电路组装成系统,实现房屋的远程监控,以及保护人员、物体的安全,方便用户随时在最短的时间内了解并掌握房屋情况。关键词:物联网,智能家居,远程监控ABSTRACTTheInternetofthingsasanewtechnology,inthepasttenyearshasmadeconsiderableprogress.Thingsrelatedtothesolutionhasalsobeenalotofapplications,inthesebasicapplications,smarthomeistheclosesttothelivelihoodoftheInternetofthings,itisparticularlyimportant.Smarthomeconstitutethewisdomofthecommunity,thewisdomofthecommunityandotherInternetapplicationscombinedwiththeformationofsmartcity,untilthefinaldevelopmentofthewisdomoftheearth,wecanseethesmarthomeisthefoundationofthefuturedevelopmentofthewisdomoftheearth.Weutilizethe32-bitembeddedARMprocessorS3C44B0Xasthecontrollingcoreofthesmarthomesysteminthispaper.Ithascharacteristicsofhighperformance,plentifulinterfacesandconvenienttransplantationandextension.Andalsoweadoptembeddedtechnologyastheplatformofthesmarthomecontrollerowingtoitshighreal-timeability,highreliabilityandrichresourses.Thustheapplicationofsmarthomesystembecomesthesecondarydevelopmentontheembeddedplatformsothatthedevelopingperiodiscutdownandresourceissaved.Thisdesignthroughtheanalysisoftheintelligenthouseholdsystem,determinetheoverallarchitecturedesign.Accordingtothecharacteristicsoftheintelligenthouseholdsystemandtoachievethebasicfunctions,thebasicstructureofsmarthomecontrollerareanalyzed,thenhascarriedonthedetaileddesigntoeachmodulecircuit,thefinalbodyusingthehumanbodyinfraredsensor,GSMmodule,temperaturetransmitter,photoelectricsensor,smokesensors,etc.combiningwiththecircuitassemblesystem,realizetheremotemonitoringofthebuilding,aswellastoprotectthesafetyofpersonnel,objects,convenienttotheuseratanytimeintheshortestpossibletimetounderstandandgrasphousingsituation.Keywords:Internetofthings,Smarthome,Remotecontrol目录TOC\o"1-3"\h\u摘要 IABSTRACT II第1章绪论 11.1研究背景和意义 11.2国内外的现状及发展趋势 11.2.1国外的发展现状 21.2.2国内的发展现状 31.3本课题研究的目的和意义 41.4本课题研究的基本内容 41.5本章小结 4第2章系统的总体方案设计 62.1系统需求分析 62.1.1系统功能需求分析 62.1.2性能需求分析 62.1.3用户界面及其他需求分析 72.2系统设计的原则 72.3系统总体架构设计 72.4系统主要硬件介绍 82.4.1ARM处理器 82.4.2TC35模块 102.4.3温度传感器 112.4.4MQ-2烟雾传感器 122.4.5光电传感器 132.4.6ISD1760语音芯片 142.4.7继电器 15第3章系统的实现 163.1GSM远程控制模块的实现 183.1.1mini2440串口的配置和实现 183.1.2通过串口发送短信 193.2温度采集模块的实现 203.3烟雾传感器模块的实现 233.4具有语音提示功能的密码锁防盗模块的实现 253.5预防小孩坠楼模块 283.6本章小结 30第4章系统测试 314.1整体界面测试 314.2模块功能测试 324.2.1远程监控家电模块功能测试 324.2.2密码锁防盗模块功能测试 344.2.3烟雾报警模块功能测试 344.2.4预防小孩坠楼模块功能测试 35第5章总结与展望 365.1总结 365.2展望 37参考文献 38第1章绪论1.1研究背景和意义居住环境是人类生活的基础,在人们生活品质不断提高的今天,随着科学技术的日新月异,智能家居不再是遥不可及的奢侈品,它正慢慢的走进百姓的家庭。智能家居也可称为智能住宅,需要以住宅为平台,利用先进的计算机技术、布线技术、自动化技术和网络通信技术等将与家居生活有关的各个设施进行集成,.构建自动化、智能化的全新家居体验。这种自动化和智能化可以节约住户的宝贵时间,简化住户的生活。通过构建一套高效的计算机信息管理系统进行协调控制,从而提升人们家居生活的舒适性、安全性及便利性。智能家居环境中,人们会使用很多便捷的家电设施,这些设施却因为技术原因而存在各种隐患。如燃气设备,在带来便利的同时却也时常会发生煤气泄漏并伴随着爆炸的威胁。在居家生活中,偷盗和入室抢劫也一直是人们担心的一个安全隐患,每年发生的同类案件不计其数,因此人们更迫切的希望家庭居住环境具备更可靠和更实用的安全防护措施,以保证居住安全。人们对于生命财产安全的防护重视度一直居首,如何避免这些隐患从而有效保障人们的生命财产安全,也是智能家居设计的一个重要初衷和目的。现有的大部分家居安防系统,因为技术限制,导致功能单一,往往都只能对灾害中的一两类来进行针对防护,无法做到整体全面的监控。传统的安防系统中报警系统是通过电话线来上传报警信息,并且各个灾害的报警系统都相互独立,误报和漏报警的情况也时有发生。而且很多时候主人并不能即时准确的接收到报警信息,从而延误处理危险的最佳时间造成无可挽回的损失。智能家居安防系统的开发和应用,可以有效避免类似情况的发生,从而有效保护人们的生命财产安全,减少损失。无论从经济还是从社会角度来看,为居民营造出一个安全的家居环境迫在眉睫,因此开发出一套功能齐全的智能家居安防系统对于整个人类社会的发展具有深远意义。1.2国内外的现状及发展趋势智能家居的发展分为三个阶段[2]:首先是家庭电子化(HomeElectronics)阶段,这个时期主要是面向单个的电器,家庭电器之间并没有形成网络,亦没有大的联系。其次是住宅自动化(HomeAutomation)阶段,这个时期是面向功能的阶段,一部分的家庭电器之间形成了简单的网络,主要是为了实现某个特定单一的功能,例如单一的自动抄表功能。最后是家居智能化(欧洲称为SmartHome,美国称为WiseHouse)阶段,这个时期是面向系统设计的阶段,系统通过家庭分布总线把住宅内各种与信息相关的通信设备、家用电器、报警装置并到网络节点中进行集中的监控、管理,保持家电与环境的协调,提供生活、工作、学习以及娱乐的各种优质服务,营造一种温馨舒适的家庭氛围。智能家居控制系统提供高效、舒适的家居环境,确保住户的生命财产安全;集中或远程调节家居环境的温度、湿度以及风的速度等,同时检查空气成分,提高空气质量;调节音响,电视等娱乐设施,愉悦心情;合理利用太阳能活周遭环境的变化,尽可能的节约能耗,达到合理利用资源;提供现代化的通信、信息服务。1.2.1国外的发展现状1984年,世界上第一幢智能建筑在美国康涅迪格州落成,这栋意义非凡的建筑只是对一座旧式大楼的一定程度的改造而完成的。它只是采用计算机系统对大楼的空调、电梯、照明等设备进行监控,并提供语音通信、电子邮件、情报资料等方面的信息服务。2000年,新加坡有近30个社区的约5000户家庭采用了这种家庭智能化系统,而美国的安装住户高达4万户。2003年,网络化家居的建设带来了高达4500亿美元的市场价值,这其中有3700亿美元是智能家电硬件产品的价值,剩余的部分则是软件和技术支持服务的费用。现在,国外的智能家居系统技术己日趋成熟,预计今年,50%以上的新房将具有一定的“智能型家居”功能。于此同时,由于技术的日益标准化,这些新型智能家居系统将比比尔.盖茨耗资6000万美元的高端别墅便宜得多。在智能家居系统研发方面,美国及一些欧洲国家一直处于领先地位。近年来,以美国微软公司及摩托罗拉公司等为首的一批国外知名企业,先后挤身于智能家居的研发中。例如:微软公司开发的“梦幻之家”、摩托罗拉公司开发的“居所之门”、IBM公司开发的“家庭主任”等均已日趋成稳。此外,日韩新等国的龙头企业纷纷致力于家居智能化的开发,对家居市场更是跃跃欲试。目前市场上出现得智能家居控制系统主要有:(1)X-10系统(美国),该系统是利用电力线作为网络平台,采用集中控制方式实现。这套系统的功能较为强大,与其它家居控制系统如ABB、C_BUS等比起来更容易接收,使用也相对简单。因为实现同样的功能,X-10家居控制系统是利用220v电力线将发射器发出的X-10信号传送给接收器从而实现智能化的控制,因此采用这套系统不需要额外的布线,这也是这套系统的最大的一个优势,因为其它系统基本上都需要布低压线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。但由于缺乏在国内市场推广的条件且价格昂贵,该系统在国内应用极少。(2)EIB系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。但由于其工程要求复杂严苛,并且价格较高,因此一直无法打开国内市场。(3)8X系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。它的优点在于利用的产品对系统进行扩展,系统较为成熟,比较适合中国国情。但是由于系统架构、灵活性及产品价格等方面还难以达到要求,所以目前在国内还较少应用。1.2.2国内的发展现状20世纪90年代后期,我国的智能小区日益兴起。众所周知,我国的智能化住宅建设最早起于上海、广州和深圳等沿海城市,并逐渐向内陆发展[3]。在97香港回归之际,在建设部“97跨世纪住宅小区案竞赛活动”中,上海中皇广场被建设部科技委员会列为全国首家“智能住宅示范工程”,揭开了全国智能小区发展的序幕。1999年,建设部勘察设计司、建设部住宅产业化办公室联合组织实施全国住宅小区智能化技术示范工程,标志着我国住宅小区智能化进入了一个新阶段。随着信息化走进了千家万户,由国家经贸委牵头成立了家庭信息网络技术委员会,而信息网络技术体系研究及产品开发已经被列为了国家技术创新的重点专项计划。据建设部要求,截止今年,我国将有70%以上的家庭拥有Internet入网设备,大中城市中50%的住宅要实现智能化。我国的智能家居相对于国外起步较晚,尚未形成一定的国家标准。目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有:(1)e家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。海尔在技术上同微软合作,利用微软的WindowsMe技术和海尔的网络家电,使“e家庭”已具雏形,已推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。(2)e-home数字家园(清华同方),该智能家居控制系统是专门针对中国家庭设计的,遵循国际技术标准,采用嵌入式软、硬件技术,提供网络、网络节点及末端设备。产品以功能模块开发为主,基于国外成熟的智能家居标准之上。其智能家居控制系统主要有以下三个部分:A系列:遵循EIB协议的家庭控制产品,适用于中高档住宅区。B系列:遵循X-10协议的家庭控制产品,适用于中档住宅区。易家三代:配电箱集中安装式家庭控制产品。国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。1.3本课题研究的目的和意义根据前面提到的一些调查结果及数据可以看出,虽然目前智能家居系统有了一定的发展,并且市场上也开始出现相应的产品,但从总体的发展来看,不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势[4]。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗。而且在现在这个注重绿色环保的世界里,智能地为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理,危机救护等急救控制,充分达到只要是“用户想要的,就是我们追求的”宗旨。1.4本课题研究的基本内容本次设计是基于ARM9的S3C2440核心处理器,以Linux嵌入式系统为家居总中心监控系统,使用LinuxQt完成控制程序及人机界面的编写,采用ds18b20温度传感器、MQ-2烟雾传感器、光电传感器为数据采集源,采用西门子公司的AT35GSM模块完成通信及监控功能,实现了远程监控、实时监控家居温度、空气质量,以及家居重要财产防盗的功能。1.5本章小结本章主要分析了智能家居的研究背景,以及国内外的发展现状及发展趋势,以及智能家居平台系统的技术特点。最后简单介绍了本智能家居系统的基本内容和设计思路。
第2章系统的总体方案设计2.1系统需求分析针对国内市场的实际情况分析,消费者对远程抄表和物业管理兴趣索然,但是对家电控制、家居安防报警网络却情有独钟,所以目前众多企业都往这一方向发展。而嵌入式技术在最近几年得到了广阔的发展[5]。嵌入式处理器的性能得到了显著地提高,这就为以嵌入式为基础的智能化家居系统的发展奠定了硬件基础,使较复杂的检测和识别算法在系统中得到应用。在软件方面,出现了丰富的支持嵌入式设备的软件,使嵌入式系统的开发的难度降低,出现了大量专注于嵌入式的企业,使嵌入式开发中能得到良好的技术支持。同时智能化家居的概念也更加明确,相关的智能化技术得到了显著地发展,使开发能获得大量先进的资料。设计本智能家居系统,需要满足以下需求。2.1.1系统功能需求分析(1)能用手机通过收发短信的方式检测家电,打开、关闭家电的工作状态。(2)在家居的门口安装了4*4键盘,当用户输入正确的密码可以把门打开,用户通过其他非法手段比如撬开锁时,系统及时启动报警模块,达到防盗的功能。(3)能实时测量家居内温度、烟雾情况,当室内烟雾浓度偏高时,系统可以打开室内抽风机把室内有害气体抽出室外,当室内烟雾浓度过高,系统启动火灾报警模块,提示家居主人预防火灾的发生。(4)当有小孩靠近窗户时,系统自动把窗户关上,避免小孩可能发生坠楼的危险,当小孩离开时,系统自动把窗户打开。2.1.2性能需求分析智能家居系统在正常运行时,几乎每时每刻都在运行,必须高度重视系统的稳定性和可靠性,尽量提高系统的容错能力,同时一定要保证系统安全,性能良好。2.1.3用户界面及其他需求分析智能家居相关的设备都是跟人们生活息息相关的,因而智能家居系统必须要求用户界面友好,用户体验效果良好,并且使用户可以很容易掌握操作流程,同时要求实用、舒适和有个性等。2.2系统设计的原则智能家居又称智能住宅,它的最基本目的是为人们提供一个舒适、安全、高效、方便、实用的生活环境。对智能家居产品来说,最重要的是应立足于客户的对家居环境的具体需求,以实用为核心,摒弃掉那些华而不实的功能。同时还要充分考虑到用户体验,注重操作的便利化和直观性,注重完美的图形化控制界面。智能家居系统大部分时间都在运行,必须高度重视系统的安全性、可靠性和容错能力,保证系统正常安全使用、质量、性能良好,具备应付各种复杂环境变化的能力。根据目前国内外智能家居系统的发展现状,人们不仅关注家居内部控制,更加注重对家用电器内部情况进行远程实时监控。在要求智能家居控制系统方便快捷的同时,还要求产品外观小、功耗低、成本低和扩展性号的特点。本系统主要针对用户家庭内部进行远程控制,主要实现的功能有:通过远程监控家电运行情况、通过温度、烟雾传感器检测家居温度、空气质量的情况,通过光电传感器监控家庭重要财产,具有防火防盗的功能。2.3系统总体架构设计本课题旨在设计一套智能家居系统,根据系统的设计需求,本控制系统采用分布式控制方式对智能家居的各部分进行统一控制,主要包括远程监控家电(包括台灯、风扇)部分,具有语音提示功能的密码锁防盗部分,窗户自动关窗预防小孩坠楼部分,烟雾浓度监测自动报警部分。各个模块相互独立,某个模块出现故障不影响其他模块运行。本智能家居系统整体架构框图如图2.1所示。图2.1智能家居系统整体架构框图该智能家居系统用S3C2440处理器,控制器控制远程监控家电模块,检测温度、烟雾模块,密码锁模块等。在实际开发中先在ARMLinux中编写每个模块的驱动程序,编译加载驱动后应用层方能操作硬件模块,手机通过收发短信的方式通过应用层程序与硬件模块通信达到控制硬件的目的。2.4系统主要硬件介绍2.4.1ARM处理器嵌入式系统常用的处理器有单片机和ARM,由于考虑到单片机引脚少、功能简单以及后续学习研究等原因,故选择功能更强大的ARM处理器[6]。随着电子技术的发展,ARM处理器经历了包括ARM7、ARM9、ARM11等在内的多个发展阶段,不断成熟的ARM处理器的应用必将为嵌入式的发展带来新的活力,是更高端的产品应用成为可能。Mini2440ARM是一款真正低价实用的ARM9开发板,它采用SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。它采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。本系统初期采用友善之臂公司集成的mini2440开发板,开发板硬件资源如下所示。图2.2开发板硬件资源开发板的硬件资源包括:SamsungS3C2440A处理器:主频400MHz,最高533Mhz。SDRAM内存:在板64MSDRAM,32bit数据总线,SDRAM时钟频率高达100MHz。FLASH存储:256MNandFlash,掉电非易失。在板2MNorFlash,掉电非易失,已经安装BIOS。LCD显示:板上集成4线电阻式触摸屏接口,可以直接连接四线电阻触摸屏,支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸从3.5寸到12.1寸。屏幕分辨率可以达到1024x768象素,支持黑白、4级灰度、16级灰度、256色、64K色、真彩色TFT液晶屏;尺寸从3.5寸到12.1寸,屏幕分辨率可以达到1024x768象素。标准配置为统宝3.5真彩LCD,分别率240x320,带触摸屏。接口和资源:1个100M以太网RJ-45接口(采用DM9000网络芯片)。3个串行口。1个USBHost。1个USBSlaveB型接口。1个SD卡存储接口。1路立体声音频输出接口,一路麦克风接口。1个2.0mm间距10针JTAG接口。4USERLeds。6USERbuttons(带引出座)。1个PWM控制蜂鸣器。1个可调电阻,用于AD模数转换测试。1个I2C总线AT24C08芯片,用于I2C总线测试。1个2.0mm间距20pin摄像头接口。板载实时时钟电池。电源接口(5V),带电源开关和指示灯。系统时钟源:12M无源晶振。实时时钟:内部实时时钟(带后备锂电池)。扩展接口:1个34pin2.0mmGPIO接口。1个40pin2.0mm系统总线接口。规格尺寸:100x100(mm)。操作系统支持:Linux+Qtopia-2.2.0+QtE-4.6.1(独创双图形系统共存,无缝切换)。WindowsCE.NET6.0(R3)。2.4.2TC35模块TC35是西门子公司出的一款双频900/1800MHZ高度集成的GSM模块。在GSM网络日臻完善的今天,它易于集成,可以在较短的时间内花费较少的成本开发出新颖的产品。在远程监控和无线公话以及无线POS终端等领域您都能看到TC35无线模块在发挥作用。本系统采用TC35对家电进行远程监控,TC35的主要特征如下:信息传送内容:语音和数据。电源:单电源3.3V~5.5V。频段:双频GSM900MHz和DCS1800MHz(Phase2+)。SIM卡连接方式:外接。天线:由天线连接器连接外部天线。短信息:MT,MO,CB和PDU模式。音频接口:模拟信号(麦克风,耳麦,免提手柄)。通讯接口:RS232(指令和数据的双向传送)。模块复位:采用AT指令或掉电复位。串口通讯波特率:300bps...115kbps。要实现发短信或语音功能主要是通过开发板串口发送AT指令经max232把TTL电平转换成RS232电平并处理TC35反馈回来的信息来进行的。下面图2.3是TC35模块和max232串口转换电路。图2.3TC35模块和max232串口转换电路2.4.3温度传感器本系统选择DALLAS公司生产的DS18B20温度传感器进行开发。DS18B20以超小的体积、超低的硬件开销,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20的主要特征和引脚封装原理图如下:全数字转换及输出。先进的单总线数据通信。测量结果以9~12位数字量方式串行传送。不需要外围任何元件。测温范围-55℃~+125℃,固有测温分辨率为0.5℃。工作电压:3~5V/DC。PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。图2.4DS18B20封装及原理图DS18B20引脚功能说明如下:(1)DQ为数字信号输入/输出端。(2)GND为电源地。(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20与ARM处理器的接口十分简单,只需要将DS18B20的信号线与控制线的一位双向端口连接即可。本系统将DS18B20的信号线与S3C2440的GPE0引脚连接,如下面图2.4所示。图2.4DS18B20引脚电路图2.4.4MQ-2烟雾传感器MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。MQ-2的主要特征如下:工作温度:-10℃~+50℃报警浓度:0.65~15.5%FT工作湿度:10~90%工作电源:12VDC/9VDC信号输出:常开/常闭安装方式:吸顶外壳:阻燃树脂产品尺寸:直径105mm厚度32mm图2.4MQ-2引脚接线图根据MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻是电导率的倒数,所以随着烟雾浓度的增大其电阻是减小的)并且参考图MQ-2Datasheet上的测试电路,在根据图2.4的电路图,可以得到烟雾传感器的输出电压如式2.1所示。(式)光电传感器光电传感器是各种光电检测系统中实现光电转换的关键元件,它是把光信号(红外、可见紫外光辐射)转变成为电信号的器件。光电传感器是以光电器件作为转换元件的传感器。它可以用于检测直接引起光量变化的非电量,如光强等。本设计试图把光电传感器安装在家庭保险柜或其他重要的财产出,当小偷或其他非家庭主人试图靠近保险柜等重要财产处能自动触发语音报警,从而达到防盗的目的。图2.5光电传感器引脚图光电传感器简单易用,正确接好线之后输入3.3V高电平,当检测到有障碍物时会一直输出低电平信号。我们把光电传感器的输出引脚接单片机的EINT5/GPF5中断引脚,程序中设定低电平触发,当有小偷靠近保险柜或家居其他重要财产时,系统能捕捉到这一信号从而做出反应。2.4.6ISD1760语音芯片语音报警部分采用isd1760语音芯片来完成。ISD1700系列录放芯片可工作于独立按键模式和SPI控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入。本设计采用独立按键模式,连接好电路后给芯片的23脚一个电平信号即可播放提前录好的声音。图2.6isd1760语音芯片接线引脚图2.4.7继电器由于家电电器工作电压是220V,而单片机工作电压是5V,因而监控家电时需要引入继电器。继电器是一种控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。当收到特定的短信要把家电打开时,MCU通过打开继电器给插座上电,即可打开家电,当需要关闭家电时,也是通过继电器关闭家电。图2.7继电器原理图ARM是一个弱电器件,一般情况下它们大都工作在电压为5V甚至更低、驱动电流在mA级以下,而要把它的输出用于一些大功率场合,比如控制步进电机,很显然是不可行的。因此,就要设计一个环节来衔接,这个衔接环节就是“功率驱动”。一个典型简单的功率驱动环节就是继电器的驱动。此处,继电器驱动含有两层意思:一是通过GPIO口对继电器本身进行驱动,因为继电器对于ARM来说是一个功率器件;另一个就是继电器去驱动其它负载,比如继电器可以驱动中间继电器,也可以直接驱动接触器,因此继电器驱动就是ARM与其塔大功率负载的接口。ARM的I/O口输出电压高电平为3.3V,直接接上继电器后电平被拉低,无法控制继电器的闭合。三极管具有良好的信号放大功能,信号经过三极管的放大后,再接入继电器,可以实现对继电器的控制,最终实现对交流电路的控制.
第3章系统的实现本智能家居系统分几个模块组成:GSM远程控制模块,温度、烟雾数据采集模块,具有语音提示功能的密码锁防盗功能模块,预防小孩坠楼模块。每个硬件模块在嵌入式开发中称为设备,每个设备想要运行都要在Linux内核中编写设备驱动程序。所谓设备驱动程序就是控制与管理硬件设备数据收发的软件,它是应用程序与硬件设备沟通的桥梁。从本质上讲设备驱动程序主要负责硬件设备的数据读写、参数配置与中断处理。设备驱动程序是操作系统的一部分,通常运行在内核层。应用层通过系统调用进入内核层,内核层根据系统调用号来调用驱动程序对应的接口函数。Linux驱动程序运行的原理如图3.1所示。图3.1驱动程序运行原理Linux中的大部分驱动程序,是以内核模块的形式编写的,内核模块是Linux内核向外部提供的一个接口。Linux内核本身就是一个单内核,具有效率高的优点,也具有可扩展性和可维护性差的缺陷,模块机制就是为了弥补这一缺陷而设计的。内核模块可以单独编译,在运行时被链接到内核,作为内核的一部分在内核空间中运行。采用可加载模块方式可以让驱动程序的运行更加灵活,也更便于调试。本设计就是用动态可加载方式逐个模块调试好,调试好后在直接编译进内核中,然后开机就运行应用程序。一般来说,Linux系统将设备分为3种类型:字符设备、块设备、网络接口设备。本系统设计中用到的设备都是指字符设备驱动,这里主要讲解字符设备及其相关内容。字符设备是指那些每次只能一个字节读写数据的设备,不能随机读取设备内存中的某一数据,其驱动程序中完成的主要工作是初始化、添加和删除cdev结构体,申请和释放设备号,以及填充file_operations结构体中操作函数,并实现file_operations结构体中的read()、write()、ioct1()等重要函数。cdev结构体、file_operations和用户空间调用驱动的关系如图4.2所示。图3.2字符设备与用户空间关系想要设备正常工作,就必须要按图3.2所示先加载设备驱动模块,然后才能正确调用open()、read()、write()、ioctl()函数操作系统硬件设备。另外,上层应用程序是在qtopia中编译的,而智能家居系统每个模块必须互不干扰,其中一个模块发生故障应不影响其他模块的运行,要实现每个模块能单独工作,这里用到了多线程的技术,为每个模块创建Timer定时器,把每个模块的程序放在定时器函数中运行,下面分别详细介绍本设计的几个模块的调试过程。3.1GSM远程控制模块的实现3.1.1mini2440串口的配置和实现在实际程序设计过程中主要包括两个组成部分,其一是串口的硬件驱动程序,其二是文件系统上的应用程序。S3C2440本身自带了3个串口UART0、1、2,其中UART0做了RS232电平转换,UART1、UART2输出的点平是TTL电平,但是从NFS启动系统需要用到UART0,我们开发时用到UART2,中间经过232电路与GSM模块连接。开发板的内核源代码自带了串口驱动程序,在开发时我们不需要自己编写驱动。在Linux中,所有东西都可以看成文件,在应用层想使用串口时首先需要打开串口:intfd;fd=open(“/dev/ttySAC1”,O_RDWR);if(-1==fd){/*不能打开串口二*/perror(“提示错误!”);}打开串口后还不能时串口正常工作,需要正确设置串口包括设置波特率、效验位和停止位的设置,设置串口主要是设置structtermios结构体的各成员值。Structtermios{ unsignedshortc_iflag;//输入模式标志 unsignedshortc_oflag;//输出模式标志 unsignedshortc_cflag;//控制模式标志 unsignedshortc_lflag;//本地模式标志 unsignedcharc_line;//控制协议 unsignedcharc_cc[NCC];//控制模式字符};几乎对串口的操作都是通过结构体structtermios和几个函数实现,其中最重要的是tcgetattr()和tcsetattr(),刚开始程序通过tcgetattr()函数获取设备当前的设置,然后修改这些设置,最后用tcsetattr()使设置生效。在使用串口时,波特率设置成b9600,无校验位,8位数据位和一位停止位。设置好串口之后,就可以通过把串口当作文件读写了。发送数据:charbuffer[1024];intLength=1024;intnbyte;nbyte=write(fd,buffer,Length);接受数据:charbuffer[1024];intLen=1024;intreadbyte=read(fd,buff,Len);3.1.2通过串口发送短信前面已经简单介绍过TC35模块,TC35模块有40个引脚,通过一个ZIF(ZeroInsertionForce,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。在开发中我们用的是GSM集成模块,模块把我们需要使用的引脚都接了出来,开发时只有提供电源和接上MAX232电路即可。由于开发板上输出的电平是TTL电平,TC35模块输入输出的是RS232电平,因而开发时需要自己外接MAX232电路进行电平转换。让TC35工作的过程主要是通过开发板的串口给TC35发送AT指令以及处理开发板返回的AT指令。通过GSM短信模块发送短信主要有两种格式:英文短信和中文PDU短信。下面是发送英文短信的收发过程。发:AT //与AT35握手
收:OK
发:AT+CMGF=1//选择发送短信的格式
收:OK
发:AT+CMGS/要发送的手机号
收:>
发:data→
//test为发送内容,→为发送符(ctrl+z,十六进制0x1A)
收:+CMGS:54OK知道了GSM英文短信的发送过程,只要把握好顺序用nbyte=write(fd,buffer,Length);即可实现发送英文短信的功能。本设计中,用发送短信主要是为了实现家电远程监视的功能,当用户发送检测家电的请求时,系统通过发送英文短信向用户反馈家电的工作状态,从而达到检测家电的功能。要控制家电,首先系统要识别是什么用户向系统发送了消息,而且系统还要识别受到消息的内容,从而对家电进行控制。系统首先保存用户的电话号码,当用户收到消息时,首先判断是否是智能家居系统对家电发送了消息,如果是系统的主人发送的控制命令,系统接着对短信进行解析,最后控制器对家电进行控制。若智能家居系统收到其他用户的短信请求,将不会对短信进行解析,也不会对短信进行监控。GSM短信模块远程监控家电过程如图3.3所示:图3.3GSM短信模块的程序流程图控制器的串口和连接GSM模块的max232串口相连接,当GSM模块收到信息后马上向开发板返回AT指令信息,因而系统一直在检测是否收到短信,3.2温度采集模块的实现DS18B20温度传感器提供9位到12位(二进制)温度读数,指示器件的温度信息经过单线接口送入DS18B20或从DS18B2O送出,从主机CPU到DS18B20仅需一条线(共地),DS18B20可选择两种供电方式,一是数据总线供电方式,可节省一根导线,但测量温度时间较长;二是外部供电方式,DS18B2O工作电源由VDD引脚接入,I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,这样虽多用一根导线,但测量速度较快,同时总线可以挂接多个DS18B20传感器,组成多点测温系统,为了实现及时多点采集温度,本设计选用了外部供电的方式。DS18B20的测量范围从-55摄氏度到+125摄氏度,增量值为0.5摄氏度,可在1s(典型值)内把温度变换成数字,每一个DS18B20在出厂时已给定了唯一的序号,多个DS18B20可以存放在同一条单线总线上,实现多路温度采集。DS18B20的序号值存放在DSl8B20内部的ROM(只读存贮器)中,多路测量时需用DS18B20的ROM搜索命令对所有单线总线上的传感器进行搜索,然后初始化各DS18B20并发送跳过ROM命令和RAM温度转换命令,单线上各DS18B20完成温度转换后,即可定位某一个DS18B20,并用匹配ROM命令和RAM温度读取命令读取其数字温度值。ROM和RAM存储器操作命令分别如表3.1和表3.2所示:表3.1ROM存储器操作命令ROM指令代码指令功能ReadROM33H读取DS18B20的64位器件序列号Match55H总线控制在单线上定位一只特定的DS18B20SkipROMCCH总线控制器不需发送器件序列号就可对存储器操作SearchROMF0H识别单线总线上各单线器件的序列号AlarmROMECH对温度超过报警上、下限的器件做出警告搜索响应表3.2RAM存储器操作命令RAM指令代码指令功能WriteScratchpad4EH写入数据到储存器字节2,3和字节4ReadScratchpadBEH读暂存存储器CopyScratchpad48H将暂存器中TH,TL和配置寄存器内容复杂到E2PROMConvertTemperature44H启动DS18B20温度转换RecallEPROMB8H将E2PROM中TH,TL和配置寄存器内容回写到暂存器ReadPowersupplyB4H读电源数字温度传感器DS18B20将模拟温度信号直接转换为数字信号,然后通过串行通信的方式输出。因此,温度采集的关键是DS18B20的通信协议,为了确保数据转换与传输的完整性,DS18B20器件必须采用严格的通信协议与处理器S3C2440进行数据通信DS18B20数据通信协议包括传感器的初始化,数据执行ROM操作命令和存储器操作命令等。初始化协议定义复位和存在脉冲时序,数据执行协议定义处理器读0读1时序和写0写1时序,所有的命令和数据以字节发送,并且低位在前,高位在后,DS18B20数据通信时序图如图3.4所示:图3.4DS18B20数据通信时序图处理器将单线总线DQ从逻辑高电平拉为逻辑低电平时,启动一个写时序,所有的写时序必须在60µs~12µs内完成,并且两个连续的写时序之间至少需要1µs的恢复时间,在写“0”整个时序期间,总线一直保持为逻辑低电平,而在写“1”时序期间,处理器先将单线总线拉为逻辑低电平,在时序开始后15µs内将总线释放,写“0”与写“1”时序如图4.5所示:图3.5写“0”与写“1”时序图DS18B20温度采集程序设计流程图如图3.6所示:图3.6DS18B20温度采集程序设计流程图数据采集过程中驱动层所编写的主要函数如下:1:staticintds18b20_init(void);//数据初始化2:staticunsignedcharwrite_byte(void);//向DS18B20读数据3:staticunsignedcharread_byte(void);//往DS18B20写数据4:staticssize_tds18b20_read(structfile*file,char__user*buf,size_tcount,loff_t*f_pos);//读出温度值,然后利用copy_to_user函数返回给用户层。为便于调试,该驱动模块没有内核驱动方式配置,而是以模块方式配置,所以每次使用的时候必须通过运行insmoddr18b20.ko命令加载模块。温度传感器在嵌入式系统中对应的设备文件为/dev/ds18b20,首先系统调用函数intfd_ds18b20=open(“/dev/ds18b20”,O_RDWR)打开嵌入式设备中的传感器设备,打开设备失败返回-1,以后的系统函数就可以使用fd_ds18b20来对设备进行操作。关闭数字温度传感器的函数为close(fd_ds18b20)。系统通过调用read(fd_ds18b20,&result,sizeof(result))读出温度值,保存在result中,最后显示出来。3.3烟雾传感器模块的实现MQ-2气体传感器可检测多种可燃性气体,当传感器所处环境中存在可燃性气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出电压信号。根据传感器输出的电压大小判断环境中可燃性气体浓度的大小。MQ-2气体传感器输出的是电压信号,处理器要把相应的电压值转换成对应的数值,S3C2440自带了A/D转换的功能,A/D转换芯片在嵌入式系统中对应的设备文件“/dev/adc”,首先系统调用函数intfd_adctest=open(“/dev/adc”,O_RDWR)打开嵌入式设备中的A/D转换设备,打开设备失败返回-1,以后的系统函数就可以使用fd_adctest来对设备进行操作。关闭烟雾传感器的函数为close(fd_adctest)。下图是烟雾传感器的连接图。图3.7烟雾传感器接线图如上图所示,MQ-2其他传感器有6只针状管引脚,其中4个用于信号输出,2个用于提供加热电流。设传感器表面电阻是Rs,它是通过与其串联的负载电阻RL上的有效电压信号输出获得的,参考MQ-2datasheet可得二者之间的关系如式3.1所示:式(3.1)根据式4.1以及MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻式电导率的倒数,所以电阻是减小的,其特性相当于一个滑动变阻器),可以得到式4.2。式(3.2)为回路电压即电源电压,其加在MQ-2传感器的1脚、3脚之间,是传感器4脚、6脚输出电压,为传感器的体电阻。若气体浓度上升,必将导致下降。而的下降则会导致MQ-2的4脚、6脚对地输出的电压增大,所以气体浓度增大,其输出电压也会增大。S3C2440开发板的A/D转换器会把输入的模拟电压信号转换成0-1023之间的数字,转换成的数字越大,说明电压越大即烟雾浓度越大。假设程序中经过A/D转换后的数字是,在程序中可以设两个值、,假设=400,=800,若>,系统把室内的抽风机打开,把有害气体排出室外,若>,系统把蜂鸣器开起,进行报警。此烟雾报警模块的程序流程图如图3.8所示。图3.8烟雾报警模块的程序流程图3.4具有语音提示功能的密码锁防盗模块的实现本模块用到了4*4键盘作为输入设备,系统所用到的键盘实物图和电路图3.9和3.10所示。图3.94*4键盘实物图图3.104*4键盘电路图‘0’-‘9’和‘A’、‘B’、‘C’、‘D’代表16个值。在程序中用按下“#”键表示确认输入密码,用按下“*”表示删除输入。如下面图4.11所示,程序不断扫描键盘,判断是否有按键闭合,若某个按键按下,系统执行延迟去抖动代码,接着继续扫描键盘,判断用户按下了哪个按键,计算按键键值,并对按下按键进行有效标志。键盘扫描算法如图3.11所示。图3.114*4键盘扫描程序一开始在程序初始化某一个密码,程序不断检测用户输入,当用户输入正确密码时即打开门,同时系统将不再接收由红光电感器输入的中断信号,有人强行打开门时,屋内光电传感器检测到异常信号,系统执行中断服务程序,接着向ISD1760语音芯片发送触发信号进行语音报警。此模块整体程序流程图如图3.12所示。图3.12密码锁防盗门流程图。具有语音提示功能的密码锁防盗门模块在开始时先初始化外部中断,接着程序将一直查询红外传感器是否检测到信号,判断是否有中断请求,若发生中断请求,先判断用户是否输入了正确的密码打开门的,若是,则把门打开,若否,系统将触发语音报警模块运行。系统中用光电传感器来检测和发出中断信号。光电传感器是各种光电检测系统中实现光电转换的关键元件,它是把光信号(红外、可见紫外光辐射)转变成为电信号的器件。光电传感器是以光电器件作为转换元件的传感器。它可以用于检测直接引起光量变化的非电量,如光强等。如下图所示,光电传感器有三个引脚,红线和绿线分别连接电源正负极,黄线是信号输出线,当传感器没有检测到东西时,信号线输出高电平信号,当传感器感应到前方有东西时,输出低电平信号。光电传感器及其引脚图如图3.13所示图3.13光电传感器及其引脚图在正常工作时,光电传感器默认输出高电平,当有人靠近时,光电传感器输出低电平。在设计时根据这个电平跳变的特征,本文利用下降沿中断的概念,当有东西靠近传感器时将触发一次中断。通过判断光电的信号线是否有下降沿的变化从而断定是否有人靠经保险柜等重要财产。光电传感器在嵌入式系统中对应的设备文件为/dev/red_sensor,首先用intfd_redsensor=open(“/dev/red_sensor”,O_RDWR)来打开嵌入式系统中的光电传感器设备驱动,fd_redsensor是调用打开设备函数后返回的文件描述符(打开错误后返回-1),之后的函数就可以使用fd_redsensor来对设备进行操作。关闭光电传感器为close(fd_redsensor)。在QT程序中本设计用到了Timer定时器的概念,每隔一秒种查看是否有外部下降沿中断的发生,当没有发生中断时,上层应用程序读到底层硬件驱动程序中copy_to_user函数返回的数据是0,当有外部中断时,读到的数据是1。当上层QT程序判断出现下降沿中断后马上发出信号触发报警模块进行语音报警。此外,语音报警模块本系统用的是外部的录音芯片ISD1760,该语音芯片是Winbond推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。根据芯片电路把电路连接好,提前往芯片里面录好音,当检测到可能有小偷时,通过ioctl(fd_redsensor,0,1)控制输出相应的控制电平就可以达到报警的目的。3.5预防小孩坠楼模块近年来小孩坠楼现象时有发生,我们通过在窗户附近安装人体红外传感器,检测到小孩靠近窗户时将关闭窗户,小孩离开窗户后将把窗户打开,最大限度保护小孩的安全。在模型中我们只用了一个人体红外传感器,还不能准备判断是大人还是小孩靠近窗户,但在实际项目中可在不同高度安装人体红外传感器通过高度准确是大人还是小孩靠近窗户。人体红外传感器实物图和引脚接线图如图3.14和图3.15所示。图3.14人体红外传感器图3.15红外传感器引脚图接线图红外传感器上电后输出2.3V左右的电压,检测到信号后输出0V电信号,在传感器接入控制器过程中,用74LS04芯片把输入其中的信号取反,74LS04芯片是个反相器芯片,进过测试,红外传感器没检测到信号经反向器输出高电平,红外传感器检测到有信号经反相器将输出低电平信号。由此可检测是否有小孩靠近窗户而决定是否把窗户打开或关闭。下面图4.16是预防小孩坠楼模块程序流程图。图3.16窗户预防小孩坠楼模块系统开机时,初始化人体红外传感器使其正常工作,系统一直判断是否有信号输入从而判断是否有小孩靠近窗户,当有小孩靠近窗户,判断窗户是否是打开着的,若窗户已经打开,则系统触步进电机把窗户关闭,接着延迟一段时间,再判断小孩是否已经离开窗户从而决定把窗户打开或关闭。系统中用步进电机打开或者关闭窗户,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。我们采用的时28BYJ48型四相八拍电机(A-AB-B-BC-C-CD-D-DA-A。。。),电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。3.6本章小结本章首先介绍系统总体模块设计原理,然后分别描述系统各个模块的实现过程,包括GSM远程监控家电模块,数字温度采集模块,烟雾浓度采集及其报警模块,具有语音提示功能的密码锁防盗模块,窗户预防小孩坠楼模块。第4章系统测试4.1整体界面测试该智能家居系统的开发平台是友善之臂推出的mini2440开发板,它的核心控制器是S3C2440,在项目开发中用Qtopia做为应用层程序设计包括系统界面设计。Qtopia是Trolltech公司(现已被诺基亚收购)为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台,Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。下面图4.1是该智能家居系统的整体效果图。图4.1智能家居整体效果图为更好地展示作品,拍摄作品各模块功能,我们把整个系统拆分开来。在开发中,把智能家居系统设计成一个应用程序加载在mini2440的栏目下,下面图4.2螺丝刀所指向是该智能家居系统的程序图标。图4.2智能家居程序图标点击打开程序后智能家居系统控制器界面如下图4.3所示,系统界面显示室内温度情况,室内空气质量状态,正常情况下显示“Theairqualityiswell”,同时显示家电此时的工作状态。图4.3智能家居系统程序界面4.2模块功能测试4.2.1远程监控家电模块功能测试系统开机时,台灯和风扇都是关闭的,如上面图4.4和图5.5所示。在此时我们通过手机发送“tdk”命令把台灯打开。图4.4向系统发送“tdk”命令图4.5系统收到命令后把台灯打开接着通过手机短信把风扇打开,下面图5.6和5.7是把风扇打开的测试情况。图4.6发送“fsk”命令图4.7把风扇打开此时台灯和风扇都是打开着的,经过测试下面系统界面也正确显示家电的运行状态。图4.8家电工作状态此时台灯跟风扇都处于工作状态,下面向系统发送“qjk”命令监控家电的工作状态,如图4.9和图4.10所示。图4.9发送“qjk”命令图4.10系统返回家电的工作状态经过测试,此模块能正确工作。4.2.2密码锁防盗模块功能测试下面测试具有语音提示功能的密码锁防盗模块,,首先输入密码,如下面图4.11所示。输入正确密码时将把门打开,如下面图4.12所示。图4.11输入密码图4.12输入正确密码,把门打开当有非法人员用非法方式把门打开时,系统将进行语音报警,如下图所示。图4.13通过非法手段把门打开图4.14检测到异常,进行语音报警经过测试,此模块也能正常工作。4.2.3烟雾报警模块功能测试烟雾报警模块在室内空气质量良好时显示“Theairqualityiswell”;当烟雾浓雾偏高时,控制器上显示“Theairqualityisnotwell!”,同时系统把抽风机打开把室内有害气体排出室外;当烟雾浓度过高时,控制器显示“Theairqualityisbad!“,同时启动蜂鸣器进行烟雾报警。在测试时,用打火机给烟雾传感器加烟雾,测试烟雾传感器检测打火机有害气体的情况进行测试,经过测试,此功能模块正常工作。下面图4.15是烟雾传感器测试打火机气体情况,图4.16是厌恶浓度偏高时,系统同抽风机把有害气体拍到室外。图4.15把门撬开时系统将进行语音报警图4.16把门撬开时系统将进行语音报警经过测试,此模块能正确工作。4.2.4预防小孩坠楼模块功能测试该作品设计的是只能家居模型而非真正实物,在模型中我们只用了一个人体红外传感器,还不能准备判断是大人还是小孩靠近窗户,但在实际项目中可在不同高度安装人体红外传感器通过高度准确判断是大人还是小孩靠近窗户。下面图4.17是窗户开启状态,在窗户附近没有检测到人体存在,图4.18是窗户处人体红外传感器检测到有人(用手测试)靠近窗户把窗户关闭的情况。窗户处于关闭状态时,把手放开窗户,系统会自动打开,经测试,此模块能正常工作。图4.17把门撬开时系统将进行语音报警图4.18把门撬开时系统将进行语音报警第5章总结与展望5.1总结基于物联网的智能家居系统不只包含嵌入式技术的应用,同时还是一个复杂的综合性工程。在做嵌入式系统的研究的同时,还不得不从系统的角度考虑诸如网络、环保、生态等其他问题。其中涉及到的很多知识与我的专业知识相距甚远,如建筑、家电等;更加涉及到很多人文的内容。所以在作品的实现及论文的撰写过程中,都遇到了比较大的困难。这也从一个侧面反映了智能家居系统在设计和部署过程中的难度,也就可以理解为什么现在市面上的系统总是离本系统的要求相去甚远。本文所阐述的实现智能家居、园区的架构,立足于目前先进的软、硬件技术,但也没有完全摆脱传统概念的束缚。智能家居的设计必须具有前瞻性,紧密关注当前的技术发展方向,才能够确保所设计的结构、采用的技术具有扩展性和更长的生命周期。本文所提出的系统结构,引入了较先进的软、硬件技术,为进一步研究确定了方向。未来科技的发展速度是人们无法预料的,在智能家居建设方面会出现什么样的成果,也是我们所期待的。但是有一点可以肯定,随着时间的推移,我们的生活条件将会得到进一步的改善,我们的生活质量会更上一层楼。目前智能家居技术是家电领域里一个很热门的朝阳技术,基于ARM的嵌入式系统设计及开发技术也正被应用到越来越多的领域。本文将基于ARM的嵌入式开发技术应用于智能家居,设计了基于ARM的嵌入式远程智能家居监控系统。本课题主要进行了以下几个方面的工作:1.深入研究了国内外智能家居系统的现状和发展趋势,在此基础上设计了嵌入式远程家居监控系统框架。2.建立了嵌入式系统平台和开发环境,包括嵌入式Linux的裁减、移植,嵌入式Linux文件系统的制作,加载。3.设计并实现了智能家居系统的模型,该智能家居系统实现了GSM远程控制模块,温度、烟雾数据采集模块,具有语音提示功能的密码锁防盗功能模块,预防小孩坠楼模块。各个模块相互工作,不相影响,经过测试,每个模块都能正常运行。智能家居系统是个大型、复杂的系统,在研究该课题并实现智能家居系统过程中我们学习了很多相关知识,也发现了很多不足之处,比如系统界面效果欠缺友好,整体模型布线方面有待改进,智能家居系统功能还需不断完善。另外系统的稳定性、抗干扰性仍需提高。5.2展望智能家居系统是一个庞大的网络,是一个实践应用性很强的课题。要使系统能够经受实际应用的严格考验,还需要进行许多深入细致的工作,由于个人能力和客观条件的限制,论文所作的研究还存在着很多的不足之处,根据自己大四一年来从事这方面研究的经验,可以提出如下几点展望:(1)丰富家居主控制器的外围电路设计,如增加显示屏幕,还有友好的输入界面,高控制的简易性。(2)由于实验条件的限制,目前的系统调试还只是对模拟控制的调试,未能在实际家电上使用,希望以后在此方面做更多工作。(3)在安防监控设计中,本课题只实现了低速图像采集的设计,对于不断提高的需求,高速视频的采集需要用DSP等高端嵌入式芯片,嵌入式智能家居控制器研究及家居网络开发。(4)家居控制系统是一个很大的网络,有很多接入模块,本课题只对家电控制模块和图像采集模块做了设计,不仅对这两个模块需要进一步的完善,其他每个功能模块的功能都需要细心设计,建立和完善整个家居网络控制系统还需要完成大量的工作。(5)本系统还可以用于工业现场的远程控制系统。参考文献[1]
JongBongLee.Smarthome—digitallyengineereddomesticlife[J].LecturePersonalandUbiquitousComputing,2003,7(20):189~196[2]
Orpwood,R.Gibbs,C.Adlam.Thedesignofsmarthomesforpeoplewithdementiauserinterfaceaspeets,UniversalAeeessintheInformationSoeiety,2005.2(4):156一164[3]李程.基于嵌入式智能家居系统的研究[D].电子科技大学,2006年[4]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.[5]魏忠编.嵌入式开发详解[M].北京:电子工业出版社,2003:25~44[6]
曾宏安.嵌入式Linux
c语言开发[M].北京:人民邮电出版社,2009[7]
刘庆敏,张晓亮。嵌入式Linux开发详解[M].北京:北京航空航天大学出版社.2010.5[8]
宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社.2008[9]JongBongLee.Smarthome—digitallyengineereddomesticlife[J].LecturePersonalandUbiquitousComputing,2003,7(20):189~196[10]
魏永明,耿岳,钟书毅译.Linux设备驱动(第三版)[M].北京:中国电力出版社.2006[11]
陈莉君,康华译.linux内核设计与实现[M].北京:机械工业出版社.2011[12]
陈莉君,张琼声,张宏伟译.Linux内核详解[M].北京:中国电力出版社.2007[13]廖秋香.基于ZigBee技术的智能家居安防系统设计研究[J].科技信息,2012,08:16.[14]杨靖,林益,李捍东.基于ARM和WSNs的智能家居安防系统设计[J].自动化仪表,2012,03:38-41.[15]李子云.基于无线网络的智能家居安防系统[J].微处理机,2012,01:31-33+36.[16]黄伟雄,张达勇,缪国栋,佘美生,李红莲.智能家居系统升级家居安防渐入佳境[J].中国安防,2012,05:54-59.[17]李元元.基于Android平台的智能家居安防系统设计[J].制造业自动化,2012,12:138-140.[18]刘学会,田珍.基于物联网的智能家居安防监控系统设计与实现[J].制造业自动化,2012,17:38-40+56.[19]王彤.嵌入式智能家居安防监控系统探讨[J].信息技术与信息化,2014,09:114-116.[20]江丹丹,唐煜程,唐冬.一种基于ZigBee及GSM混合网络的轻智能家居安防系统设计[J].现代电子技术,2015,03:6-8+12.[21]李立新,李艳文,蔡刚毅,储海滨.基于物联网技术的智能家居安防系统的研究与开发[J].控制工程,2015,05:1001-1005.[22]梁连伟,李钦,张彪,李爱宁.智能家居安防系统[J].传感器世界,2013,01:27-31.[23]马乾.浅谈智能家居安防监控系统的设计及软件实现[J].中国新通信,2013,10:86+91.[24]蒋天发,文莹莹,杨红,钱凯,李珊珊,牟群刚.基于物联网的智能家居安防监控系统软件开发[J].中南民族大学学报(自然科学版),2014,03:105-109.[25]孙少华,王旭峰,黄思源,冯娟,白昱炜,李兴武,苗凤娟.基于WSN的智能家居安防系统设计[J].齐齐哈尔大学学报(自然科学版),2016,04:12-15.
传感器驱动程序还有代码,1模块加载
staticstructi2c_driverbma250_driver={
.class=I2C_CLASS_HWMON,
.driver={
.owner
=THIS_MODULE,
.name
=SENSOR_NAME,
},
.id_table
=bma250_id,
.probe
=bma250_probe,
//注册完成时调用
.remove
=bma250_remove,
.address_list
=u_i2c_addr.normal_i2c,
//IIC地址};staticint__initBMA250_init(void){
if(gsensor_fetch_sysconfig_para()){
//解析sys_config1.fex文件
printk("%s:err.\n",__func__);
return-1;
}
bma250_driver.detect=gsensor_detect;
ret=i2c_add_driver(&bma250_driver);
//开始向IIC注册}staticvoid__exitBMA250_exit(void){
i2c_del_driver(&bma250_driver);}module_init(BMA250_init);module_exit(BMA250_exit);
内核加载驱动模块的时候将调用到BMA250_init()方法n
初始化了i2c_driver结构体给bma250_driver变量,将用于将设备注册到IIC。关键在于结构体中的probe()方法,注册完成的时候将调用n
调用gsensor_fetch_sysconfig_para()解析sys_config1.fex文件,读取到IIC的地址,并赋值给u_i2c_addr.normal_i2c。n
调用i2c_add_driver开始向IIC注册driver,完成注册后将调用bm250_probe()方法
2bma250初始化工作-probe
staticintbma250_probe(structi2c_client*client,
conststructi2c_device_id*id){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液压元件及液压系统制造工保密能力考核试卷含答案
- 船舶钳工操作安全能力考核试卷含答案
- 栲胶蒸发工安全宣传知识考核试卷含答案
- 采油地质工岗中协同配合考核试卷含答案
- 听觉口语师操作安全评优考核试卷含答案
- 合成氨生产工岗前品牌建设考核试卷含答案
- 绒线编织工岗前工作流程考核试卷含答案
- 白蚁防治工技术突破测试考核试卷含答案
- 中药煎膏剂工岗前事故处理考核试卷含答案
- 比赛试题及答案制作全流程指南
- 2026年全国保密教育线上培训考试题(含答案)
- 人行天桥钢结构安装施工方案
- 污水处理厂进水异常应急处置方案培训
- 2026年秋季开学高中开学第一课(消防安全)课件
- 2026全国第二届班组长大赛(国防赛道)初赛理论参考题库(含答案)
- (2026年)过敏性休克抢救流程课件
- 地铁票务系统运维员岗位招聘考试试卷及答案
- 2026年秋季学期苏教版新版六年级上册科学教学计划含教学进度表
- 2026年高考语文真题全国Ⅱ卷《打橘子》详尽解析
- 教师节表彰大会主持稿范例
- 人保培训制度
评论
0/150
提交评论