基于智慧小区的智能家居的设计与实现60页.docx
下载文档
上传人:地**
编号:1286044
2024-12-17
60页
814.89KB
该文档所属资源包:
智慧小区物业管理系统解决方案合集
1、分类号 学号 M200976092学校代码 1 0 4 8 7密级 硕 士 学 位 论 文基于智慧小区的智能家居的 设计与实现学位申请人:刘甜学 科 专 业:软件工程指 导 教 师:黄立群副教授答 辩 日 期:2011.12.22A Thesis Submitted in Partial Fulfillme nt of the Requirements for the Degree for the Master of EngineeringThe Design and Implementation of Smart Home Base on Intelligent VillageCandida2、te: Liu TianMajor: Software Engineering Supervisor: Assoc. Prof. Huang LiqunHuazhong University of Science and Technology Wuhan 430074, P. R. ChinaDecember, 2011独创性声明本人声明所呈交的学 位论文是我个 人在导师指导下 进行的研究工 作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰 写过的研究成果 。对本文的研究 做出贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本3、声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本论文属于保密,在 年解密后适用本授权书。 不保密。(请在以上方框内打“”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日华中科技大学硕士学位论文摘要随着计算机网络以及嵌入式技术的发展,以及三网融合的推动作用,智能化系 统已逐步用于4、住宅小区和家居。智能化住宅是在原有建筑物基础上集成智能化应用。智能化住宅是科技和智慧发展的产物。使得人们家居生活更加安全可靠、高效便利、 舒适健康。智能住宅系统作为智能小区的组成细胞,是智能化系统的重要组成部分。 随着智能住宅技术在实现成本上大幅度降低,以及人们对智能化和舒适化的生活永 不停步的追求。可以预见,不远的将来智能住宅市场必将迎来它的繁荣发展阶段。 同时,智能住宅技术在我国还有很大的发展空间,还有很多工作要做。从这点出发, 提出了基于智慧小区的智能家居系统的设计与开发。系统通过嵌入式 ARM 作为智能住宅主控制平台以及单片机模拟家居设备,在嵌 入式平台上实现了相应的主控模块。主控模块5、实现了家居家电智能控制,家居安全 监控以及安全报警信号的接收与控制。外部通信方面,对于远程通信,采用在嵌入 式平台上搭建 Web 服务器来实现网页对家居设备的远程控制,以及家居环境的监控, 并可在网页上查看异常报警情况;对于近距离通信,采用 Windows Mobile 手机蓝牙 控制器。在手机方面,通过 Windows Mobile 6.5 模拟器开发蓝牙遥控控制家居设备 的应用程序,该程序可以无条件的移植到实体的 Windows Mobile 手机上;在嵌入式 平台方面,通过蓝牙模块开发相应的接收控制命令应用程序,以及命令响应程序来调用主控模块对家居设备进行控制和监控。通过对智能住宅的远程6、和近距离通信的实现,给人们提供了高效、便捷的居家 环境。关键词:智能住宅嵌入式 Web 服务器蓝牙技术Windows Mobile 模拟器I华中科技大学硕士学位论文AbstractWith the development of computer network and embedded technology, as well as the promoting of three nets fusion, the intelligent system has been gradually used in residential area and home. Smart home makes hom7、e life more safety and reliable, efficient and convenient, comfortable and healthy. Intelligent residential technology in the realization cost greatly reduced, at the same time, people will never stop pursuit of the life of intelligent and comfortable change. Can be expected, the near future it will8、 usher in the smart home market prosperity and development stage. At the same time, smart home technology in our country there is still much room for development, there are a lot of work to do.This system through the embedded ARM as intelligent residential master control platform and single-chip mic9、rocomputer simulate household equipment, Master control module implements household electrical appliances intelligent control, household safety monitoring and security alarm signal receiving and control. External communications, for the remote communication, use in embedded platform building Web ser10、ver to realize the pages of household equipments of remote control, and live in environmental monitoring, and on the page view abnormal alarm condition; For close communication, using Windows Mobile phone Bluetooth controller. In the Mobile phone, through the Windows Mobile 6.5 simulator development11、 Bluetooth control application, the program can unconditional transplants to the physical Windows Mobile phone. In embedded platform, through the Bluetooth module and the Bluetooth phone connection. Push the mobile phone buttons and produce the control command. Bluetooth module change data with embe12、dded platform. Embedded platform control module play the corresponding response.Through to the intelligence of the residence of the remote and short distance communication realizes, provides people with efficient and convenient environment that occupy the home.Key words: Smart homeBoa webserverBluet13、ooth Technology Windows Mobile emulatorII华中科技大学硕士学位论文目录摘要IAbstractII1绪 论1.1研究背景.(1)1.2国内外研究现状.(2)1.3本文主要研究工作.(3)2相关技术2.1嵌入式技术 .(4)2.2嵌入式 Web 服务器技术.(5)2.3蓝牙技术.(7)2.4Windows Mobile 技术.(9)2.5本章小结.(10)3系统需求分析与设计3.1系统需求分析. (11)3.2系统设计.(14)3.3家居功能设计.(15)3.4主控制器设计.(16)3.5安全设计.(25)3.6本章小结.(26)4系统实现4.1系统构建.(14、27)4华中科技大学硕士学位论文4.2系统实现.(32)4.3系统测试与分析.(44)4.4本章小结.(45)5总结与展望5.1全文总结.(47)5.2课题展望.(48)致谢 .(49)参考文献 .(50)华中科技大学硕士学位论文1绪 论1.1研究背景随着智能化小区的逐渐兴起,智能建筑。尤其是智能化住宅小区的应用也越来 越普遍。由于产品的技术含量要求高。以及涉及到房地产开发商、工程设计以及实 施方等多方面的因素。这些因素很大程度上影响了智能小区在我国的发展1。但另一 方面,科技发展,人们生活水平质量提高要求也在不断增加。日益要求能够在安全 可靠、高效便利、舒适健康并且具有能够适应信息社会发展的15、居住和办公环境里生 活和工作。智能化建筑因此应运而生2。智能小区是智能化技术与现代居住小区相结合而衍生出来的。智能化住宅小区 是指通过利用现代通信网络技术,计算机技术、自动控制技术、IC 卡技术,通过有 效的传输网络,建立一个由住宅小区综合物业管理中心与安防系统、信息服务系统、 物业管理系统以及住宅智能化组成的“三位一体”住宅小区服务和管理集成系统, 使小区与每个家庭能达到安全、舒适、温馨和便利的生活环境3。自 2010 年以来,中国智能住宅市场发生了很大的变化,国家关于物联网与三网 合一政策的大力支持,各 IT、家电、通讯、安防等行业开始全面涉足智能住宅行业, 无形中对中国智能住宅行业的发展16、起到了推动作用。三网融合实现了数据、声音、 图像这三种业务用一个网络、一种平台进行服务,开启了数字生活的新时代,三网 融合对于智能住宅而言,意味着一种内容的融合,传输方式、设备的融合,服务的 融合,从用户需求出发,将家庭网络、传输网、服务网等进行融合4,为家庭带来更 好的服务,这将对智能住宅产业的发展有很大的推动作用,也会促进智能住宅产业 的升级。随着信息技术的飞速发展,智能住宅技术在实现成本上大幅度降低,同时人们 永不停步的追求生活的智能化和舒适化。可以预见,不远的将来智能住宅市场必将 迎来它的繁荣发展阶段。同时,智能住宅技术在我国还有很大的发展空间,还有很 多工作要做。如何选取合适的技术,17、进行合理的方案设计,构建成熟的智能住宅系53华中科技大学硕士学位论文统也是极富挑战的课题。1.2国内外研究现状智能住宅概念的起源甚早,但一直未有具体的建筑案例出现,直到 1984 年美国 联合科技公司(United Techno1ogies Building System)将建筑设备信息化、整合化概念 应用于美国康乃迪克州(Conneticut)哈特佛市(Hartford)的 CityPlaceBuilding 时,才出 现了首栋的智能型建筑5,从此也揭开了全世界争相建造智能住宅的序幕。如何建立一个高效率、低成本的智能系统,已成为当今世界的一个热点问题。 今年来,国际上许多大公司提出了相应的解18、决方案,但一些标准尚未成熟。国外的 许多大公司也看到了智能住宅系统巨大的市场潜力,Itran、IBM、Motorola、LG 等国外大型 IT 同时纷纷参与智能住宅系统的研发6。国外智能住宅比较代表性的有7-9:(1)Control4 智能住宅产品:采用 ZigBee 无线技术,无线施工,无线扩展,将 灯光、空调、窗帘、音乐、影音等系统集成为一体。便于操作,Control4 的控制主机 同时提供了具备控制与整合的两项功能。系统整合可以满足用户灵活的需求。(2)Honeywell 智能住宅,用户可以按照自己的意愿配置智能住宅功能,可以 通过互联网、手机以及 wifi 无线终端随时随地进行设置和控19、制。(3)NEYWELL 的智能家电系列:通过家庭内部的中央控制平台、PSTN 网络 或者联网的 PC 来监控家里的智能家电、照明系统。相对于国外的发展情况而言,智能住宅在我国只能算是刚刚开始发展起来,目 前国内的豪华和高档的智能化住宅都以国外成熟产品为主,随着技术的不断发展, 智能住宅将不断的渗透到普通住宅用户中,特别是随着三网融合和物联网的发展, 智能住宅未来的市场潜力巨大。但我国智能住宅起步比较晚,尚未制定一定的国家 标准,国内一些知名企业也推出了不错的相关智能住宅产品10-12。(1)Haier U-Home 家电,它以 U- home 系统为平台,采用有线与无线网络相结 合的方式,把20、所有设备通过信息传感设备与网络连接,从而实现了物物互联。使得 用户可以通过打电话、发短信、上网等方式与家电设备互动。(2)安居宝智能住宅,它以住宅为平台,利用先进计算机技术、网络通讯技术华中科技大学硕士学位论文及现代控制技术,将与住宅生活相关的灯光、电器、窗帘等设备有机结合起来,并 对其进行单独或者集中控制和管理。(3)上海索博智能住宅系统主要采用电力线通信总线技术(荷兰 PLC-BUS 技术) 来实现住宅智能化控制,PLC-BUS 系统由发射器、接收器和系统配套设备组成。它 将能控制的家电设备以一定的结构有机的组合起来,通过管理系统,用户可以实现 对家电的集中无线遥控、定时开关控制及远程控制21、,从而达到了智能电器系统的节 能、环保。舒适、方便的功能。1.3本文主要研究工作本论文针对智能住宅日益发展的需求和存在问题,将设计与实现智能住宅中家 居家电的智能控制,家居安全的监控以及家庭报警信号的接收与发送等模块。利用 Internet13作为传输介质,ARM 作为智能住宅主控制平台以及单片机模拟家居设备, 运用嵌入式 Web 服务器技术,使得通过网页能够访问和控制家用电器设备,也可以 接收各种异常事件如煤气泄漏、火灾、异常入侵等的报警信息的反馈;同时构建了 相关蓝牙技术的硬件和软件平台,使得通过智能手机蓝牙模块实现对智能住宅内家 电和设备的控制,为家庭用户提供更加快捷、方便、舒心的服务。22、本论文进行了比 较深入的研究开发,并对一些关键技术进行了突破与探索。设计要完成的工作如下:(1)结合 CGI 技术和 HTML 技术,建立了嵌入式 Web 服务器系统,详细设计 了智能住宅系统的远程登录与家电控制界面。设计了后台的 CGI 程序,使得通过网 页可以视频监视到住宅里的异常状态,并可以接收相应传感器报警信息。(2)对于嵌入式蓝牙通讯课题相关的嵌入式技术、蓝牙技术进行了深入的研究, 给出了在设计中选择蓝牙技术作为智能住宅近距离控制方案的原因。(3)在对蓝牙通讯的功能需求进行了详细分析的基础上,设计了嵌入式蓝牙的 硬件与软件的整体架构。(4)在系统软硬件基础上建立了底层的蓝牙通信连接。23、设计了蓝牙手机控制住 宅系统的方案,以及方案的实现。华中科技大学硕士学位论文2相关技术本章简单阐述系统开发中所用到的关键技术,包括嵌入式技术、嵌入式 Web 服 务器技术、蓝牙技术以及 Windows Mobile 技术等。2.1嵌入式技术随着信息技术的飞速发展,嵌入式技术已经成为炙手可热的一门技术。嵌入式 系统是为特定功能和领域设计的软硬件可裁剪的系统 14。2.1.1嵌入式处理器技术嵌入式系统核心部件是各类嵌入式处理器,随着嵌入式系统的发展,处理器也 在不断发展。根据其现状,嵌入式处理器分类如下 15:(1)嵌入式微处理器,按照 特定的功能保留相关部分,去除冗余。具有体积小,可靠性高优点。24、具有代表的 Power PC 、ARM 系列等;(2)嵌入式微控制器,常用的是单片机,具有体积小、功耗低 等特点,广泛应用于工业领域。如 8051、MCS-251 等;(3)嵌入式 DSP 处理器,用 于信号处理,具有较高的运算效率和处理速度。代表的有 TMS320C2000/C5000 系列、MCS-296 等;(4)SoC 片上系统,直接在处理器中内嵌代码,提高生产效率和体积, 如 TriCore、M-Core、ARM 系列旗舰等。2.1.2嵌入式操作系统随着嵌入式系统功能的提升,嵌入式操作系统越来越重要。目前应用较广泛 的 嵌 入 式 操 作系 统 有 Linux, 微 软的 Windo25、ws CE, 以及 WindRiver 公 司的 VxWorks16。1)Windows CEWinCE 是由微软公司推出的 32 位嵌入式系统,Windows CE 是基于 Win32 API 开发的新型信息设备平台。具有模块化、结构化和基于 Win32 应用程序接口以及与 处理器无关等特点。其应用开发简单通信功能强大,支持多种 CPU,被应用到工业 控制器、通信集线器等企业设备以及一些电话和家用娱乐器材之类的消费产品。华中科技大学硕士学位论文2)VxWorksVxWorks 是一种实时嵌入式操作系统,具有较好实时性,被广泛应用于军事, 航空等实时性要求比较高的领域。它是目前在嵌入式系统中使26、用最广泛、市场占有 率最高的系统。支持多种处理器,如 ARM、X86、MIPS、Power PC 等。3)LinuxLinux 是 Unix 操作系统的克隆,是一个自由的操作系统,是目前最为流行的一 款开放源代码的操作系统。嵌入式 Linux 操作系统具有以下主要特点:(1)内核可裁剪,多任务支持、多用户支持、性能高、稳定性好。(2)开放的源代码,丰富的软件资源,广泛软件开发者的支持,价格低廉。可 以运行自由发布的应用软件以及许多商业化的应用软件。(3)具有良好的可移植性。可以运行在许多硬件平台上。(4)网络功能强大。由于 Linux 是开放源代码的,且内核小,效率高。网络功能强大,使得嵌入式27、 Linux 应用领域非常广泛,特别适于进行信息家电的开发。因此本文选择嵌入式 Linux 操作系统。2.2嵌入式 Web 服务器技术随着 Internet 技术的兴起,在嵌入式设备中,基于 Web 方式的应用越来越广泛, 这种方式一般采用 B/S 结构,即在嵌入式设备上运行一个支持脚本或 CGI 功能的 Web服务器17-19。2.2.1嵌入式 Web 服务器原理Web(World Wide Web)浏览是基于 HTTP 协议的一种 Internet 传输服务,它提供 友好的界面,提供大量的信息资源。嵌入式 Web 服务器的体系结构如图 2.1 所示。 Web 服务器是 Web 的内容提供者28、,它响应用户端请求,并向客户提供某种形式的数 据。Web 浏览器与用户进行交互,并将数据通过表单传送到后台的 CGI 程序,来实 现与服务器进行交互。华中科技大学硕士学位论文WEB BROWSERWEB 页面SOCKET通信 服务程序HTTP 协议栈静态数据用户验证cgi 程 序应用 程序 接口图像处理程序串口通信程序WEB SERVER图 2.1嵌入式 Web 体系结构示意图浏览器和服务器使用网络进行连接,Web 浏览器获得用户的数据后以表单形式 通过网络传输到 Web 服务器,Web 服务器对表单文件进行分析,调用相应的后台程 序完成用户请求的功能。相应的嵌入式 Web 服务器的系统模型如29、下图 2.2 所示。WEB 浏览器WEB 服务器图像用户界面HTML解析器FROM生成器网络SCRIPT解析器HTTP 引擎TCP/IP 协议栈Web 页面嵌入式设备HTML生成器FROM解析器HTTP 引擎TCP/IP 协议栈图 2.2嵌入式 Web 服务器系统模型图2.2.2CGI 技术原理在 动 态 网 页 交 互设 计 中 , 主 要有 CGI(Common Gateway Interface)23-25,PHP(Personal Home Page)26-28,ASP(Active Server Page)29-31和 JSP(Java Server华中科技大学硕士学位论文Page)30、32-344 种技术。在嵌入式 Linux 下实现动态网页通常选择 CGI 技术。CGI 称 为公共网关接口,CGI 通过浏览器获取表单文件,并从环境变量中提取数据,然 后调用服务器上相应的应用程序,来实现相应的功能,最终结果通过网页回显到 浏览器上。CGI 程序可以使用多种编程语言来实现,只要编程语言有标准输入、标准输出、环境变量等,C 语言具有较强的移植性,因此本系统 CGI 程序用 C 语 言来编写。CGI 程序主要是为了完成用户与服务器的动态交互。CGI 程序的重要作用就是 用户通过浏览器进行一些操作,所产生的数据生成表单文件。CGI 通过环境变量来 获取表单文件信息,将重要信息提取出31、来。然后通过软件功能来实现用户的操作需 求,完成这一操作后,将最终结果通过网页 HTML 的形式回显到浏览器。这样 CGI 就完成了浏览器和 Web 服务器之间的通信。2.2.3 嵌入式 SQLite 数据库嵌入式数据库通常将具体应用与操作系统一起集成,应用程序直接调用 API 来 对数据进行相应操作。嵌入式数据库区别于普通数据库的是,嵌入式数据库是程序 驱动式而普通数据库是引擎响应式。大型数据库通常有 Oracle 、IBM DB,功能完善,但体积过大;嵌入式系统中 通常用 PostgreSQL、Berkeley DB 和 SQLite。PostgreSQL 体积较大虽然功能完善,Berke32、ley DB 开发难度较大。而 SQLite 在 功能和体积上有较好的平衡。SQLite 具有源代码开放、体积较小、速度快 、功能完 善等特点,并提供了丰富的 API 支持,支持 C/C+、PHP 等语言通过 API 来与数据 库文件进行通信。2.3 蓝牙技术蓝牙技术是一种“暴露的”无线通信技术35-37。蓝牙协议可以分成 4 层38-40, 即核心协议层、电缆替代协议层、电话控制协议层和采纳的其他协议层。蓝牙的核 心协议包括基带(base band)、链路管理(LMP)、逻辑链路控制与适应协议、业务搜索 协议(SDP)4 部分。手机蓝牙协议层如图 2.3 所示41-43。华中科技大学硕士学位33、论文ApplicationsOBEXWinsockCOM Port EmulationTDICustom ApplicationsSDPRFCOMMThird PartyL2CAPHCIHCI Transport Layer (UART, USB, PCMCIA)HCI Transport Layer (UART, USB, PCMCIA)LMPBBBluetooth图 2.3蓝牙各协议层(1)对象交换协议,OBEX 它采用简单的和自发的方式交换目标。OBEX 是 一种类似于 HTTP 的协议;(2)传输驱动接口 TDI,提供上层与下层之间的通信 接口;(3)模拟 COM 口,虚拟 COM 口34、,操作和实际串口一样;(4)服务搜索协 议 SDP,通过查询蓝牙设备的相关信息,建立蓝牙设备之间的通信;(5)串行线 模拟协议 RFCOMM“电缆替代”协议在蓝牙基带协议之上,为串行线传送机制的 上层协议服务;(6)逻辑链路控制适应协议 L2CAP 数据链路层,为高层传输和应 用层协议屏蔽基带协议;(7)HCI,主机访问蓝牙硬件设备的基本接口;(8)HCI Transport Layer,传输命令的协议层,传递命令至蓝牙的硬件核心层;(9)LMP 链路管理,负责蓝牙组件间连接的建立;(10)BB,蓝牙设备的物理层,负责物 理连接。华中科技大学硕士学位论文2.4 Windows Mobile 技35、术Windows Mobile 是微软公司专门为移动应用产品设计的操作系统,功能强大。 它是基于 Windows CE 内核开发的。2.4.1 Windows Mobile 简介Windows Mobile 是微软公司为智能移动终端设备设计的操作系统44-45,Windows Mobile 将桌面 Windows 功能扩展到了移动设备上。而在 Windows Mobile 6.5 的发布 同时,微软宣布以后的 Windows Mobile 产品将改名为 Windows Phone,Windows Mobile 捆 绑 了 一 系列 针 对移 动设 备 而开 发的 应 用软 件, 这 些应 用软36、 件 创建 在 Microsoft Win32 API 的基础上。可以运行 Windows Mobile 的设备包括 Pocket PC、 Smartphone 和 Portable Media Center。Windows Mobile 的原形为 Windows CE,后开发出适用于手机及其他掌上设备 操作系统,之后又将其集成在一起。在 Windows Mobile 2003 版本之前操作系统名 称为 Pocket PC、Smartphone 等,后改为现名。如果不考虑 Windows Phone 7,目 前 Windows Mobile 的最新版本为 Windows Mobile 6.5.37、3,Windows Mobile 包括掌上 电脑的 Windows Mobile Standard、用于手机的 Windows Mobile Classic、Windows Mobile Professional 和用于移动媒体的 Portable Media Center 三个版本。本系统采用 的是 Windows Mobile 6.5。2.4.2 Windows Mobile 模拟器技术在 Windows Mobile 应用程序开发初期,可以使用 SDK 自带的模拟器进行相应 的程序开发以及调试,可以在模拟器上安装各种软件,除了通讯功能外,几乎所有 的功能都可以在模拟器上运行。模拟器系统操38、作方面,点击手机上相应按钮即可,也可以使用触摸笔操作界面, 内置功能,系统设置都是模拟 WM6.5。安装了微软的 Active Sync 的同步软件后,可 以让模拟器通过 PC 的网络来上网。屏幕可以自由切换竖屏和横屏使用。在模拟器的文件夹下,有一个“存储卡”的文件夹,可以将需要安装的软件拷 贝到这个文件夹下运行。Windows Mobile 主界面如图 2.4 所示。华中科技大学硕士学位论文图 2.4WM6.5 模拟器主界面Windows Mobile 应用程序的开发,可以把一些 Windows 下的应用程序直接移植 到 Windows Mobile 环境上,使得开发工作得到提高。但是移植过39、程中要考虑下面问 题:(1)Windows Mobile API 和 Win32 API 不同Windows CE API 是 Win32 API 的一个子集,而且其中部分函数的功能已精简。 在进行移植时,主要是找到合适的 Windows Mobile API 替换原有的 Win32 API。(2)Windows Mobile MFC 和标准 MFC 不同Windows Mobile MFC 的设计遵循了标准 MFC 的功能和特性,但是它们在所提 供的类和类的功能上还是有很大的不同。除了这些与标准 MFC 存在不同外,Windows Mobile MFC 中提供的某些特性是 Windows M40、obile 平台专用的。(3)资源有限其中包括存储器限制,存储器比较小,要进行移植时,需要减小应用程序的大 小。硬件系统也有限制,例如屏幕小,CPU 运行速度较慢。设备的用户接口没有 PC 机上灵活。但同时具备了 PC 机上一些没有的特殊硬件设备。2.5本章小结本章简单阐述了系统开发中将要应用的主要技术,包括系统开发初期的嵌入式 技术(嵌入式软硬件平台技术)、嵌入式 Web 服务技术(HTTP 协议和 CGI 技术)、蓝牙 技术(蓝牙各协议层相关技术)以及 Windows Mobile 技术(Windows Mobile 模拟器技 术以及手机蓝牙技术)。这些技术将在后续各章节的具体工作中运用到41、。华中科技大学硕士学位论文3系统需求分析与设计3.1系统需求分析本章先对目前智能化小区进行需求分析,然后主要对位于智能化小区环境中的 核心组成部分的智能住宅进行需求分析,提出了以家居主控制器为中心,以 PC/手机 远近程控制为辅助工具,实现家庭安全防护系统、家庭设备自动化系统以及家庭通 信系统三个部分的功能。其中家庭安全防护系统将实现视频的监控,家庭设备自动化系统实现家居设备的智能化控制,家庭通信系统实现用户与主控制器之间的通信。3.1.1智能小区智能小区系统家庭智能系统社区智能系统信息集成系统周界 防 范 系 统闭路 电 视 监 控停一车卡场通管系理统 系统楼宇 自 动 化 系 统小区 物 42、业 管 理背景 音 乐 及 紧 急 广 播巡消更防系自统动 化电话 通 信 系 统智能 化 网 络 集 成智能 布 线 系 统住宅小区智能化是利用计算机技术、通信技术、控制技术以及自动化技术,实 现的信息技术管理、物业管理、智能控制系统以及安全防范的智能系统。智能小区 系统可以分成家庭智能系统,社区智能系统,信息集成系统,如图 3.1 所示。家 电 智 能 控 制 系 统三 表 计 量 系 统家 庭 安 防 报 警 系 统(1)家庭智能系统图 3.1智能小区系统家庭是小区和社会的主体和服务对象。用户智能体验主要是家庭和公共部分,华中科技大学硕士学位论文而家庭智能是用户经常使用的部分。因此智能家43、居为智慧小区的核心部分。家庭智 能化,包括家庭安防报警系统、三表计量系统以及智能控制系统。(2)社区智能系统小区的智能化,是在人们智能家居搭建后享受生活的保障。包括一卡通系统、 周界防范系统、停车场管理系统、物业管理系统、闭路电视监控系统以及消防自动 化系统等。(3)信息集成系统信息的集成是智能化的基础。借助信息通信集成。实现资源共享,构成自动化 办公系统。系统主要由电话通话系统,通过综合布线和用户交换机等连接构成。3.1.2智能住宅家庭智能化,是智能小区中的核心部分,对家庭智能化的研究将显得非常重要, 家庭智能化,使得用户可以在远离家里的时候,遥控家中电器,并且监视到居家安 全,以及相应安全44、报警的接收,如火警、煤气泄漏以及非法入侵等相关信息。同时 可以实现远程抄表与管理,通过数据采集器采集电表、水表、燃气表的相关信息, 发送到小区管理中心计算机上。并存入相应的收费系统。真正给居家生活带来便利 和快捷的服务。智能住宅系统的显著特点是即独立又集中。所有的终端和设备多可 以是分散的,同时又通过网络集中到一个管理或控制中心。由于智能住宅是智能小 区系统的组成核心。本论文主要研究智能住宅系统。1)可行性分析第一,智能住宅的目的是为人们日常生活所服务的。不能脱离实用。因此设计 与人们生活息息相关,并且最常用、最需要的功能更为重要。第二,考虑到操作要简单。同时也要为用户提供完善的安全措施。 第45、三,要通过成熟的技术,来实现智能功能的扩展与升级。同时考虑到各种产品兼容性问题。2)功能性需求分析智能住宅可以分为家庭安全防护系统、家庭设备自动化系统以及家庭通信系统 三个部分,如图 3.2 所示是智能住宅系统组成。华中科技大学硕士学位论文蓝牙 移动终端(手机)GPRS家庭控制器以太网计算机家庭安全防护系统家庭设备自动化系统家庭通信系统住煤火家安家家户气灾电全庭庭报泄报自监网布警漏警动控络线 模报模控模块警块制块模 块(1)住户报警系统图 3.2家居智能化系统采用红外传感器报警,用于门窗的防范,在窗户等处设红外线报警探测器。当 处 于防护状态时,如有非法入侵。就会发送报警信息到家庭中央控制器,46、再通过中央 控制器将消息发送出去给用户。(2)燃气泄漏报警通过装入煤气传感器,当发生可燃气体泄露时,家庭中心报警器就会发出报警 信息。并将信号传到中央控制器。同时向用户以及小区管理器发送报警信息。(3)火灾报警系统在厨房设置烟雾传感器,在客厅以及房间设置相应的探测器。当有火灾发生时, 报警控制器报警,同时向控制中心发送报警求救信号。并将报警信息通过中央控制 器发送到用户和小区管理中心。(4)家电自动控制系统家电自动控制是家庭智能化系统的一个重要组成部分。可以通过相应的无线通 信技术,以及自动控制技术,来实现对家电设备的智能化控制。其中可以通过中央 集中控制,也可以通过移动设备控制。(5)安全监47、视系统安全监视系统,可以使用户随时随地通过上网远程视频浏览家居状态。华中科技大学硕士学位论文(6)家庭通信系统家庭通信网可以分为有线网或无线网两种类型,将家居内的设备通过有线或无 线的方式,来实现信息的交互。家庭布线一般采用现场总线的方式。3.2系统设计智能住宅系统作为智能小区的组成细胞,是智能化系统的重要组成部分。智能 小区应用系统是为整个小区/社区住户提供公共智能服务的主体。智能住宅,在智能 小区的环境下,同时也要与智能小区进行通信,以及服务的交互与管理。Internet智能家居不同住户有线/无线网络社区管理服务GPRSGSM安防监控Internet综合布线电梯系统控制配电系统不同住户车辆48、出入管理外部控制智能家电不同住户智能终端媒体娱乐公共安全监控灯光窗帘整体厨房消防报警系统可视对讲整体卫浴图 3.3智能环境应用系统示意图随着智能化技术与网络技术的发展,为未来的智能家居生活所提供的服务范围 必将扩大到居民小区甚至是整个社会。因此,研究出单个住户家中的智能家居系统, 并为住户提供稳定可靠的服务是基础也使很重要的部分。本章下面主要是对智能住宅中的一些功能模块进行详细的设计。先从家居功能设计开始,再到主控制器设计,华中科技大学硕士学位论文再到主控制器中模块的设计。3.3家居功能设计智能家居系统中,用户可以通过手机和电脑远程控制家居设备,也可以通过手 机蓝牙近距离控制设备。本地主控制器49、负责家电设备的智能控制,报警信号的接收 和发送至用户和小区服务器,同时负责视频监控安全。家居功能如图 3.4 所示。近 距 离远 程手 机外部通信小 区 服 务 器家庭安全监控家电智能控制家庭安全报警防护煤 气 传 感 器烟 雾 传 感 器红 外 传 感 器摄 像 头灯 光电 源空 调煤 气C/SB/S蓝牙网络有线/无线家居主控制器手 机PC机网络/GPRS图 3.4家居功能图3.3.1家庭安全防护通过红外、烟雾、煤气等传感器来探测家居安全,当有外来入侵时,红外传感器即将感应信息通过报警的方式发送到用户以及小区服务器;家居出现火灾情况时, 烟雾传感器将报警信息发送到用户以及小区服务器;出现煤气50、泄漏时,煤气传感器 将报警信息发送到用户以及小区服务器。3.3.2家电智能控制当用户远离家中时,可以通过 PC 或者是手机上网登陆智能家居网络系统,来实华中科技大学硕士学位论文现家居的控制。另外当用户在家中时,一方面,可以通过智能终端系统实现家居的 本地控制;另一方面,可以将手机作为家电遥控来使用蓝牙控制家居家电。3.3.3家居安全监控家居中配备有摄像头,用户可以通过连入 Internet 的 PC 或者手机,连接到流媒 体服务器,远程实时查看监控摄像头采集到的视频信息,实现远程监控的功能。3.3.4外部通信用户可以通过上网登陆智能家居网上系统,来与家中设备进行远程交互。同时 也可以通过手机蓝51、牙近距离遥控家中设备。3.3.5主控制器与小区服务器交互小区管理员通过 Web 服务器,远程监视园区以及家庭周边环境,发现异常状态 立即通知相关部门。同时小区管理员通过远程控制家居的智能设备实现楼宇,相应 公共通道设备的远程控制。住户家中出现火灾、煤气泄漏、非法入侵时,相应的烟 雾、煤气、红外传感器产生报警信息反馈到家庭主控制器。家庭主控制器通过网络 将报警信息传送到小区服务器和用户终端。小区管理员监视到报警信息,进行及时 处理。3.4主控制器设计主控制器的设计包括硬件设计和软件设计。其中硬件设计中包括主要的嵌入式 主控制器,存储器、GSM 模块、蓝牙模块和网络控制模块以及扩展板等。主控制 器52、软件的设计,主要包括主控模块,以及蓝牙模块和 Internet 模块的设计等。3.4.1主控制器硬件结构中央控制器由嵌入式主控制器,存储器、人机接口、GSM 模块、蓝牙模块和网 络控制模块以及扩展板组成,如图 3.5 所示。(1)处理器系统主控制器是整个智能住宅硬件的核心部分,完成信息共享,不同通信协议 之间的转换,以及同外部 Internet 之间的数据交换功能。同时负责各个硬件单元的管华中科技大学硕士学位论文理和控制。主控制器采用 pxa270 处理器,PXA27x 是 Xscale 构架处理器中运用比较多的处 理器系列之一。PXA27x 系列嵌入式处理器基于 ARMv5E 的 Xscal53、e 核心,最高频率 可达 624MHz。以太网控制器EthernetPC 机蓝牙模块手机蓝牙SDRAM网络GPRS/网络蓝牙触摸屏RS232图像处理显示Intel Xscale PXA270处理器存储程序 的 FLASHGSM 模块外部控制器图 3.5主控制器硬件结构图(2)SDRAMSDRAM 是系统运行时的数据存储区和交换区。PXA 上大量的数据都要通过SDRAM 暂时存放和交换,即动态存储区。270-S 系统采用 SDRAM 的是 Qimonda 公司 HYB25L256160AF-7.5,单片是32Mbyte 的容量。系统上有两个 16Mbit4Bank16Bit 的 SDRAM 连接54、到数据总线上。 一个是高 16 位部分,另一个是低 16 位部分,总共组成 64M 的内存空间,供系统工 作时程序的运行和各种数据的保存。(3)FLASH270-S 系统的 FLASH 选用的是 INTEL 的 RC28F128P30T,双片 32MByte 的 NOR FLASH,用来存储程序,在掉电情况下保持数据不丢失。PXA270 复位后访问的是 低地址空间(第一条指令在 0x0000 0000 处),因此 BOOT FLASH 的片选采用 nCS0, 其缺省地址空间是 0x0000 0000 0x03ff ffff 共 64MBytes。单片 FLASH 为 16 位数据总线,采用两片55、 FLASH 数据总线并行连接,与 PXA270为 32 位数据总线连接。PXA270 的 BOOT_SEL0 接低,配置为 32 位数据总线启动方华中科技大学硕士学位论文式。支持异步读模式和同步突发读模式,在同步突发读模式下,PXA270 的 SDCLK0提供时钟,nSDCAS 提供地址有效信号。(4)以太网控制器以太网控制器采用网络控制芯片 LAN91C113,它集成了介质访问控制 MAC 子 层和物理层的性能,LAN91C113 即 U13 的数据传输使用的是 16 位的数据传输方式, LAN91C113 通过地址、数据总线、中断、读、写以及片选等信号与 CPU 进行数据 交互。(5)图56、像处理显示270-S 核心板外接 USB 摄像头,通过 OV511 的感光芯片获取视频数据,并在 16bit的 LCD 显示屏上显示采集到的视频。(6)蓝牙模块蓝牙模块,采用内嵌式蓝牙模块,使得蓝牙能够跟平台串口进行通信,从而通 过手机蓝牙控制主控制器。(7)RS232RS232 连接外部扩展板,扩展板的主控处理器芯片采用通用的 51 系列单片机。 扩展板电路在系统主要负责采集传感器报警信号,并将信息通过 RS232 传输到 Liod 平台上进行处理,同时,扩展板接收 Liod 平台的家电控制命令并实现对家用电器的 控制。3.4.2主控制器软件结构主控制器软件主要由串口通信程序、图像处理程序、57、蓝牙通信程序、嵌入式 WEB服务器程序等几个部分组成。软件的总体体系结构如图 3.6 所示。图中位于底层的是嵌入式 Linux 操作系统以及各类硬件的驱动,应用程序通过 调用 Linux 内核中的硬件驱动程序,完成对硬件的操作。要实现的驱动,主要包括 Bluetooch 硬件驱动、摄像头驱动。并分别提供相应硬件的操作。主控制器的设计主要是软件接口和应用软件的设计。主控制器软件部分主要包 括主控模块、Web 服务器模块和蓝牙模块。主控模块部分,主要分为三个部分,分 别是家电控制模块,传感器报警信息接收模块和视频监控模块等三个部分。家电控华中科技大学硕士学位论文制模块通过相应的程序来实现主控制器对58、家居中家电进行集中智能化控制;传感器 报警信息接收模块,实现红外、烟雾、煤气传感器相应报警信息的接收以及发送; 视频监控模块,实现家居内环境的相关监视。Bluetooth 控制模块主控模块Internet 控制模块图形 用户 接口应用程序接口嵌入式文 件系统TCP/IP 协议嵌入式 WEB 服务器数据库流媒体服务器蓝牙通信协议应用软件层软件接口层嵌入式 ARM- Linux 操作系统Bluetooth硬件驱动LCD 驱动USB 驱动摄像头驱动Internet硬件驱动操作系统层 设备驱动层输入设备输出设备IEEE 802.3其他接口图 3.6主控制器软件体系嵌入式 WEB 服务器主要有 HTTP59、 协议、CGI 后台程序以及相应的页面模块。CGI 后台程序主要是获得相应表单数据,再调用应用程序实现相应的操作。CGI 主要实现:用户登录检验,用户只有输入正确的用户名和密码后才能进入智能住宅 的主界面;响应用户对住宅中家电状态的查询请求;实现用户远程家电控制,以及 远程视频监视家居环境。蓝牙模块,在蓝牙协议栈中,主机控制器接口(HCI)以上部分通常用软件实现, 以下部分则用硬件实现。当蓝牙模块与主机连接时,HCI 接口上层的通信协议由主 机负责处理,而接口下层的通信协议则由蓝牙模块内的芯片负责。嵌入式平台上的 蓝牙模块主要负责接收手机端蓝牙发送来控制信号。模块根据定义好的格式将控制 信号翻60、译成嵌入式平台相应的控制命令,然后平台调用主控模块进行相应的操作。 如图 3.7 是具体的软件接口和应用软件示意图。华中科技大学硕士学位论文蓝 牙 控 制 程 序手机HCIUART蓝 牙 驱 动物理总线固件蓝牙模块天线基带控制器链路管理HCI 固件蓝牙模块天线基带控制器链路管理HCI 固件蓝牙 部 分驱 动蓝牙 应 用 程 序主控模块家电控制模块传感器接收模块视频监控模块ARM 嵌入式平台Web 服务器部分Web 页面CGI 应用程序数据库流媒体服务器HCI物理总线固件UARTPC 机有线/无线HTTP 协议TCP/IP 协议网络以太网口Web 浏览器流媒体客户端Internet图 3.7具体61、软件接口以及应用软件示意图3.4.3PC 远程通信的设计(1)后台 CGI 应用程序的设计CGI 模块主要包括如下几个页面:用户登录界面、主导航界面、家电实时状况 界面、家电控制页面、视频显示页面。在网页的设计中采用网页编辑软件 Dreamweaver 编辑相应的网页。CGI 后台应用程序,主要响应用户的表单请求,然后通过调用相应的应用程序 来实现相应的功能。这里 CGI 主要实现了远程响应用户控制家的信息,然后调用相 应的程序来实现家电的控制;响应用户查看实时设备状态的信息,并将查询结果反 馈到浏览器上;响应用户实时视频监视的请求,将实时视频显示到浏览器上。各页 面关系调用图如图 3.8 所62、示。华中科技大学硕士学位论文login.htmllogin.cgiindex.htmlIndex.cgicontrol.htmlvideo.htmlcondition.htmlcontrol.cgivideo.cgicondition.htmlserial.cserial.h图 3.8页面文件和 CGI 程序关系调用图。login.html 是用户登录界面,用户输入正确的用户名和密码,验证成功后就进入 主导航页面,页面提供三个按钮,分别是住宅家电状态显示、住宅家电状态控制 、 住宅家电视频显示。点击相应按钮就会进入到相应页面。其中,家电状态显示由 condition 程序响应。家电控制由 co63、ntrol 程序响应。视频 显示由 video 程序相应。其中家电状态的显示和控制,都要调用串口实现程序,serial.c 是用 C 语言编写的串口实现程序。serial.h 是相应的串口实现程序的头文件。(2)页面设计图 3.9用户登录界面华中科技大学硕士学位论文所有的页面首先在 Dreamwaver 中进行总体设计,然后在放入嵌入式系统的相应 文件下。用户登陆页面 login.html,负责验证用户登陆信息。页面如下图 3.9 所示。 验证用户信息正确后,将进入主界面 index.html,主界面包含了下面三个页面的导航,三个页面分别是:住宅家电状态的查询,住宅家电状态的控制,住宅视频监 64、控显示。页面如下图 3.10 所示。图 3.10智能住宅主界面导航界面点击上面“住宅家电状态控制”按钮,就进入 control.html 页面,用户可以通过 点击上面的按钮来控制相应的家电。页面如下图 3.11 所示。图 3.11住宅家电状态控制界面华中科技大学硕士学位论文相应的点击“住宅家电状态显示”按钮,则进入 condition.html 页面,点击“住 宅视频远程显示”按钮,则进入 vidio.html 页面。3.4.4嵌入式平台蓝牙应用程序设计嵌入式平台上的蓝牙应用程序,一方面要与外部的蓝牙设备进行通信;另一方 面,要实现与嵌入式平台串口进行通信,从而与相应的主控模块进行通信,来实现65、 对家居设备的控制。嵌入式平台上蓝牙模块与手机进行通信,建立 ACL 链接,当收 到手机蓝牙发送的控制命令时。蓝牙模块通过 UART 端口与嵌入式平台进行通信, 嵌入式平台与主控制模块进行通信,主控制模块根据相应的信息来实现对家居内设 备的控制。(1)通信模块的设计蓝牙模块与服务器端进行通信,建立 ACL 链接。如图 3.12 所示。其中嵌入式平 台端蓝牙设置为从设备。步骤包括芯片复位,复位完成后,蓝牙设备进入待机模式。 建立 ACL(异步无链接)链路,手机蓝牙模块,进行搜索,然后与搜索到的 BD_ADDR蓝牙设备进行链接,并返回相应的句柄。即可进行相应的 ACL 数据通信。通信完成 后,断开66、链接。初始化蓝牙设备设置为主设备建立 ACL 连接获取连接句柄发送接收 ACL 数据获取连接句柄设置为从设备复位设置为主设备图 3.12蓝牙点对点流程华中科技大学硕士学位论文(2)蓝牙模块应用程序设计使用蓝牙协议中的 HCI 命令和事件,来完成蓝牙设备的 HCI 接口软件功能。 HCI UART 传输层 在于可以在同一个 PCB 上两 UART 之间的串行接口上使用蓝牙 HCI,HCI 提供了蓝牙嵌入式平台与蓝牙模块交换信息的接口,这些信息以分组形 式进行交互。嵌入式平台可以向蓝牙模块发送 HCI 指令分组、ACL 数据分组和 SCO 数据分组;同时蓝牙模块可以向主机返回 HCI 事件分组、A67、CL 数据分组和 SCO 数 据分组。将 UART 接口的驱动程序以及 HCI 指令封装为动态链接库,提供通过 UART 接 口对蓝牙设备进行基本操作的函数,包括蓝牙设备的复位、读取蓝牙设备地址、初 始化、查询、建立连接、发送数据、接收数据和断开连接等。嵌入式平台与手机之 间的蓝牙连接建立完成后,就可以进行数据的传输了。手机控制器发送控制命令, 嵌入式平台 HCI 检测到 ACL 数据分组的到来,将数据存入到 UART 接收缓冲区。 然后通过相应函数读取 UART 接收缓冲区的数据。此时数据流向是从 UART 接收缓 冲区到信息处理模块,即到达相应的主控制模块,来实现对相应家居设备的操作与 控68、制。3.4.5手机近距离蓝牙遥控设计手机蓝牙应用程序主要实现的功能是在 Windows Mobile 模拟器上运行控制软 件,通过蓝牙通信的方式发送控制命令到装有蓝牙模块的嵌入式平台。平台通过接 收到的控制命令,对扩展版模拟家电以及传感器进行相应的控制,从而实现模拟手 机对模拟家电的远程控制。(1)模块设计Windows Mobile 模拟器的客户端应用程序的设计主要包括下面两部分:在客户 端要实现蓝牙通信模块,这个模块负责通过蓝牙与平台进行蓝牙通信;在客户端也 要实现一个发送控制信号的模块,这个模块根据已经定义好的命令将控制信号通过 蓝牙通信建立的数据连接发送到嵌入式平台上接收端。(2)客户69、端界面的设计客户端界面运行在 Windows Mobile 智能设备上。大多都是 QVGA。在 VS2008华中科技大学硕士学位论文中集成了.NET CompactFramework 。而它提供了很多界面的控件。这些控件可以 实现窗口的开发与应用。系统的界面主要包括:登陆界面和主控制界面。其中登陆 界面由两个 Edit、两个 Label、以及一个 Picbox 控件组成,登陆界面如图 3.13 所示。 登陆用户名和密码后,点击确定按钮,登陆成功,用户就会进入主控制界面,主控 制界面如图 3.14 所示。图 3.13登陆界面图 3.14主控制界面蓝牙连接采用菜单/工具栏方式,选项中包括“搜索蓝牙70、服务”、“连接蓝牙设 备”以及“断开连接”等。在搜索到相应的设备后,连接设备,主控制界面主要包 括一些操作按钮,相应的按钮对应相应的家电。点击按钮即会产生控制消息,这些 消息再通过蓝牙通信发送到嵌入式平台,平台再做出相应的反应。3.5安全设计本系统远程控制方面采用网页的形式,并采用用户登录的形式,来实现基本的 安全保障。但是静态密码存在着比较多的安全隐患,攻击者有很多手段获得静态密 码。可以采取些有效方法来保护安全,例如安装预防黑客木马的软件,登陆时检测 登陆程序有没有被第三方程序加载调试,以及相应的用户录入框组织键盘 Hook 程序 等等。手机控制方面,同时也采用相应的权限分配的方式来实现简71、单的安全保障。 对于传输过程,可以通过身份认证,用于鉴别这个用户的真伪;另一部份为数据加 密,用于数据的保密。这两部份功能都可以用到非对称加密技术。可以防止应用系 统被非权限用户滥用。华中科技大学硕士学位论文3.6本章小结本章首先进行了智能小区的需求分析,从而再在此基础上重点提出了智能住宅 的需求分析,提出了家庭安全防护、家庭智能控制、家庭安全监控以及外部通信四 个部分。其中家庭安全防护包括红外传感器、烟雾传感器、煤气传感器等报警信息 的接收;家庭智能控制,可以通过远程 PC 或者手机上网控制家居内设备并监视家居设备状态以及家居环境变化。家庭安全监控通过摄像头实时拍摄家居中环境的变化, 同时也72、可以远程监视到家居环境。外部通信,主要分为远程和近程两部分通信,远 程采用网络的形式来访问和控制主控制器,近距离手机通过蓝牙来控制主控制器。 设计部分,从家居功能设计开始,到主控制器软硬件的设计,再到 Web 服务器的设 计,最后到蓝牙部分的设计。以及考虑到整个住宅系统的安全设计。华中科技大学硕士学位论文4系统实现4.1系统构建本节主要是对系统开发环境的搭建。先是嵌入式开发环境的构建,包括内核以 及文件系统的配置。然后是嵌入式 Web 服务器的配置与移植。接着是嵌入式平台上 Bluez 协议的配置与移植。最后是 Windows Mobile 模拟器上蓝牙开发环境的搭建。4.1.1嵌入式开发环境73、的构建本系统中为嵌入式系统选用是 Linux 内核 2.6.11 版本,为了能够在基于 Linux 操 作系统的嵌入式开发,要完成编译内核、驱动程序和应用程序等工作。(1)安装交叉编译环境由于开发系统都在 PC 机上开发的,要使应用程序能够在嵌入式平台上使用,必 须使用交叉编译环境。依次安装 binutils-2.15.tar.gz、gcc-3.3.2.tar.gz、glibc-2.3.2.tar.gz 等交叉编译工具,并配置好环境变量。安装完后,检测工具是否安装配置正确。(2)配置、编译内核由于本系统有些特殊的功能需求,必须使内核支持这些功能模块。因此需要通 过内核配置、编译来实现。除了对 74、CPU(ARM)的支持、文件系统的支持等常用选项 编译进内核外,还需加入蓝牙适配器,USB 模块,以及 TCP/IP 网络通信等功能。需 将 Bluetooth support 、USB Input support 、TCP/IP networking 等选项编译进内核。(3)下载内核、文件系统通过下载能够引导 Linux 启动的 BootLoader,来初始化硬件系统以及引导系统。 用 JTAG 通过串行线将内核镜像和文件系统下载到嵌入式平台。4.1.2嵌入式 Web 服务器环境构建(1)嵌入式 Web 服务器的选择常用的 Web 服务器有 Boa、thttpd 和 httpd 服务器。Ht75、tpd 只支持静态页面,不支 持认证和 CGI;thttpd 和 Boa 都支持认证和 CGI 的,功能比较全。其中,Boa 服务器华中科技大学硕士学位论文http 单任务服务器,对系统的要求不高,运行速度快。Boa 代码精悍而且都是用 C 语 言写成,具有容易移植等优点。因此选择 Boa 作为嵌入式 Web 服务器。(2)Boa 的配置与移植Boa 程序的移植,从相应站点下载安装包,解压安装包# tar xzf boa-0.94.13.tar.gz 进入相应的文件夹,# cd boa-0.94.13/src 生成 Makefile 文件。配置 # ./configure,修 改 Makefi76、le 文件,将 CC=gcc 改为 CC = arm- linux- gcc;将 CPP = gcc E 改成 CPP = arm- linux-gcc E,并保存退出。然后进行编译执行,# make # arm- linux-strip boa嵌入式平台上 Boa 的配置,要正确使用必须进行相应的配置。建立/etc/boa 目录 将配置文件 boa.conf 拷贝进该目录。打开 boa.conf 将其中 Group nogroup 改为 Group 0 ; ServerName www.you.org.here 前面的 # 号 去 掉 ; 将 ScriptAlias /cgi-bin/usr77、/lib/cgi-bin/改为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/。用创建 HTML 文档的主目录 /var/www ,创建 CGI 脚 本 所 在 目 录/var/www/cgi-bin/。将可执行文件 boa 拷贝到目标板的/usr/sbin 目录,将 mime.types 文件拷贝 到目标板/etc 目录,将修改后的 boa.conf 拷贝到目标板的/etc/boa 目录。将 index.htm 以及相应的静态网页文件拷贝到目标板的/www/var 目录。第三步主机上的测试,在目标板上后台运行 Boa 服务器#boa&假 设 目 标 板 的 I78、P 为 192.168.0.50 。那 么 只 要 在 主 机 的 浏 览 器 里 输 入http:/192.168.0.50,即可实现对 boa-arm 的访问。(3)CGIC 库移植CGIC 是一个支持 CGI 开发的开放源码的标准 C 库,CGIC 标准库属于自由软件。 从相应站点下载安装包,解压安装包# tar xzf cgic205.tar.gz,修改 Makefile 文件,将CC=gc 改为 CC=arm-linux- gcc ;将 AR=ar 改为 AR=arm- linux-ar ;将 RANLIB=ranlib, 改为 RANLIB=arm- linux-ranlib ;将79、 gcc cgictest.o -o cgictest.cgi$LIBS改为 $(CC) $(CFLAGS) cgictest.o -o cgictest.cgi $LIBS;将 gcc capture.o -o capture $LIBS改为 $(CC) $(CFLAGS) capture.o -o capture $LIBS。保存,编译 make 生成相应的 CGIC 库。并将 CGIC 相应库移植到嵌入式平台。华中科技大学硕士学位论文4.1.3嵌入式 SQLite 数据库搭建家居信息数据库主要包括两种信息表:家电信息表和用户信息表。前者主要存 储相关家电的状态运行数据。后者主要用于用户名80、和密码的存储以及与用户登录程 序,注册程序等进行相应的交互。先将嵌入式 SQLite 移植到嵌入式 Web 服务器中,结合表单和 CGI 技术,并利 用 SQLite 提供的 C 语言 API,实现与 Web 服务器的动态交互。下载 sqlite-3.3.17.tar.gz 到/usr/local/arm- linux/bin 目录下。(1)解压 sqlite-3.3.17.tar.gz 到/usr/local/arm- linux/ sqlite #tar zxvf sqlite-3.3.17.tar.gz;(2)找到 main.mk 文件的第 63 行。删掉 libtcl.o;(3)建立 81、sqlite-arm- linux 文件夹,并进入相应文件夹;(4)设置交叉编译环境#export PATH=/usr/local/arm- Linux/bin:PATH;(5)配置编译 #./sqlite/configure-=arm- linuxprefix=/usr/local/arm- linux/sqlite-arm- linux disable-tcl;(6)编译安装 #make#make install。这样就生成了用于 arm- linux 下得数据库 sqlite3 和相关 lib 文件。4.1.4嵌入式平台蓝牙环境构造Linux 内核配置中加入蓝牙驱动和蓝牙协议块的支持,并82、将编译好的内核重新下 载到嵌入式平台;交叉编译 Bluez 包和工具,从网上下载 Bluez 的相关工具和库。编 译成 ARM 平台的格式。然后下载到开发板;加入蓝牙模块协议的驱动,包括串口的 驱动等。4.1.5手机蓝牙环境构造1)开发环境搭建开发环境的搭建主要是 Windows Mobile 手机模拟器环境的搭建,以及 Windows Mobile 手机模拟器与 PC 蓝牙设备的同步使用环境的搭建。(1)检查一下系统是否 安装了 VS2005 或者 VS2008。如 没有就首先安装VS2005/VS2008。然后依次按照软件的需求安装相应的安装文件。(2)设置 WM6.5 模拟器与 PC 同83、步,及设置 Smartphone Device Emulator 与Microsoft ActiveSync v4.5 进行连接。这是部署 WM6.5 程序的关键。打开 VS2005/VS2008,选择任务栏里“工具”,然后选择工具中的“设备仿真 管理器 ” 右 键 点 击 “CHS Windows Mobile 6.5 Professional Portrait QVGA华中科技大学硕士学位论文Emulator”(可以选择后面其他 6.5 的模拟器)选择“连接”。即可以看到如图 2.4 的 WM6.5 模拟器主界面。点击模拟器文件菜单中的“配置”选项。如图 4.1 所示,勾 选启用 NE2084、00 PCMCIA 网络适配器并绑定到(N),然后选择已经能用来上网的选项 卡。图 4.1属性配置页面图 4.2ActiveSync 设置打开 ActiveSync,点击“文件”选择里面的“连接设置”相应设置如上图 4.2 所 示。打开设备仿真器管理器,找到刚刚连接的模拟器,右键点击选择“插入底座” 如图 4.3 所示。图 4.3设备仿真管理器图 4.4模拟器上网设置最后在模拟器中,点击“开始”,选择“设置”,选择里面的“连接”,再选 择“连接”,选择左下角(高级)然后点击“选择网络”如上图 4.4 所示:华中科技大学硕士学位论文这样,打开浏览器就可以正常上网了。如图 4.5 所示。图 4.585、网页浏览图 4.6共享文件夹设置与 PC 同步文件夹的建立,点击模拟器上“文件”菜单上的“配置”选项。然后 点击“共享文件夹”右侧按钮,如图 4.6 所示。找到电脑的某个文件夹。或者是新建个文件夹,这个文件夹就作为模拟器的“存 储卡”,类似于“SD 卡”。这个文件夹就实现了模拟器与 PC 的文件夹同步。可以 把电脑上的文件拖入这个文件夹。同时在手机的资源管理器的存储卡里面,可以相 应的找到对应的文件。安装软件,也是将软件包放在这个共享文件夹里,然后在手 机模拟器的资源管理器中双击软件安装。和手机上操作一样。至此,Windows Mobile 模拟器的开发环境基本配置完成。2)蓝牙环境的搭建由于86、 Window Mobile 模拟器不像 Windows Mobile 手机提供蓝牙硬件。要在上 面进行蓝牙应用程序的开发。需要运用 PC 机上的蓝牙硬件,下面介绍在 PC 机上搭 建 Windows Mobile 蓝牙开发环境。配置与安装:(1)在 PC 端,安装好蓝牙驱动,使得在 PC 机上可以正常使用蓝牙。(2)安装加载 Bluetooth for Microsoft Device Emulator。在 Remote Tools Framework plugin 中运行 BthEmulManager.cetool,将其和模拟 器建立连接。列表中选择一个仿真图像。等待模拟器连接。选择“Bl87、uetooth for Microsoft Device Emulator”节点。华中科技大学硕士学位论文如果有一个蓝牙设备连接成功,那么蓝牙设备信息(地址,制造商,人机交互 版本和 LMP 版本)将被显示。如图 4.7 所示,蓝牙运行在模拟器上。图 4.7模拟器蓝牙与 PC 蓝牙的同步设置(3)蓝牙的连接连接建立以后,蓝牙设备的信息(Address,Manufacturer,HCL Version, LMP Version)就会显示在界面上。在程序启动后,首先搜索附近的蓝牙设备,搜索过程完成以后,将其设备的名 字和蓝牙地址显示在下拉列表中,然后就可以进行双向的消息发送和接收了。程序 运行界面88、如图 4.8 所示。利用 PC 机上蓝牙正在搜索设备搜索完成输入连接密码 图 4.8模拟器上蓝牙连接的建立过程至此 Windows Mobile 模拟器上蓝牙开发环境搭建完成。4.2系统实现系统实现部分,主要包括嵌入式 Web 服务器中 CGI 应用程序实现,以及流媒体 服务器的实现;嵌入式蓝牙模块通信以及应用软件的实现;Windows Mobile 手机蓝华中科技大学硕士学位论文牙控制软件的实现。4.2.1主控制器主控模块的实现(1)家电控制模块的实现扩展板采用中断接收来自串口的数据,数据为嵌入式平台主控制器发送的家用 电器控制命令,数据格式为“%xxxx”,其中%为数据头标志;x 为 0 89、或 1,用来控 制家用电器断开和闭合,每一个 x 控制一路。(2)传感器接收模块的实现烟雾、红外等这些传感器的报警信号通过光电耦合接入单片机。主程序对串口 进行初始化 InitSerial(),和一些系统参数初始化完毕后,便每隔 0.5 秒查询与传感器接 口的端口状态,当传感器有报警信息时,对应的端口便为低电平,主程序检测到报 警信息后,便调用发送报警数据函数。报警数据利用“#$#”作为数据头,后面的数 字从 1-3,依次代表红外、烟雾、煤气。(3)视频监控模块的实现视频采集程序采用相应的流媒体服务器,来进行视频采集、压缩和传输。启动 定时视频采集进行每隔 50 毫秒启动视频数据采集。4.2.90、2嵌入式服务器 CGI 程序以及流媒体服务器的实现通用网关接口(CGI)是 Web 服务器和外部程序的一个接口,网页实现用户的静态 数据交互,CGI 实现动态应用程序交互。login.cgi、index.cgi、control.cgi、condition.cgi、 vidio.cgi 是几个独立的 CGI 程序。都是通过对应的.c 源代码文件交叉编译连接成二 进制可执行文件.cgi 文件。然后放在嵌入式系统的/usr/web/cgi_bin 目录下。1)用 C 语言编写网页登陆程序登陆界面,包括用户名、密码、以及注册界面等。其中,用户分为管理员和普 通用户。两者拥有不同的权限。管理员可以给用户91、分配不同的权限以方便系统的管 理,同时管理员也可以增减用户、修改密码等。一般用户可以登陆页面进行授权业 务的基本信息和相关操作。用户管理和用户权限管理如图 4.9 所示。华中科技大学硕士学位论文用户组用户描述权限描述一个用户对多权限用户表用户权限表用户权限图 4.9用户管理和用户权限管理对于用户注册。通过 C 语言 API,首先提供文件名和访问模式来进行数据库的 相关操作。通过 CGI 程序将用户信息写入数据库文件 mydb 的用户表中。用户登陆时进入主界面,输入用户名和密码,通过 Form 表单提交,然后相关程 序在数据库中查询用户名和密码是否正确。如果正确,即进入相应的操作界面。用户点击相92、应的界面,产生表单文件,如请求的是静态页面,如请求跳转页面 等。则进行静态交互,如请求的是动态页面,则通过 CGI 调用应用程序来实现相应 功能。若错误,则浏览器显示访问错误信息。2)C 语言编写住宅家电控制 CGI 程序control.cgi 的源码 control.c 包括了对串口实现程序 serial 的调用。以及对相应设 备的控制。(1)实现原理家电控制以及传感器模块通过扩展板的相应端口来控制。传感器的报警触发后, 通过串口向 ARM 发送相应的字符串,嵌入式平台再对字符串进行解析,并交给相应 的应用程序。家电控制方面,嵌入式平台将用户操作转换成控制命令发送到单片机 串口,单片机再调用93、相应的单片机程序,来实现家电开关的控制。如表 4.1 所示为传 感器报警发送的字符串。表 4.1传感器字符串表#S#1报头传感器编号华中科技大学硕士学位论文其中,红外报警数据为“#$#1”,烟雾报警数据为“#$#2”,煤气报警数据为 “#$#3”。家电控制字符串如表 4.2 所示:表 4.2家电控制字符串表%1111报头家电 1 标志位家电 2 标志位家电 3 标志位家电 4 标志位例如发送控制字符串为“%1011”表示家电 1、家电 3、家电 4 是开着的,而家 电 2 是关着的。每一路控制一个家电。control.c 通过调用串口实现文件,打开相应串 口,发送对应控制字符串实现对设备的操作94、。(2)程序设计流程图 4.10 给出了程序设计流程。开始NN打开串口Y成功串口设置YYN设置成功结束指令写入 串口关闭串口设置指令图 4.10家电住宅控制程序流程下面是 control.c 的部分主要源代码:int cgiMain()cgiHeaderContentType(text/html);华中科技大学硕士学位论文fprintf(cgiOut,n); fprintf(cgiOut,Controln); fprintf(cgiOut,);if(cgiFormRadio(power,power_control,2,&control_result,0)/ 电 源 开 关 控 制=cgiFor95、mSuccess)if(control_result=0) int bPowerOn=1;power=itoa(bPowerOn); if(control_result=1) int bPowerOn=0;power=itoa(bPowerOn);包括煤气,空调的控制这里省略if(cgiFormRadio(irda,irda_control,2,&control_result,0)/ 红 外 传 感 器 控 制=cgiFormSuccess)if(control_result=0) IRDAenable=1; IRDAalert=1; if(control_result=1) IRDAenab96、le=0; IRDAalert=0;煤气传感器,烟雾传感器控制这里省略 char*strCtrl=(char*)malloc(sizeof(char)*MAX_LEN); strcpy(strCtrl,%);strcat(strCtrl,power); strcat(strCtrl,gas); strcat(strCtrl,air); strcat(strCtrl,light); OpenBoardPort(); if(controlfd)const char*chCtrl=strCtrl; int len=strlen(chCtrl);nwrite(controlfd,chCtrl,len)97、;CloseBoardPort();3)住宅家电状态显示程序家电状态显示,包括家居中家电设备开关状态,以及红外、煤气、烟雾报警的 状态。数据库包括了相应家电状态以及时间。condition.c 程序流程如图 4.11 所示。华中科技大学硕士学位论文开始NN网页申请成功YCGI 应用程序YYN获取变量结束访问数据 库查询相应 数据以 HTML形式回显建立与数据库 的连接图 4.11住宅家电状态显示程序家电状态显示部分程序代码如下所示:.省略表单文件的请求int callback(void *pArg, int argc,char*argv, char*columnNames) int i;For98、(i=0;iargc;i+)Printf(%-10s%-8s%sn,columnNamesi,columnNamesi+argc,argvi);return(0); query() char *errmsg; Int ret,m;Sqlite *db=sqlite_open(/root/mydb,0777,&errmsg); If(db=0) fprintf(stderr,Could not open database:%sn,errmsg); Sqlite_freemem(errmsg);Exit(1);ret=sqlite_exec(db,PRAGAM SHOW_DATAT YPES=ON99、,NULL,NULL,NULL); ret=sqlite_exec(db,SELECT*FROM powercontrol,callback,NULL,&errmsg);.华中科技大学硕士学位论文4)住宅视频远程显示(1)移植服务器端程序服务器端程序采用的是 servfox。它复制摄像头视频的采集、视频的压缩以及视 频的发送。下载 servfox。http:/mxhaard.free.fr/spca50x/embedded/Servfox/servfox- R1_1_2tar.gz解压,进入其目录。修改 Makefile 文件为,CC=arm- linux- gccSERVFLAGS= -O2100、 -DLINUX $(WARNINGS) I /usr/linux/include再修改 spcav4l.c,将蓝色字部分都注释掉,否则移植到板上会出现Not a JPEG webcam sorry Abort 或者couldt set video palette Abort的错误。/* probe all available palette and size Not need on the FOX always jpeg if (probePalette(vd ) 0) exit_fatal (couldt probe video palette Abort !);if (probeSize101、(vd ) formatIn, err);*/之后 make 一下,会生成 servfox 文件,将可执行文件 servfox 复制到 nfs 共享目 录,在开发板上插上摄像头 ,再启动开发板 ,挂载 nfs 服务器,在开发板上运行, 输入命令:./servfox -d /dev/video0 - g -s 320x240 -w 7070程序运行了,提示为servfox version: 1.1.2 date: 11:12:2005 (C) mxhaardmagic.frWaiting . for connection. CTrl_c to stop ! 说明服务器运行正常。(2)编译客户端程102、序客户端程序使用的是 spcaview,下载地址为: http:/mxhaard.free.fr/spca50x/Download/spcaview-20061208.tar.gz解压,直接编译,使用 Make 命令,生成可执行文件 spcaview,运行华中科技大学硕士学位论文./spcaview -g -s 320x240 -w 192.168.0.100:7070其中 192.168.0.100 是嵌入式平台上的 IP 地址。连接成功就可以看到相应视频 显示。(3)Web 浏览器端在 spcaview 目录下找到目录 http-java-applet。把此目录放到 web 服务器的Doc103、umentroot 目录下,目录的权限修改一下 chmod -R 755 /home/spcaview/http-java-applet 安装 JRE,以让浏览器支持 JAVA 程序。接上摄像头,终端分别输入./boa 和./servfox -d /dev/video2 - g -s 640x480 -w 7070然后在 windows 或者 linux 的浏览器中打开网址http:/192.168.0.100/http-java-applet/index.html 这时候就能看到摄像头的内容了。vidio.cgi 主要完成前一级页面的调用 vidio.html 的响应,以及摄像头视频在浏览 104、器中的显示。4.2.3嵌入式平台蓝牙应用程序实现(1)嵌入式蓝牙通信的实现此部分包括蓝牙的初始化、交互和数据处理三部分。相应的程序流程如图 4.12所示。蓝牙初始化是通过 UART 给蓝牙模块发送相应的初始化指令,来实现蓝牙的初 始化操作和交互。系统将嵌入式平台蓝牙作为从设备,等待远端手机蓝牙的链接请 求。然后建立链接,获得链接句柄从而即可进行数据交换。手机端创建一个服务, 将其发布并设置为可发现状态,此时,嵌入式蓝牙平台端通过搜索发现相应的蓝牙 设备,并获取其地址,并针对这个地址进行相应的服务查询。(2)嵌入式蓝牙应用程序实现程序主要部分包括蓝牙模块的初始化,接收数据命令以及其它元件状态控制105、等。 对于外部数据的接收采用中断的方式,当有数据到达时置位相应的标志位。传输完 将标志位清零。数据传输到 UART 缓冲区后,需要对蓝牙数据分组中的有效载荷部分进行解析。 如嵌入式蓝牙模块在接收到数据分组后,对相应的控制命令进行解析。将相应的控华中科技大学硕士学位论文制命令传送到嵌入式主控制器,主控制器通过主控模块来响应对相应家居设备的控 制功能。Y是否有断链请求N是否主设备NYN查询是否有连接请求接收缓冲区是否有数据NY附近是否有蓝牙设备Y处理数据请求连接N连接请求是否有通过连接建立是否成功 Y连接建立是否成功断开连接Y系统初始化蓝牙初始化接受连接创建 ACL连接图 4.12蓝牙通信程序流程106、图4.2.4手机近距离蓝牙遥控实现1)系统登录模块在使用系统之前,首先得登陆系统。在登录界面,需要输入用户名和密码,然 后系统会与已经注册的用户信息进行比较。有几种常用的方式:可以把这些数据写 到注册表中,按照不同用户进行注册,这种方式性能最差;也可以将不同的用户信华中科技大学硕士学位论文息写到一个专用加密文件中(如 Windows 就是将用户信息写到 SAM 文件中);另一 种方法就是建立一个专门的用户表格来存放这些数据,尤其是用户数据量较大时, 这种方法更加适用。本系统登录,采用最简单的注册表读写方法。用户登录信息被写入注册表,同 一用户无须每次都输入登录信息。双击主窗体,在 Form_L107、oad 事件中输入下列代码Private Sub Form_Load() Bk_picturebox.Picture=App.Path & bk.BMP Dim hkey As LonglRetVal=RegOpenKeyEx=(HKEY_CURRENT_USER,mylogin,0, _KEY_ALL_ACCESS,hkey)If lRetVal=0 Then tx_psw.Text=QueryValue(HKEY_CURRENT_USER,mylogin,mylogin) tx_name.Text=myloginEnd If End Sub还需要定义一个注册表操作的 API 函数,其中包括108、注册表的键值的创建、更新以及查询等,同时要定义对注册表所进行的操作。Public Function CreateNewKey(lSecton As Long, sNewKeyName As String) Dim hNewKey As LongHandle to the new keyDim lRetVal As LongResult of the RegCreateKeyEx functionCreate Registry keyIf key already exists, nothing happenslRetVal=RegCreateKeyEx(lSection,sNewKeyName,109、CLng(0),_ vbNullString,REG_OPTION_NON_VOLATILE,_KEY_ALL_ACCESS,CLng(0),hNewKey,lRetVal)Return Handle to key CreateNewKey=hNewKeyClose Registry Handle RegCloseKey(hNewKey) End FunctionPublic Function QueryValue( lSection As Long,_ sKeyName As String, sValueName As String)华中科技大学硕士学位论文Public Sub SetKey110、Value(lSection As Long,_ sKeyName As String,sValueName As String,_ vValueSetting As Variant,lValueType As Long)Dim lRetVal As LongResult of the SetValueEx function Dim hKey As LongHandle of open keyOpen the specified keylRetVal=RegOpenKeyEx(lSection,sKeyName,0,KEY_ALL_ACCESS,hKey)Set New ValuelRetVa111、l=SetValueEx(hKey,s ValueName,lValueType,vValueSetting)2)蓝牙通信模块手机蓝牙通信采用 WinSocket 接口方式来实现蓝牙通信,首先搜索设备,然后 进行密码配对,接着进行连接,最后进行通信。(1)搜索设备首先搜索周边蓝牙设备,获取相应设备信息包括地址和所提供的端口号。搜索 采用函数 BthNsLookupServiceBegin,原型为:IntBthNsLookupServiceBegin(LPWSAQUERYSETlpqsRetriction,DWORD dwFlags, LPHANDLE lphLookup);第一个参数用于搜索参112、数,第二个参数用于限定为查询蓝牙设备。dwFlags 参数 等于 LUP_CONTAIN ERS,最后一个参数是 lphLookup 是查询操作的句柄。(2)开始查询蓝牙设备使用 BthNsLookupServiceNext(HANDLE hLookup,DWORD dwFlags, LPDWRD lpdwBufferLength, LPWSAQUERYSET pResults);hLookup 参数就是初始化时返回的句柄,dwFlags 说明需要查询的是什么信息(可 以设置为 LUP_RETURN_NAME 蓝牙名车名称或 LUP_RETURN_ADDR 蓝牙地址)。 lpdwBufferL113、ength 缓 冲 区 大 小 , 最 后 一 个 参 数 指 向 WSAQUERYSET 结构, WSAQUERYSET 结构中需要注意的是 dwNameSpace 字段设置为 NS_BTH。如果返回成功,在 pResults 指向的 WSAQUERYSET 结构里包含了所需要的 信息。反复调用 BthNsLookupServiceNext 函数就能遍历取得附近的所有蓝牙设备的华中科技大学硕士学位论文信 息 介 绍 遍 历 周 围 的 蓝 牙 设 备 需 要 调 用 BthNsLookupServiceEnd(HANDLE hLookup)。(3)密码匹配无线传输存在着安全隐含问题:蓝牙为短114、距离点对点无线通信,安全性较低。 因此要采取合适的安全和权限机制,采用密码验证模式是作为蓝牙连接的必要条 件。(4)连接设备嵌入式平台的蓝牙模块式服务端,随时等待手机客户端的连接。Socket(AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM);第三个参数是唯一的,表示协议是 RFCOMM。通过 socket 获得句柄后,就可以进行相应连接 int connect(SOCKET s, const struct SOCK_ADDR* name, int namelen);连接成功后,就可以读写数据流了。/创建蓝牙套接字SOCKET s = socket (AF_BT H, S115、OCK_STREAM, BT HPROTO_RFCOMM);if (s= INVALID_SOCKET) wprintf (L could not creat socket: error %dn,WSAGetLastError(); return;/初始化蓝牙地址 SOCKADDR_BT Hsab;Memset (&sab , 0 , sizeof(sab); sab.addressFamily=AF_BT H; sab.serviceClassId=FaxServiceClass_UUID; sad.btAddr=target_bluetooth_device; if(0!=connect 116、( s, &sab,sizeof (sab) wprintf (L count not connect socket: error%dn,WSAGetLastError() return;华中科技大学硕士学位论文3)控制信息模块主控制界面,包括蓝牙相应菜单项,以及相应按钮控制信息。蓝牙菜单项主要 是蓝牙通信模块方面。这里主要介绍按钮控制信息,以及信息的发送。RadioButton 控件通过 Panel 控件进行分组。分成相应 4 组。对应于相应的家电控制开关。对于分组的单选按钮。要判断同一组中单选按钮那一个被选中,可以调用 CWnd的成员函数 GetCheckedRadioButton 来实现117、。该成员函数原型为:int GetCheckedRadioButton ( int nIDFirstButton, int nIDLastButton);第 一 个 参 数 nIDFirstButton 是 同 一 组 中 的 第 一 个 单 选 按 钮 控 件 的 ID , nIDLastButton 是 同 一 组 中 最 后 一 个 单 选 按 钮 控 件 的 ID 。 成 员 函 数 GetCheckedRadioButton 返回指定组中第一个所选中的单选按钮的 ID,如果没有按钮 被选中,则返回 0。数据在通信之前,必须定义好数据信息格式。传输数据格式如表 4.3 所示。表 4.3118、标准 HCI 传输数据分组格式表分组头(1B)连接句柄(2B)数据长度(2B)数据表 4.4自定义 HCI 数据分组分组头(1B)连接句柄(2B)数据长度(2B)功能码(1B)数据参数家电 1 标志位家电 2 标志位家电 3 标志位家电 4 标志位该数据帧功能码表示家电控制类型,后面紧接着的表示相应家电开关状态“1” 表示对应家电开,“0”表示对应家电关。通过点击 Windows Mobile 模拟器上按钮,判断相应家电按钮的点击,生成数据 格式。然后点击相应“发送信息”选项,则直接采用 Winsock 的函数,send 函数,将 消息发送到服务器端。4.3系统测试与分析当系统的硬件与软件设计119、实现工作完成后,将嵌入式平台、单片机扩展版,以华中科技大学硕士学位论文及 PC 连接起来。在 PC 浏览器上登陆相应的嵌入式平台,进入主控制界面,如图 4.13所示:图 4.13网页上主控制界面点击主控制界面上的对应家电开关,可以看到扩展板上相应灯亮如图 4.14 所示图 4.14扩展板上的显示进入到网页监控页面。可以看到相应的视频画面。手机模拟器方面,初始化嵌入式平台蓝牙模块,处于准备就绪阶段。手机上登 陆进入系统,通过搜索并连接到平台上面的蓝牙。点击手机模拟器上相应开关的按 钮,同样也能在扩展板上看到相应灯变亮。经测试,PC 网页部分,通过点击按钮扩展板能够及时响应相应的动作。而视屏 监控120、会出现延时。主要是网页要实现定时刷新功能。手机模拟器方面,蓝牙点对点 通信可以实现数据的交互。但嵌入式平台上蓝牙模块与主机之间进行数据的交互以 及主控模块接收到相应信息有时会出现错误,导致扩展板没有反应。同时手机蓝牙 控制是近距离的控制,信息的传输最好在 10 米范围内。4.4本章小结本章主要阐述了具体的系统实现过程以及相应技术环境的搭建。即以嵌入式华中科技大学硕士学位论文Linux 作为嵌入式平台。并在此平台的基础上搭建了并移植了 Web 服务器,在 Web 服务器中有移植了 CGI 程序开发库 CGIC 库,以及在 Web 服务器中搭建用于视屏服 务的流媒体服务器。接着搭建了嵌入式平台的蓝121、牙模块开发与运行环境。同时在 Windows Mobile 模拟器上搭建了蓝牙软硬件开发环境。开发环境搭建完成后,分别详细的实现了 CGI 应用程序模块、嵌入式通信模块、Windows Mobile 手机蓝牙控制 模块等。并在其中给出了部分网页界面以及手机用户界面。最后,对系统的相应功 能进行了测试,主要是 PC 远程控制与监控的测试以及手机蓝牙控制的测试。并对系 统中存在的问题进行了相应的分析。华中科技大学硕士学位论文5总结与展望5.1全文总结本课题将嵌入式技术、Web 服务器技术以及蓝牙技术三者结合起来开发了智能 住宅系统,实现了智能住宅中家居家电的智能控制,家居安全的监控以及家庭报警 信122、号的接收与发送等模块。(1)采用 Web 服务器,使得 Internet 发达的今天,可以 随时通过上网访问并控制家电状态,同时由于采用的 Web 服务器 Boa 为单任务服务 器,不具有并发性。通过采用 Linux 定时器机制使系统具有并发执行多个任务的能 力,同时提高 Web 页面的响应速度。(2)由于手机用户的普遍,再加上手机一般都 带有蓝牙功能,通过蓝牙近距离控制住宅内家电,用户界面“傻瓜化”,通过手机 点击相应按钮即能实现相应操作,使得用户使用方便快捷。本论文主要阐述了系统的构成、平台搭建和软件的设计与实现。在对该课题的 研究中,我主要完成了一下工作:(1)嵌入式平台操作系统以及交叉123、编译环境的搭建。(2)Web 服务器的选择,Boa 嵌入式服务器的配置与移植以及网页 HTML 的 设计。后台控制程序 CGI 程序的设计与实现(包括相应串口程序的实现),流媒体服 务器的实现(包括摄像头视频的采集,压缩,以及远距离传输)和浏览器客户端的 实现。(3)蓝牙手机控制器的设计与实现,由于没有手机实体,在 PC 机上使用 Windows Mobile 模拟器来进行手机蓝牙应用程序的开发。模拟器上没有蓝牙硬 件,通过使模拟器与 PC 蓝牙同步来实现蓝牙的应用。手机控制端主要是对按钮 事件产生相应的控制命令,发送到嵌入式平台的蓝牙模块,蓝牙模块与嵌入式平 台进行数据交互。嵌入式平台再与主124、控制模块进行交互。来实现对家居设备的控 制。(4)对最终 PC 远程通信和手机蓝牙近距离通信进行了相应测试。找到系统中 需要完善的部分。华中科技大学硕士学位论文5.2课题展望由于时间上的原因,以及资源的限制。系统还存在着一些不足,需要进一步改 进和完善,主要体现在以下几点:(1)局域网的设计:目前只是通过有线的方式实现了 PC 网页对嵌入式平台主 控制器的访问和控制。还需要接入相应的物理设备,如路由器,以及无线 WIFI 等来 实现只要是接入到 Internet 的主机都能够远程访问智能家居系统平台,同时手机用户 也可以通过 GPRS/3G 访问远程随时随地访问智能家居系统。(2)信息安全问题125、:信息安全在系统的设计与实现中占据着很重要的位置,在 嵌入式设备中也日益突出。在本系统中只是通过了设置相应的登录界面来实现基本 的安全保障。在安全设计中考虑到的相关安全技术,没能具体的实施于本系统。从 而使得智能家居系统可能存在着被外来人员任意使用的恶性结果。(3)系统方案方面:本系统没有具体讨论家居中家电设备具体的布线以及连接 系统。后续可以考虑内部局域网络采用无线传感器网络。通过无线传感网络感知家 居环境的微小变化,然后智能的进行相应的微观控制。使家居生活更加智能便捷。华中科技大学硕士学位论文致谢在论文即将完成的这一刻。心底由衷的要感谢一直诲人不倦的黄老师,还有生 活上给予我很多支持和帮忙126、的同学们,以及给予我强大动力的家人。特别要感谢的是我的导师黄立群老师。黄老师治学严谨,孜孜不倦,在教学与 科研的重任中仍抽出时间,时时召集实验室同学进行项目与实践工作的探讨,督促 学业。谆谆教诲中蕴含殷切之情。论文从开题到最后定稿,黄老师都是不厌其烦的, 一遍遍的审批,大到文章结构层次,小到语句表示瑕疵,都一一予以指出改正。对 我的论文工作的指导意义深远。也同时让我体会到科研工作不容半点马虎。再次感 谢黄老师对我的谆谆教导。我将铭记于心。同时,我还要感谢张慧娟、叶倩、彭志才等同学对我生活和学习上无数次的给 予我的帮助,我们也因此建立了真挚的友谊。在这里我也要特别感谢我得父母,正 因为有了他们的127、经济和精神上无微不至的关怀与支持,我能够不断进步。最后,忠心感谢论文评审和答辩过程中付出辛勤汗水的各位专家。由于时间的 有限,加上自己水平有限。论文难免有纰漏。望各位老师同学指正。华中科技大学硕士学位论文参考文献1 L. C. Fu, T. J. Shih. Holonic Supervisory control and data acquisition Kernel for 21st century intelligent building system. Washington DC. IEEE Computer Society Press, 2000: 2641-26462 中华人民共和国128、建设部主编. 智能建筑设计标准(GB T50314-2000). 北京: 中 国计划出版社, 2000: 第一版3章云, 徐锦标. 建筑智能化系统M. 北京: 清华大学出版社, 2004: 14 胡远. “三网融合”下智能家居产业的机遇与挑战J. 中国安防, 2010. 10: 86-875 Dae-Man Han, Jae-Hyun Lim. Design and implementation of smart home energy management systems based on zigbee. IEEE Consumer Electronics Society, 2010: 14129、17-14256 T. Yamazaki. Ubiquitous Home. International Journal of Smart Home, dec. 2007, 1(1): 17-227 Gill Khusvinder, Yang Shuang-Hua, Yao Fang. A ZigBee- Based Home Automation System. IEEE Transactions On Consumer Electronics, may 2009, 55(2): 422-4308 Lax Barry M. Intelligent BuildingJ. IEEE Commun130、ications Magazine, 2001, 29(1): 35-379 Jouve W., Ibrahim N., Reveillere L., et al. Building Home Monitoring A pplications: From Design to Implementation into The Amigo MiddlewareA. Pervasive Computing and Applications, 2007. ICPCA 2007. 2nd International Conference,Birmingham, 26-27 July 2007: 231-2131、3610佚名. 海尔 U-home 家庭智能终端亮相高交会. 数智网, 2008. 10: 611 徐超. 我的 e 家智能家居打造信息时代全新家居生活. 2008 年国际信息通信展 特别报道, 2008. 1012黄小池. 智能家居系统的现状和发展趋势J. 计算机科学, 2003. 1: 74-7513付宏. 嵌入式 Internet 应用研究. 计算机工程与应用, 2003, 30: 914李善平, 刘文峰, 王焕龙等编著. Linux 与嵌入式系统M. 北京: 清华大学出版华中科技大学硕士学位论文社, 2003. 115韦东山编著. 嵌入式 Linux 应用开发完全手册M. 北京: 人民132、邮电出版社, 2008. 8: 23-2416王金龙, 苏瑞元和江叔盈等编著. 嵌入式操作系统开发与应用程序设计M. 北 京: 清华大学出版社, 2009. 11: 5-1017Zhu Cheng-yun. Design and Realization of Monitoring System Based on CAN and Embedded WEB. Instrument Techniques and Sensor, Nov. 2010(11): 53-8918Pan Zhuo-jin, Wang Qiu-shi. Study on dynamic web technique in emb133、edded web server. Computer Engineering and Design, sep. 2010(31): 1819孙宇虹, 崔少彬. 家庭网路 中嵌入式服 务器的研究 J. 计算机工 程与设计,2008(6)20 W. Richard Stevens. TCP/IP 详解卷一: 协议M. 北京: 机械工业出版社, 2000 21 R. Fielding, J. Gettys, J. C. Mogul, et al. Request for Comments: 2616, HypertextTransfer Protocol- HTTP/1. 1, June 19992134、2W. Richard Stevens. TCP/IP 详解卷 3: 事务过程中的 TCP 协议, HTTP, NNTP 和UNIX 中的协议. 北京: 机械工业出版社, 200023李勇. CGI 在嵌入式 WEB 服务器中的应用和实现J. 微计算机信息, 2008, 24: 180-18124陈红梅, 陈静, 李雪冬. 嵌入式 Linux 下基于 CGI 的动态 Web 的实现. 计算机 时代, 2010(4): 4-925 刘伟, 李小武, 罗明编著. CGI 技术全面接触M. 北京: 清华大学出版社, 2001 26 杜闯. PHP 在动态网站开发中的优势J. 电脑知识与技术, 201135、0, 13: 3342-3344 27 王海, 许占文. 一种基于 PHP 开发动态网页的技术J. 沈阳工业大学学报,2003, 25: 323-33728余夕亮, 黄宏程. 基于 PHP 的 web services 的研究与应用J. 网络与通信, 2008.2: 90-14029肖田元, 王爱民, 范文慧. 基于 ASP 的网络化制造平台研究J. 高技术通讯2004(9): 71-7530毛德详, 罗荣阁. 基于 ASP. net 技术的 Web 应用程序三层设计模型J. 微型电华中科技大学硕士学位论文脑应用, 2002(3): 26-3031胡秀源. 基于 ASP 技术的动态网站设计J.136、 制造业自动化, 2011(6): 204-208 32徐白, 宋玲, 吴昊. JSP 静态 网页生 成技 术的研 究J. 计 算机 技术与 发展,2010(6): 175-17933Decoder. JSP 技术揭秘M. 北京: 清华大学出版社, 2001: 140-15634 荣钦科技. JSP 动态网站开发与实例M. 第 3 版. 北京: 清华大学出版社, 2006: 279-28735 Brennan Thomas M. Jr, Ernst Joseph M., Day Christopher M. Influence of Vertical Sensor Placement on D137、ata Collection Efficiency from Bluetooth MAC Address Collection Devices. Journal Of Transportation Engineering-AscE, dec 2010(136): 1104-110936 Chaegwon Lim, Myung-Sun Huh, Chong-Ho Choi. general Bluetooth scatternet formation protocol for ad hoc networking. IEICE Transactions on Communicatio-ns, 20138、10(E93-B): 1-1237 Lioret Jaime, Sendra Sandra, Coll Hugo. Saving Energy in Wireless Local Area Sensor Networks. Computer Journal, 2010(53): 1658-167338钱志鸿, 杨帆, 周求湛编著. 蓝牙技术原理、开发与应用M. 北京: 北京航空航天大学出版社, 2006. 3: 27-9639 金纯, 林金朝, 万金红编著. 蓝牙协议及其源代码分析M. 北京: 国防工业出 版社, 2006. 6: 23-36640 Chakraborty Goutam, Na139、ik Kshirasagar, Chakraborty Debasish. Analysis of the Bluetooth device discovery protocol. Wireless Networks, 2010(16): 421-3641 Martiacutenez-Pelaacuteez R., Rico-Novella F. J., Satizaacutebal C. study of mobile payment protocols and its performance evaluation on mobile devices. International Journ140、al of Information Technology and Management, 2010(9): 337-35642 Miao Changyun, Ye Chunqing. Automobile inspection system based on wireless communication. Proceeding of the SPIE-The International Society for Optical Engineering, Jay. 2010(7749): 77491B43 Boja C., Babraevetabrevegan L., Zamfiroiu A. Secure Architecture for M-learning Bluetooth Services. Informatica Economica, Jan, 2010(14): 47-59华中科技大学硕士学位论文44范盛荣编著. Windows Mobile 应用程序开发实践M. 北京: 科学出版社, 2006.11: 3-20445傅曦, 齐宇, 徐骏等编著. Windows Mobile 手机应用开发M. 北京: 人民邮电 出版社, 2005. 6