嵌入式系统在智能家居中的应用41chrt.docx
新疆工程学院毕业设计新疆工程学院毕 业 论 文题 目: 嵌入式系统在智能家居 中的应用 院(系): 计算机工程系 专业年级 : 通信技术10-02 姓 名 : 魏文华 学 号 : 2010230083 指导教师 : 贾勇 2013年04月1727论文题目:嵌入式系统在智能家居中的应用专 业:通信技术毕 业 生:魏文华 (签名) 指导老师:贾勇 (签名) 计算机工程 系毕业答辩情况记录表答辩人姓名魏文华班 级通信10-02专 业通信技术设计题目嵌入式系统在智能家居中的应用指导老师贾勇答辩日期2013年 4 月 17 日答辩时间时 分 时 分自述回答问题 小结 答辩组长: 年 月 日新疆工程学院毕业设计(论文)评定意见书设计(论文)题目:嵌入式系统在智能家居中的应用专 题: 设 计 者:姓名 魏文华 专业 通信技术 班级 通信10-02 设计时间: 年 月 日 年 月 日指导教师:姓名 职称 单位 评 阅 人:姓名 职称 单位 评定意见:评定成绩:指导教师(签名): 年 月 日评阅人(签名): 年 月 日答辩委员会主任(签名): 年 月 日新疆工程学院毕业设计(论文)任务书一、 题目:嵌入式系统在智能家居中的应用二、 指导思想和目的:三、 设计任务或主要技术指标:四、 设计进度与要求:五、 主要参考书及参考资料:专业班级: 学生: 指导教师: 年 月 日教研室主任(签名): 系(部)主任(签名): 年 月 日摘 要智能家居,又称智能住宅。它是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。与智能家居的含义近似的还有家庭自动化、电子家庭、 数字家园、网络家居,智能家庭/建筑等。智能家居也可以定义为一个系统。利用计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。本设计是基于ARM9的智能家居监控模块设计与实现,我们采用ARM9 内核的S3C2410处理器为控制芯片,将软件下载到硬件平台来对家电进行本地和远程控制。硬件系统主要有GSM通讯模块和ARM9系统板两个部分组成。而系统软件主要完成各个模块之间交互通信的功能。关键词:ARM9;智能家居;远程控制目 录1 绪论11.1 目的与意义11.2 研发背景21.2.1 ARM介绍21.2.2 嵌入式Linux介绍21.2.3 GSM介绍32嵌入式系统开发概述52.1 嵌入式系统概述52.2 嵌入式系统的特点52.3 嵌入式系统的基本组成72.3.1 嵌入式处理器72.3.2嵌入式外围设备82.3.3嵌入式软件82.3.4 嵌入式操作系统83 智能家居概述93.1 研究背景93.2.研究现状94 需求分析104.1 用户需求104.2 需求分析104.2.1 GSM信息接收处理114.2.2 处理信息及画面显示114.2.3 系统结构框图115 智能家居基本模块及解决方案125.1 智能家居的基本功能模块125.2 家庭对外通信模块125.3 家庭网关模块135.4 家庭安全防范模块145.5 家庭设备自动控制模块146 模拟实现硬件、软件设计166.1 硬件选型166.2 模拟实现软件设计166.2.1 获取短信内容模块177 智能家居的发展趋势227.1 功能需求将决定智能家居未来发展趋势227.2 智能家居网络家庭技术发展趋势24结 论26参 考 文 献27致 谢281 绪论当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引领新一代的数字家庭生活。目前,智能家居在全球都呈现良好的发展趋势。国外,智能家居在美国、德国、新加坡、日本等国都有广泛应用。在国内,智能家居已经走过了“概念期”,正是基于对智能家居市场发展前景的展望,使得智能家居不断地纳入各研发单位、房产开发公司等。他们正是基于对这个难得机遇的意识,开始为研究和开发相关系统和产品进行先期的部署和规划,越来越多的企业开始介入智能家庭网络这个全新的领域。1.1 目的与意义本设计是基于ARM9的智能家居监控模块开发与实现,我们采用ARM9 内核的S3C2410处理器为控制芯片,再将Linux系统移植到硬件平台上,然后设计好相应的驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。系统主要有GSM通讯模块和ARM9系统板两个部分组成。而系统软件主要完成各个模块之间交互通信的功能。智能家居与普通家居相比,它不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间,还由原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。智能家居是数字家庭的一部分,只有将智能控制和上网功能集成起来,才形成真正意义上的数字家庭。数字家庭涉及的领域将综合生活中的娱乐、工作、投资理财、学习、医疗、教育等,是实现家庭内部、家庭和社会的实时性沟通的综合系统。数字家庭伴随着无线而产生,也使无线技术得到了充分的应用和体现。1.2 研发背景1.2.1 ARM介绍ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得 ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。1.2.2 嵌入式Linux介绍Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一;可与各种传统的商业操作系统分庭抗争。越来越多的企业和研发机构都转向嵌入式Linux的开发和研究上,在新兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式linux,是将日益流行的Linux操作系统进行裁剪修改使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Interlnet上无限的开放源代码资源 ,又具有嵌入式操作系统的特性 。嵌入式Linux的特点:第一,Linux系统是层次结构且内核完全开放。Linux是由很多体积小且性能高的微内核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的应用需要方便地对内核进行改造,低成本地设计和开发出满足自己需要的嵌入式系统。第二,强大的网络支持功能。Linux诞生于因特网时代并具有Unix的特性,保证了它支持所有标准因特网协议,并且可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。第三,Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具的障碍。传统的嵌入式开发的程序调试和调试工具是用在线仿真器实现的。它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,完成监视和调试程序;但一般价格比较昂贵,只适合做非常底层的调试。使用嵌入式Linux,一旦软硬件能够支持正常的串口功能,即使不用仿真器,也可以很好地进行开发和调试工作,从而节省一笔不小的开发费用。第四,Linux具有广泛的硬件支持特性。Linux支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元的处理器上运行。这意味着嵌入式Linux将具有更广泛的应用前景。1.2.3 GSM介绍 GSM全名为:Global System for Mobile Communications,中文为全球移动通讯系统,俗称"全球通",是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。我国于20世纪90年代初引进采用此项技术标准,此前一直是采用蜂窝模拟移动技术。GSM(全球移动通信系统)是一种广泛应用于欧洲及世界其他地方的数字移动电话系统。GSM使用的是时分多址的变体,并且它是目前三种数字无线电话技术(TDMA、GSM和CDMA)中使用最为广泛的一种。GSM将资料数字化,并将数据进行压缩,然后与其它的两个用户数据流一起从信道发送出去,另外的两个用户数据流都有各自的时隙。GSM及其他技术是无限移动通信的演进,无线移动通信包括高速电路交换数据、通用无线分组系统、基于GSM网络的数据增强型移动通信技术以及通用移动通信服务。 (1)GSM使用上直观的特点: GSM系统有几项重要特点:防盗拷能力佳、网络容量大、手机号码资源丰富、通话清晰、稳定性强不易受干扰、信息灵敏、通话死角少、手机耗电量低。 (2)GSM的技术特点:1. 频谱效率。由于采用了高效调制器、信道编码、交织、均衡和语音编码技术,使系统具有高频谱效率。2. 容量。由于每个信道传输带宽增加,使同频复用栽干比要求降低至9dB,故GSM系统的同频复用模式可以缩小到4/12或3/9甚至更小(模拟系统为7/21);加上半速率话音编码的引入和自动话务分配以减少越区切换的次数,使GSM系统的容量效率(每兆赫每小区的信道数)比TACS系统高35倍。3. 话音质量。鉴于数字传输技术的特点以及GSM规范中有关空中接口和话音编码的定义,在门限值以上时,话音质量总是达到相同的水平而与无线传输质量无关。4. 开放的接口。GSM标准所提供的开放性接口,不仅限于空中接口,而且报刊网络直接以及网络中个设备实体之间,例如A接口和Abis接口。5. 安全性。通过鉴权、加密和TMSI号码的使用,达到安全的目的。鉴权用来验证用户的入网权利。加密用于空中接口,由SIM卡和网络AUC的密钥决定。TMSI是一个由业务网络给用户指定的临时识别号,以防止有人跟踪而泄漏其地理位置。6. 在SIM卡基础上实现漫游。漫游是移动通信的重要特征,它标志着用户可以从一个网络自动进入另一个网络。GSM系统可以提供全球漫游,当然也需要网络运营者之间的某些协议。2嵌入式系统开发概述2.1 嵌入式系统概述 嵌入式系统是外延非常广泛的的名词,凡是具有嵌入式特征的计算机应用系统都可以称为嵌入式系统,所以很难给它一个十分准确的定义,业界有多种不同的关于嵌入式系统的定义。国内普遍接受的嵌入式系统的定义为:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。该定义更能体现嵌入式系统的基本特征。首先该定义突出了嵌入式系统是面向应用的,与具体的应用结合才能体现嵌入式系统存在的必要性,不同的嵌入式系统具有不同的功能和要求。2.2 嵌入式系统的特点由于嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统。同样是计算机系统,嵌入式系统是针对具体应用设计的“专用系统”。它的硬件和软件都必须高效率地设计、量体裁衣、去除冗余,力争在较少的资源上实现更高的性能。它与通用的计算机系统相比具有以下显著特点:1) 嵌入式系统通常是面向特定任务的嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统。嵌入式系统微处理器大多非常适合于工作在为特定用户群所设计的系统中,称为“专用微处理器”,它专用于某个特定的任务,或者是很少几个任务。2) 嵌入式系统运行环境差异很大嵌入式系统无所不在,但运行环境也差异很大,可运行在飞机上、冰天雪地的两极中、骄阳似火下的汽车里、要求温湿度恒定的科学实验室等。特别是在恶劣的环境或突然断电的情况下,要求系统仍然能够正常工作。3) 嵌入式系统比通用PC系统资源少得多通用PC系统有数不胜数的系统资源,可以轻松完成各种工作。你可以在自己的PC机上编写程序的同时播放MP3、CD、下载资料等等。而控制GPS接收机的嵌入式系统,由于是专门用来执行很少的几个确定任务,它所能管理的资源比通用PC系统少得多。当然这主要是因为在设计时考虑到经济性,不能使用通用CPU。这就意味着所选用的CPU只能管理很少的资源,它的成本更低、结构更简单。4) 低功耗、体积小、集成度高、成本低嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求,一般的嵌入式系统具有低功耗、体积小、集成度高、成本低等特点;嵌入式系统的硬件和软件都必须高效率地设计,在保证稳定、安全、可靠的基础上量体裁衣,去除冗余,力争用较少的软硬件资源实现较高的性能。这样,才能最大限度地降低应用成本,从而在具体应用中更具有市场竞争力。5) 高效、可靠、稳定建立完整的嵌入式系统的系统测试和可靠性评估体系,保证嵌入式系统高效、可靠、稳定工作;嵌入式应用的复杂性、繁杂性要求设计的代码应该是完全没有错误的,怎样才能科学、完整的测试全天候运行的嵌入式复杂软件呢?首先,需要有科学的测试方法,建立科学的系统测试和可靠性评估体系,尽可能避免因为系统的不可靠造成巨大损失。其次,引入多种嵌入式系统测试方法和可靠性评估体系。在大多数嵌入式系统中一般都包括一些机制,比如看门狗定时器,它在软件失去控制后能使之重新开始正常运行。6) 具有较长的生命周期嵌入式系统是和实际具体应用有机结合的产物,它的升级换代也是和具体产品同步进行的。因此,一旦定性进入市场,一般具有较长的生命周期。7) 目标代码通常是固化在非易失性储器中嵌入式系统的目标代码通常是固化在非易失性储器(ROM/EPROM /FLASH)中;嵌入式系统开机后,必须有代码对系统进行初始化,以便其余的代码能够正常运行,这就是建立运行时的环境,比如初始化RAM放置变量、测试内存的完整性、测试ROM完整性以及其他初始化任务。为了系统的初始化,几乎所有的系统都要在非易失性存储器(现在普遍使用Flash)中存放部分代码(启动代码)。为了提高执行速度和系统可靠性,大多数嵌入式系统也常常把所有的代码(也常常使用所有代码的压缩代码)固化、存放在存储器芯片或处理器的内部存储器件中,不使用外部的磁盘等存储介质。8) 一般是实时操作系统(RTOS),系统有实时约束嵌入式系统往往对时间的要求非常严格,嵌入式操作系统一般是RTOS。嵌入式实时操作系统随时都要对正在运行的任务授予最高优先级。嵌入式任务是时间关键性约束,它必须在某个时间范围内完成,否则由其控制的功能就会失效。9) 嵌入式软件开发走向标准化嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。10) 需要专用开发工具和方法进行设计从调试的观点看,代码在ROM中意味着调试器不能在ROM中设置断点。要设置断点,调试器必须能够用特殊指令取代用户指令,嵌入式调试己经发展出支持嵌入式系统开发过程的专用工具套件。2.3 嵌入式系统的基本组成嵌入式应用软件嵌入式处理器嵌入式外围设备嵌入式操作系统嵌入式硬件平台嵌入式系统由硬件和软件两大类组成,其基本组成如图2-1 所示。 图2-1 嵌入式系统的基本结构图2.3.1 嵌入式处理器嵌入式处理器是嵌入式系统的核心,负责控制整个嵌入式系统的执行。嵌入式与处理器与通用处理器最大的不同点在于,嵌入式CPU大多在为特定用户群所专门设计的系统中工作,它将通用CPU中许多由板卡完成的任务集成到芯片内部,从而实现嵌入式系统的小型化,使系统具有高效率和可靠性。嵌入式微处理器具有对实时多任务有很强的支持能力;具有功能很强的存储区保护能力;可扩展的处理器结构,以满足快速地开发出满足应用需要的最高性能的嵌入式微处理器;功耗低等特点。2.3.2嵌入式外围设备在嵌入式系统硬件系统中除了中心控制部件以外,嵌入式系统与真实环境交互的各种设备,包括存储设备、输入设备、输出设备等都属于嵌入式外围设备。目前常用的外围设备按功能可以分为存储设备、通信设备和显示设备三类。实际环境中,嵌入式设备的硬件配置非常灵活。除了CPU和基本外围电路外,其余部分都可以剪裁。2.3.3嵌入式软件嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件,由于用户任务可能时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。2.3.4 嵌入式操作系统嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的工能。在所有的操作系统中,Linux是一个发展最快、应用最广泛的嵌入式操作系统。Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,在新兴的嵌入式操作系统领域内获得了飞速发展。3 智能家居概述3.1 研究背景 21世纪是信息技术高速发展的时代,社会的信息化唤起了人们对住宅智能化及家居智能化的要求,智能住宅己成为中国房地产市场的主流。计算机行业和家电行业、电信行业、安防监控行业的互相渗透、互相融合,使信息时代的未来家居生活逐步成为现实。 智能家居(Smart Home),又称智能住宅。通俗地说,是利用先进的计算机、嵌入式系统和网络通讯技术,将家庭中的各种设备(如照明系统、环境控制、安防系统、网络家电)通过家庭网络连接到一起。一方面,智能家居将让用户有更方便的手段来管理家庭设备,比如,通过无线遥控器、电话、互联网或者语音识别方式控制家用设备;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户控制也能根据不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。 与普通家居相比,智能家居不仅具有传统的居住功能,即提供舒适安全、高品位且宜人的家庭生活空间,还提供全方位的信息交互功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性。3.2.研究现状 在我国,智能化住宅和智能化家居虽然起步比较晚,但发展速度很快。80年代,我国居住条件非常困难,根本谈不上智能化的问题。80年代初所建成的住宅,其电器设计内容仅在以下方面:楼房照明系统、高层供水泵控制系统和消防泵控制系统。生活用水的计量则主要是按户或按人口数收费。弱电系统也是从80年代开始才陆续设置电话配线和公用电视天线系统。80年代末90年代初,我国家庭基本实现电器化,住宅内的弱电系统有所增加,如对讲系统等。到了90年代末,电脑、有线电视、机顶盒、移动通信等数字化通信产品开始走进家庭。4 需求分析4.1 用户需求1系统需要完成的任务有:接收和处理单片机发送过来的传感器信息;处理传感器信息并通过短信发送给手机;通过GSM接收和发送短信数据;分析处理接收到的短信,得出相应操作信息发送给单片机并将操作反馈给手机;在TFT-LCD上构建图形窗口,建立操作界面。2.设计原则(1)智能家居注重满足人们在方便性和舒适度方面的需求,如:遥控功能(遥控控制家居范围内所有的灯,窗帘及其他电气设备),网络化控制、场景控制,本地控制等。 (2)高性价比。在系统设计中要充分考虑系统的性能和价格的要求,使系统在较低成本的条件下,尽可能满足用户需求。 (3)通用性。目前所有的智能家居技术都处于发展阶段,所以系统设计时,要注意选择兼容性好,符合国际通用协议的技术。 (4)兼容性和可扩展性。随着智能家居技术的不断发展,会有越来越多的家居智能化产生,因此,在智能家居系统的设计之初,就必须考虑系统未来的兼容和发展。(5)布线简洁。易于安装,符合大多数人的习惯。(6)安全性。包括所进行设计运行过程的安全性和耐久性4.2 需求分析本设计主要解决接收和发送短信并在TFT-LCD上显示。由于监控程序运行在嵌入式Linux下,这就涉及到Linux下与GSM模块通信问题。4.2.1 GSM信息接收处理基本功能为初始化Linux串口配置,接收串口发送过来的信息,进行字符串分析处理,分离出当前信息,以备图形窗体程序使用。4.2.2 处理信息及画面显示基本功能包括实现直观的窗体界面,显示当前传感器状态值,显示接收到的短信,。4.2.3 系统结构框图根据上述分析,系统的硬件结构框图如图4-1所示:图4-1 系统硬件结构框图5 智能家居基本模块及解决方案5.1 智能家居的基本功能模块 目前的智能家居行业,首先,处于一个初始发展时期,国际社会暂时还没有形成一个公认的标准;其次,智能家居的应用场所一家庭住宅或住宅小区,不同的实际环境也对智能家居提出了不同的要求与解决办法;此外,居民都希望能够对智能家居进行个性化配置,满足自身的特殊需求。这样的形势,致使开发商在实施智能家居时的方式、范围及侧重点也不尽相同。有些用户比较注重家电的智能控制,而有些用户可能更加关心家庭安全防范,还有些用户则希望建立相对全面的智能家居系统,满足多方面的需求。功能模块见下图。图5-1 功能模块图5.2 家庭对外通信模块 智能家居的最终目的都是为“满足人们对舒适、方便、高效和符合绿色环境保护的需求”,其中“方便”要求家庭内部系统能够通过家庭对外接口,实现家庭外部的远程控制。家庭对外通信模块的作用在于此,它在智能家居系统中扮演着非常重要的角色。具体来讲,该模块的功能是提供一个家庭内部与外部的通信链路,通信的内容是数据信息或指令信息,常用的通信媒介有电话、GSM短信、Internet等。随着新技术的发展,家庭对外通信模块从功能和方式上得到了丰富:功能上,过去只是完成简单指令信息的单方传输,现在更多的是提供数据信息的通信,包括通信交流、商务、娱乐、教育、医疗保险等;方式上,从电话通信到Internet通信,再到GSM手机短信通信,越来越体现出通信方法的多样化和简便化。本设计选择将GSM短信与Internet相结合的方式作为智能家居远程控制方式,也就是将手机短信通过Internet发到能连网的家庭网关上,当然这需要用到一个中介:SP技术。 这种设计主要基于以下几点考虑: (1) GSM短信不受环境限制,只要手机有信号的地方都可以随时随地发送,而且其成本低廉,所以应该充分利用; (2) GSM短信控制方式,大多数设计者都是利用在家庭网关上插GPRS模块来实现家庭网关与手机之间的通信,这样做有两大缺点:一是增加GPRS模块就增加了系统的成本,二是对GPRS的驱动开发增大了开发的难度。 (3)近年来新出现的SP中介组织使短信在Internet上传输成为可能,而且它还提供方便的程序接口,帮助用户在能连网的PC机或嵌入式网关上获取短信内容,进而实现GSM短信的控制功能。同时,使用SP服务收费低、也免去了对硬件的驱动开发。5.3 家庭网关模块家庭网络就是在家庭内部通过适当的组网技术把家庭网关与其他设备组成可以进行信息交换的内部网络,并通过家庭网关与外部网络相连,形成面向家庭的业务提供平台。在智能家居的实现过程中,家庭网关占据至关重要的位置。家庭网关是连接外部公网和家庭私网的关口,既负责家庭内部对公网的访问和交互,又负责用户从公网上对家庭网络的访问和控制,另外还要负责家庭内部设备的互连、互控等操作,因此,家庭网关成为智能家居研究的重点。本设计是选择三星公司生产的S3C2410芯片作为嵌入式家庭网关。之所以选择该芯片是基于以下几点考虑; (1)它带有MMU,支持Windows CE和大部分的Linux操作系统; (2)它主频达到202MHZ,能够满足一般家庭网关数据传输的需要; (3)它具有三通道的UART口,为红外通信提供接口; (4)它大约有上百个GPIO口可供用户使用,使多个家用电器的接入网关成为可能; (5)它还有一个以太网口,使家庭网关能够轻松接入Internet。5.4 家庭安全防范模块安全防范就是保障人们在生产、生活和一切社会活动中人身生命、财产和生产、生活设施不受侵犯,防止侵害行为的总称。智能家居在满足人们舒适、方便生活的同时,也要求为家庭提供安全防范方面的保障。它包含的内容有防止入侵、盗窃、破坏、爆炸等,它的原则是“以防为主,打防并举”,安全防范工作贯彻“人防、技防、物防”相结合的方针政策。因此,智能家居将家庭安全防范模块定义为其四个基本要素之一。设计将安全防范的内容分为两部分,分别是家庭内部环境安全、家庭对外非法入侵预防,这两方面都体现了现代技术在智能家居中的应用。设计中,由于条件等的限制,并没有对安防模块进行实验。在此提出一套可行的安防方案,可供以后继续研究实践:(1)住宅内部采用被动红外探测器、可燃气体探测器、温/湿度传感器;(2)住宅外部可选择窗磁、门磁开关、红外探测器、玻璃破碎探测器、双鉴探测器等;(3)住宅内外部的探测装置与报警控制器通过无线方式相连;(4)报警控制器与中心控制器通过有线方式相连。5.5 家庭设备自动控制模块智能家居的初衷是解决家庭设备的自动控制问题,将更多的设备通过某种方式连接,达到统一、集中控制,为家庭生活带来方便。因此,现代智能家居的最基本的功能需求体现在家庭设备的自动控制,家庭设备自动控制模块也就成为其最基本的模块。智能家居控制系统凭借各种检测设备来收集外界数据,将收集的数据交给以ARM为核心的嵌入式系统进行处理和运算,通过RS485总线管理和控制各控制终端,并进行处理、自动控制和调节。智能家居控制系统实现的具体功能包括:(1)家用设备的数据采集、处理和反馈。(2)本地控制。用户通过控制系统上的键盘和显示屏,对家用设备进行监控。(3)远程控制。用户可以发送手机短信或通过互联网对家庭系统进行查询和控制。(4)自动报警。当检测到非法闯入或温度超高等报警信号时,及时触发室内报警装置,并通过发送报警短信等方式及时通知用户。(5)温度查询。(6)防盗门密码设置。(7)红外加电控制。(8)灯具等开关量控制。(9)“三表”远程自动抄送与门禁功能。对不同的家庭设备,设计给出了不同的解决方案: (1)对于电饭锅、电灯一类的开关量家庭设备,建议采用以继电器为核心的控制电路控制。具体方案为首先将继电器、二极管、三极管、限流电阻等连接成一个控制电路,然后将继电器的一个电源脚接到开发板的S3C2410芯片的一个GPIO引脚上,继电器的另一个引脚接VCC,这样,可以通过烧写在S3C2410中的程序,来控制GPH1输出高低电平,进而控制继电器的吸合、断开,然后由继电器来控制家用电器的开关。 (2)对于电视机、空调一类提供红外接口的家庭设备,通过统一的红外控制器控制;可行的方案是采用红外模块,红外模块可直接与S3C2410的UART口相连,这样由S3C2410中的程序来发送和接收红外数据。可能涉及到的程序有红外驱动程序、发送数据程序、接收数据程序等。(3)对于信息家电,首先通过网络接口接入家庭以太网,如果信息家电支持家电生产厂商的远程服务,智能家居系统便可以减少对它的操作,如果不支持,则需要借助于信息家电提供的以太网交互命令,通过智能家居系统执行相关操作。6 模拟实现硬件、软件设计6.1 硬件选型 硬件是该系统实现的基础,硬件选型是模拟实现的基础。目前的市场上,智能家居解决方案中主控系统有三种选择:(1)购置一台PC机专门用做家庭网关;(2)购置单片机,自己动手连接电路,开发家庭网关;(3)购置一款适合自己要求的嵌入式开发板做家庭网关。基于单片机的家庭网关,虽然成本低,但其控制执行的效率往往不能够满足客户需求。而嵌入式开发板不仅价格适中,而且执行效率也能满足广大家庭用户的需求。因此,选择嵌入式开发板作为系统的控制中枢。ARM开发板是近几年来备受关注的热点,该开发板有着丰富的硬件资源和软件资源,同时有很多实验用例有利于二次开发者更好的理解、学习和应用。 智能插座方面,核心是采用了一个5V的电压继电器,该继电器不仅连接电路简单、易控制,同时成本低廉,经多方使用证明,该继电器适用于智能家居系统的具体实现。 红外控制方面,采用了一个USB口的红外适配器,出于成本考虑,并没有采用品牌的红外适配器,而是选用了市场上一个普通的红外适配器,这样更有利于开发通用的红外驱动,使开发成果更有广泛的应用空间。 另外,为了实现对红外适配器的控制,还配置一个电视遥控器,该遥控器可以发出红外适配器能够接收并处理的信号。以上硬件选型的共同原则是:稳定、操作方便、通用性强且成本低廉,前提都是能够满足模拟实现的基本要求。 6.2 模拟实现软件设计软件部分主要体现在S3C2410芯片中,主要包括:获取短信内容模块、短信解析模块。目前嵌入式开发用的最多的是Linux操作系统和C语言。Linux操作系统具有原码开放的优点,而且可以在几乎所有嵌入式微处理器上运行。C语言编制的程序具有很好的可移植性,程序易读易修改,有丰富的库函数支持。6.2.1 获取短信内容模块获取短信内容模块包括两个子模块:接收短信和提取短信内容模块。以下对这两个模块进行详细描述。1. 接收短信模块传统方式的手机短信发送和接收的流程是这样的:手机编辑好短信后,按照协议规定把短信打包,包内包含短信内容,目的地号码,编码格式,类型等信息,然后发送给基站,基站收到数据包后,把它转发给短信中心(MSC),短信中心再根据短信的目的地号码派发给此号码所在的基站,基站再发给手机终端。手机终端收到短信后按照协议规定的格式解码,然后提示用户收到短信。1)设计中选择的SP公司是上海讯越公司,首先到该公司的网站申请一个免费测试帐号,申请到测试帐号的同时,还会分给用户四个号码,分别对应移动、联通、网通和电信,这四个号码用户可以当它就是手机号,如果你是移动的手机卡,就把你的短信发到对应的移动号,如果是联通的手机卡,就把短信发到对应的联通号等等。用户还需在该公司的网站上下载对应操作系统的程序接口。由于设计中使用的是Linux操作系统,所以就下载Linux接口。用户需在网站上下载对应操作系统的程序接口。Linux接口下载的程序包里有一个很重要的“postmsg30.h”文件,该头文件中包含了很多用户可能用到的函数声明,其中有一个函数的声明为: int GetMoMessage (const char *username,/*短信帐号*/ const char *password,/*密码*/ char *message);/*出参-从服务器上返回的回复短信*/ 该函数的功能是:从服务器上获取回复短信。它的返回值有七个数值: (1)返回0表示“成功”; (2)返回一1表示“配置文件错误”; (3)返回一2表示“入口参数错误”; (4)返回一3表示“网络错误”; (5)返回一5表示“内容超长”; (6)返回一6表示“用户密码错”; (7)返回一99表示“其他错误” 用户在程序中可以循环检测GetMoMessage的返回值是否为0,一旦为0,就可以打印message得到短信的各种信息,包括发送短信的手机号,收到短信的时间和短信的内容等等。2) 接收短信模块的程序流程图如下:开始初始化接口函数输入用户名输入密码将参数传递给接口函数接口函数返回0初始化内存空间将出参存到内存打印出参是否退出结束返回错误信号图6-1短信接收模块流程图 程序首先需要用户输入用户名、密码,然后将用户名、密码传递给接口函数,并同时调用接口函数;由接口函数来判断,网络是否正常,如果网络错误,返回-3;如果网络正常,那么判断是否是合法用户,如果不是合法用户,返回错误号-6;如果是合法用户,则判断是否有短信息发来,如果有短信,将短信存到message字符数组中,无短信发来,message数组为空,返回0,结束。3) 核心代码void Execes GetMoMessage(void)char usenameS_BUFSIZE;char passwordS_BUFSIZE;int nResult;printf("#n");printf("# GetMoMessage() #n");printf("#