常州机电职业技术学院
毕业设计(论文)
作 者: 周臻元 学 号: 50911220 系 部: 信息工程系 专 业: 计算机网络技术
题 目: 无线传感器网络在智能家居安防系统中的应用
———中央控制平台模块设计
指导者:
顾卫杰
评阅者:
2012年 4 月
毕业设计(论文)中文摘要
智能家居系统是由智能家居安防系统、网络服务系统和家庭自动化系统等子系统组成的家庭综合服务与管理集成系统.其中,智能家居安防系统担负着保护人们生命财产安全的职责因此成为智能家居系统的首选组成部分。 论文采用了一种“系统控制中心+ZigBee无线传感器网络”的方案对系统进行了总体设计。介绍了方案的总体框架,并对系统各组成部分进行了详细的阐述。 系统采用ZigBee技术构建家庭监控网络,并设计了ZigBee网络节点的应用程序.系统控制中心以PXA270为处理器,通过与之相连接的ZigBee模块,接收家庭内部网络采集到的报警信息;再通过GPRS模块以短信或彩信的形式实现报警及控制信息的远程传输。 关键词:智能家居安防系统,网络节点,远程传输
毕业设计(论文)外文摘要
Title:The Application of Wireless Sensor Networks in Security System of Smart Home —-—The Design of Center Control Platform Module Abstract: Smart home system is composed of intelligent home security systems, network services, systems and home automation systems, subsystems and integrated services of family management integration system。 Among them, the intelligent home security system to protect people charged with the responsibilities of life and property become the first choice for the smart home system components. Paper uses a ”system control center + ZigBee wireless sensor network\" program of the overall system design. Describes the program's overall framework and system components were described in detail。 System using ZigBee technology to build home monitoring networks, and design of ZigBee network node applications。 System control center for the PXA270 processor, connected with the ZigBee modules, networking within the family gathered to receive the alarm information; through SMS or MMS GPRS module to form an alarm and remote control information transmission。 Keywords :Intelligent household security system, network nodes, remote transmission
目录
1 绪论............................................................. 1 1.1 研究背景....................................................... 1 1。2 选题的意义和目的.............................................. 3 1。3 论文的主要工作和结构.......................................... 4 2 关键技术介绍..................................................... 5 2。1 IEEE802.15.4网络简介 ......................................... 5 2.2 ZigBee协议 .................................................... 6 2.3 ZigBee网络拓扑结构 ............................................ 7 2。4 ZigBee网络的自适应机制 ....................................... 9 3 传感器节点和网关设计............................................ 11 3。1 系统功能..................................................... 11 3.2 系统结构...................................................... 11 3。3 系统的开发环境............................................... 11 4 智能家居安防子系统中央控制平台总体设计.......................... 13 4.1 控制平台功能与结构............................................ 13 4.2 涉及到的软硬件介绍............................................ 17 5 智能家居安防子系统详细设计...................................... 19 5.1 硬件设计...................................................... 19 5。2 软件设计..................................................... 24 5.3 Web远程控制 .................................................. 31 6 系统功能测试.................................................... 35 总结............................................................... 36 致谢............................................................... 37 参考文献........................................................... 37
1 绪论
随着我国国民经济和人民生活水平的不断提高,人们越来越追求高品质的生活,对居住环境的舒适性,便利性,安全性也有了更高的要求。进入二十一世纪,社会信息化的进程在逐步深入,人们充分的享受信息时代下工作、生活的便利。计算机技术,网络技术,及其应用的迅猛发展和日趋成熟,为人们更高的生活需求提供了有效的手段.计算机和计算机网络,不仅给人们生活带来极大的便利,还实现了人类一直以来跨越空间限制的梦想.
目前智能家居是一般指在家庭范围内,实现信息设备,通信设备,娱乐设备,家用电器,自动化设备,照明设备,监控设备,以及水、电、气、热表等设备、家庭求助报警设备的互联和管理,以及数据和多媒体信息共享的系统,将各种与家庭生活工作相关的子系统有机结合在一起组成一个舒适的环境,是数字化家庭的发展方向.其相关的技术研究成为了IT技术领域的一大热点。智能家居系统的应用和普及更将大大提高人们的生活质量,改变我们的工作和生活方式。
1。1 研究背景
随着科学技术的发展和人民生活水平的不断提高,越来越多的智能家电产品和高科技产品进入了我们的生活。同时,人们的生活理念也在发生着变化,家居生活的网络化与智能化成为人们新的需求,智能家居系统也由此成为了目前世界范围内的一个热门的研究领域。智能家居是以家庭住宅为平台,融合计算机、信息家电、网络通信和自动控制等技术,将与家庭生活相关的各种应用子系统有机地结合起来,为人们提供更加舒适、便捷、高效和安全的现代居住环境。从目前的发展趋势来看,在未来的20年时间里,智能家居行业将成为中国的主流行业之一。
智能家居系统是由家居安防系统、网络服务系统和家庭自动化系统等子系统组成的家庭综合服务与管理集成系统。其中,家居安防系统担负着保护人们生命财产安全的职责,由此成为智能家居系统的首要组成部分,其市场的发展前景是非常广阔的智能家居安防系统,是指由各种先进的、智能化的电子保安设备对住宅各要害部位进行多种监测、一旦监测到异常情况就触发报警服务的智能系统;它集防盗、防劫、防火、防燃气泄漏等功能于一体,一旦遇到异常即刻自动报警,
1
系统中各安防设备相互通信配合,让居住者高枕无忧闭. 1。1。1 智能家居安防系统的应用需求
家居安防涵括众多子系统,以视频监控系统为例,在设计方案时,必须同时依据国家法规及结合业主的需求,充分考虑系统应用的安全性。以下是设计方案时需要兼顾的几点普适性思路:安防监控系统的设置要全面,考虑要周全,堵住防范漏洞,制造安全居住环境;在整体防范的要求上,对家中各个位置进行重点监视;在发生警情时必须能立即通过防范系统掌握警情、案发现场的具体情况以及采取相应措施。也就是说,必须快速准确地做出反应;系统技术先进,功能齐全,操作使用维修维护方便;具有良好的兼容性、易扩展性;具有良好的性价比。具体来说,在实际项目中,根据建筑物的具体布局,需要设计多重防护,要注重人防和技防的结合.首先,在大门口设置摄像机,作为第一道防护屏障。其次,在各个房间门口设置摄像机,作为整个建筑体的第二道防护屏障.另外,还要结合周界防范、可视对讲、电子巡更及报警系统等形成更多重防护屏障。通过层层设防,人防与技防结合,设计出一个性价比高、功能实用、设计全面、安全防护水平高的综合管理体系,使管理、保安人员能快速反应各类突发事件,并提供准确的现场资料。
1。1。2 智能家居安防系统的研究及应用现状
智能家居与安防子系统包括:闭路监控电视子系统、门禁子系统和入侵报警子系统。
在众多子系统中,闭路电视监控系统在智能家居安防中的比重越来越大。在家中,视频监控主要安装在出入口,将图像传送到信息中心平台,进行统一的全方位监控监测,形成幕帘状警戒面包围建筑,以立体空间监视建筑内部,使管理人员全面掌握建筑内各处的动态,阻止治安事件发生,并为迅速排除治安事件提供科学的依据。
从安全上考虑,在一个大型的小区中,监控系统已经不再是小范围的完成音视频监控功能便可了,它需要集成报警,实现多系统的联动。并且,随着网络的发展,数字化监控获得更快速发展,安防监控与110报警中心的联动开始得到应用。总的来说,方案必须要综合考虑各种因素,使系统达到安全可靠、技术先进、功能齐全、性价比高、操作维护简便等效果.
2
1.2 选题的意义和目的
1。2。1 本课题的研究意义
在我们的日常生活中,安全是至关重要的,离开了安全,那么生活就会毫无幸福、快乐的可言,它关系到每个人的生活及财产是否得以保障,没有人希望自己辛辛苦苦得来的成果、所拥有的一切在突然间变得一无所有。所以说安全是美好生活的前提条件,安全标志着生活的质量。 我们所说的安防,就是安全防范,是指防盗、防入侵、防火、防煤气泄漏等。传统住宅的自我保护方式就是安装防盗门、防盗窗栏杆等,把住宅搞得像鸟笼一样,一旦发生火灾,反而变成了逃生的障碍;要不就搞得像兵营一样,保安日夜到处巡视,也不知道谁是盗贼,谁是保安。这些,都是处于被动的防卫,而降低犯罪有效率最有效的方法就是预防,防患于未然。现在,随着生活水平的逐步提高以及人们对家庭安全意识的加强,一套可靠的家庭安防系统已经成为人们生活的必需品。随着社会形态的成长,人口流动提速,安防监控形势日益严峻。
在现今社会形态,许多人遍及缺少安全感.家就成了咱们最后的港湾。然而,因为犯法份子已经将魔手伸向了每个死角,家也需要咱们来主动防备保护。于是,越来越多的家庭选择了安装家庭安防体系来保障家的安全. 1。2。2 本课题的研究目的
智能家居安防系统是指通过各种报警探测器、报警主机、摄像机、读卡器、门禁控制器、接警中心及其它安防设备为住宅提供入侵报 警系统服务的一个综合性的系统。包含了三大子系统:闭路监控电视子系统、门禁子系统和入侵报警子系统。另外需要说明的是一个好的家庭安防系统是需要一个综合型的接警中心。如果发生盗贼闯入、抢劫、烟雾、燃气泄漏、玻璃破碎等紧急事故,传感器就会立即获知并由报警系统即刻触发声光警报以有效阻吓企图行窃的盗贼,而现场保安系统的密码键盘立即显示相应报警区域,使您的家人保持警戒;系统还会迅速向报警中心传送报警信息;报警中心接到警情后立即自动进行分辨处理,迅速识别判定警报类型、地点、用户,电子地图显示报警位置并瞬间检索打印用户报警信息,中心据此派出机动力量采取相应解救措施;系统具备24小时防破坏功能并自我监视,一旦有任何被破坏的迹象也会即刻报警.总之,无论白天黑夜,您离家在外还是在家休息,电子保安时时刻刻保护您的安全。这正是您能为您的
3
家人、家庭、财产所做的最有效的安全防盗保护措施。通过在住宅内门窗及室内其他部位安装各种探测器进行昼夜控制,当监测到警情时,通过住宅内的报警主机传送至智能管理中心的报警接收计算机、接收将 准确显示警情发生的住户名称、地址和警报类型、提示保安人员迅速确认警情,及时赶赴现场,以确保住户和人身安全。同时,住户也可通过固定式紧急呼叫报警系统,在住宅内发生抢劫案件和病人突发疾病时,向智能化管理中心呼叫报警,中心可根据情况迅速处理.
1。3 论文的主要工作和结构
论文按照上面所述研究内容组织章节,各章内容安排如下:
第一章:绪论。介绍论文的选题背景及研究意义,分析了智能家居安防行业的发展动态和现有产品存在的问题,以及论文的研究内容及结构安排。
第二章:关键技术介绍。主要介绍ZigBee,涉及到多个领域的技术,本章介绍了实现智能家居安防系统所用到的关键技术。
第三章:传感器节点和网关设计。对ZigBee协议栈进行了分析,给出了ZigBee无线传感器网络的构建方法及网络节点的设计。
第四章:智能家居安防子系统中央控制平台总体设计。介绍了整个系统的功能和结构,分别从软件和硬件两方面对系统控制中心的设计进行了论述。
第五章:智能家居安防子系统详细设计。从硬件、软件和Web平台介绍了安防系统的应用.
第六章:系统功能测试
4
2 关键技术介绍
2.1 IEEE802。15.4网络简介
IEEE 802。15。4网络是指在一个POS内使用相同无线信道并通过IEEE 802。15。4标准相互通信的一组设备的集合,又名LR—WPAN网络。在这个网络中,根据设备所具有的通信能力,可以分为全功能设备(full-function device,FFD)和精简功能设备(reduced—function device,RFD).FFD设备之间以及FFD设备与RFD设备之间都可以通信。RFD设备之间不能直接通信,只能与FFD设备通信,或者通过一个FFD设备向外转发数据。这个与RFD相关联的FFD设备称为该RFD的协调器(coordinator)。RFD设备主要用于简单的控制应用,如灯的开关、被动式红外线传感器等,传输的数据量较少,对传输资源和通信资源占用不多,这样RFD设备可以采用非常廉价的实现方案。
IEEE 802.15.4网络中,有一个称为PAN网络协调器(PAN coordinator)的FFD设备,是LR—WPAN网络中的主控制器。PAN网络协调器(以后简称网络协调器)除了直接参与应用以外,还要完成成员身份管理、链路状态信息管理以及分组转发等任务。
无线通信信道的特征是动态变化的.节点位置或天线方向的微小改变、物体移动等周围环境的变化都有可能引起通信链路信号强度和质量的剧烈变化,因而无线通信的覆盖范围不是确定的.这就造成了LR—WPAN网络中设备的数量以及它们之间关系的动态变化。
IEEE802。15.4网络是指在一个POS内使用相同无线信道并通过IEEE 802.15.4标准相互通信的一组设备的集合。在这个网络中,根据设备所具有的通信能力,可以分为全功能设备(Full-Function Device,FFD)和精简功能设备(Reduced-Function Device,RFD).FFD设备之间以及FFD设备与RFD设备之间都可以通信。RFD设备之间不能直接通信,只能与FFD设备通信,或者通过一个FFD设备向外转发数据。这个与RFD相关联的RFD设备称为该RFD的协调器(coordinator),RFD设备主要用于简单的控制应用,如灯的开关、被动式红外线传感器等,传输的数据量较少,对传输资源和通信资源占用不多,这样RFD设备可以采用非常廉价的实现方案。
5
2。2 ZigBee协议
无线传感器网络节点要进行相互的数据交流就要有相应的无线网络协议(包括MAC层、路由、网络层、应用层等),传统的无线协议很难适应无线传感器的低花费、低能量、高容错性等的要求,这种情况下,ZigBee协议应运而生。Zigbee的基础是IEEE 802.15.但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标准化。Zigbee是一种新兴的短距离、低速率的无线网络技术。主要用于近距离无线连接。它有自己的协议标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高.Zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,十分类似现有的移动通信的CDMA网或GSM网,每一个Zigbee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里;另外整个Zigbee网络还可以与现有的其它的各种网络连接。通常,符合如下条件之一的应用,就可以考虑采用Zigbee技术做无线传输:需要数据采集或监控的网点多;要求传输的数据量不大,而要求设备成本低;要求数据传输可性高,安全性高;设备体积很小,不便放置较大的充电电池或者电源模块;电池供电;地形复杂,监测点多,需要较大的网络覆盖;现有移动网络的覆盖盲区;使用现存移动网络进行低数据量传输的遥测遥控系统;使用GPS效果差,或成本太高的局部区域移动目标的定位应用.值得注意的是,在已经发布的ZIGBEE V1。0中并没有规定具体的路由协议,具体协议由协议栈实现。
ZigBee一开始是由Honywell所发起,ZigBee联盟成立于2001年8月.2002年下半年,英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布[30],它们将加盟“ZigBee联盟”,以研发名为“ZigBee”的下一代无线通信标准,这一事件成为该项技术发展过程中的里程碑.到目前为止,除了Invensys、三菱电子、摩托罗拉和飞利浦等国际知名的大公司外,该联盟大约已有150家成员企业,并在迅速发展壮大。其中涵盖了半导体生产商、IP服务提供商、消费类电子厂商及OEM商等。
基于IEEE802。15。4标准,可在数千个微小的传感器之间实现相互协调通
6
信.另外,采用接力的方式通过无线电波将数据从一个传感器传到另一个传感器,可使得通信效率非常高。一般而言,随着通信距离的增大,设备的复杂度、功耗以及系统成本都在增加.相对于现有的各种无线通信技术,ZigBee技术的低功耗、低速率是最适合作为传感器网络的标准。
2。3 ZigBee网络拓扑结构
ZigBee的基础是IEEE802。15。4,这是IEEE针对低速无线个人区域网(Low—Rate Wireless Personal Area Network,LR-WPAN)工作组的一项标准,被称作IEEE802.15.4(ZigBee)技术标准。该标准把低能量、低速率和低成本作为重点目标,旨在为个人或家庭范围内不同设备之间低速互联提供统一标准。其典型的传输数据类型有周期性数据(如传感器数据)、间歇性数据(如照明控制)和重复性低反应时间数据(如鼠标)。IEEE802。15。4规范是一种经济、高效、低数据速率(<250kbps)、工作在2。4GHz和868/915MHz的无线技术,网络层以上协议由ZigBee联盟制定,IEEE802.15.4负责物理层和链路层标准.完整的ZigBee协议套件由高层应用规范、应用会聚层、网络层、以及数据链路层和物理层组成。
(1)物理层
物理层采用DSSS(Direct Sequence Spread Spectrum,直接序列扩展频谱)技术,可提供27个信道用于数据收发。IEEE802。15。4定义了2.4GHz频段和868/915MHz频段两种物理层标准。物理层的主要功能包括:激活和休眠频收发器,信道能量检测,信道接收数据包的链路质量指示,空闲信道评估,收发数据。
(2)数据链路层
IEEE802系列标准把数据链路层分为媒质接入层MAC和逻辑链路控制层LLC。IEEE802.15。4的MAC子层支持多种LLC标准。MAC子层使用物理层提供的服务实现设备之间的数据帧传输;而LLC子层在MAC子层的基础上,给设备提供面向连接和无连接的服务。MAC子层功能具体包括:协调器产生并发送信标帧,普通设备根据协调器的信标帧与协调器同步;支持PAN网络的关联和取消关联;支持无线信道的通信安全;使用CSMA—CA机制;支持保护时隙(GTS)机制;支持不同设备的MAC层之间的可靠传输.LLC子层功能包括:传输可靠性保障和控制;数据包的分段与重组;数据包的顺序传输。在
IEEE802.15.4网络中,有一个称为PAN网络协调器(PAN coordinator)的FFD设
7
备,是LR—WPAN网络中的主控制器。PAN网络协调器除了直接参与应用以外,还要完成成员身份管理、链路状态信息管理以及分组转发等任务. (3)IEEE 802。15。4网络拓扑结构
IEEE 802.15。4网络可以根据应用的需要可以组织成星型拓扑结构网络,还可以组织成点对点网络,如下图2-1所示。在星型结构中,所有设备都有中心设备PAN网络协调器通信。在这种网络中,网络协调器一般使用持续电力系统供电,而其他设备采用电池供电.星型网络适合家庭自动化、个人计算机的外设以及个人健康护理等小范围的室内使用。
图2—1 IEEE 802.15。4网络拓扑结构
与星型网络不同,点对点网络只要彼此都在对方的无线辐射范围之内,任何两个设备之间都可以直接通信。点对点网络中也需要网络协调器,负责实现管理链路状态信息,认证设备身份等功能.点对点网络模式可以支持Ad hoc网络,允许通过多跳路由的方式在网络中传输数据.不过一般认为自组织问题由网络层来解决,不在IEEE 802.15.4标准讨论范围之内。点对点网络可以构造更复杂的网络结构,适合于设备分布范围广的应用,比如在工业检测与控制、货物库存跟踪和智能农业方面有非常好的应用前景。
(4)IEEE802.15.4网络协议栈
IEEE802。15.4网络协议栈基于开放系统互连参考模型(OSI),每一层实现一部分通信功能,并向上层提供服务.IEEE802。15.4标准只定义了物理层(PHY)和数据链路层的MAC子层。PHY层由射频收发器以及底层的控制模块构成。MAC子层为高层访问物理信道提供点到点通信的服务接口。
MAC子层以上的几个层次,包括特定服务的聚合子层(Service Specific Convergence Sublayer,SSCS),链路控制子层(Logical Link Control,LLC)等,
8
只是IEEE802.15.4标准可能的上层协议,并不在IEEE802.15。4标准的定义范围之内。SSCS为IEEE802。15。4的MAC层接入IEEE802.15。4标准中定义的LLC子层提供聚合服务。LLC子层可以使用SSCS的服务接口访问IEEE 802。15。4网络,为应用层提供链路层服务。
物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据,物理层管理服务维护一个由物理层相关数据组成的数据库。
在IEEE802系列标准中,OSI参考模型的数据链路层进一步划分为MAC和LLC两个子层。MAC子层使用物理层提供的服务实现设备之间的数据帧传输,而LLC子层在MAC子层的基础上,在设备间提供面向连接和非连接的服务。
2。4 ZigBee网络的自适应机制
2。4.1 网络负载问题
所谓的网络自适应机制主要是为解决网络的负载平衡而专门为zigbee网络而设置的一种均衡机制。该机制对zigbee网络主要在这两种情况下适应:一种是网络形成时是网络负载均衡,另一种是网络形成后的网络的自我调节的负载均衡。当zigbee网络形成时,假如终端设备节点加入网络主设备过程无约束无组织,这样就会使主设备所加入的终端设备的数量出现很大的差距,进而使主设备处理所负载的所有的终端设备通讯数据有很大差距,这样在大量的节点长时间通讯时就更会出现网络负载的不均衡现象,使整个网络的数据在各个设备间传输时出现严重的不平衡状态,一个主设备数据已经传输完毕,而另一个主设备还有大量的数据要处理,中心设备等待少量的主设备的数据而不能进行下面的工作,造成zigbee网络的数据传输瓶颈问题。为了解决这一问题在网络的建立时采用一种机制-zigbee网络自适应—使整个网络中的主设备负载均衡,解决网络瓶颈问题。另一方面在网络建立后由于种种原因,比如网络终端设备脱离网络,终端设备出现故障等。这些都有可能引起网络的不均衡,网络数据传输的瓶颈问题,当出现这种现象时自适应机制也要能使网络的各个部分负载均衡. 2。4.2 均衡过程
(1)对于中心设备在建立网络过程时发起网络建立消息。使各个主设备加入网络,这时中心设备封闭所有主设备的终端设备加入信号,计算单位时间内各个
9
主设备数据总量,并计算单位时间内的数据值,存储该值,扫面存储所有主设备的这个值,搜索一个最小值,打开相对应的主设备的终端设备加入信号,一个设备加入,关闭该信号,再重新扫描所有主设备的这个值,再搜索一个单位时间内数据值最小的一个主设备打开终端设备加入信号,接受终端设备加入,反复操作,直到所有的终端设备加入整个网络,建立起整个zigbee网络,这时记下最大值和最小值之间的差值.在网络建立后通讯过程中设置定时器定期扫面所有主设备单位时间内的通讯数据值,假如最大值和最小值的差大于差值,那么就让最大值相对应的主设备的某个终端设备脱离该主设备而加入最小值的主设备,如此反复使网络始终处于一个平衡状态.
(2)对于终端设备来说,按一定的采集频率采集数据发送到主设备,主设备把所有的终端设备的数据全部发送到中心设备,中心设备存储这些数据处理。 2.4。3 结果分析
Zigbee大型网络的搭建需要一定的环境,在软件模拟的情况下对所设计的自适应机制进行测试,在三种状态下对自适应机制进行测试,分别是理想状态、自适应机制状态和无自适应机制状态,得到zigbee网络的数据处理效率图:
TatolDate 理想状态下效率 自适应网络的效率 无自适应网络的效率 0 2—2 Zigbee网络的数据处理效率图
zigbee自适应机制的网络与无自适应机制情况下相比通讯效率要高的多,有效的解决了zigbee网络在数据传输中的瓶颈问题。
10
3 传感器节点和网关设计
3.1 系统功能
智能家居安防系统主要由前端传感器、网络信号传输系统和系统控制中心等组成。它是一个综合性的应用系统,涉及网络技术、嵌入式技术和传感器技术等多方面的技术,主要包括被动式热释电红外传感器、门磁传感器、感烟传感器、感温传感器、可燃气体传感器等。
3。2 系统结构
智能家居安防系统可以在物业管理、消防、水、电、煤等方面提供多方位的服务,为人们提供高效、安全、便利的生活空间,给用户带来全新的时尚、舒适、智能的生活体验。
控制平台中心 红外 控制节点 终 烟雾 控制节点 端 可燃气体 控制节点 节 点 感温 控制节点 图3—1 智能家居系统结构模拟图
3.3 系统的开发环境
CodeBlocks是一个免费开源功能强大的跨平台的标准C++集成开发环境,在同类的IDE中,算得上时佼佼者。
虽然Code Blocks从一开始就追求跨平台目标,但是最初的开发重点是Windows系统下的版本,从06年3月21日版本:1。0 revision 2220开始,CodeBlocks在它的每日构建中正式提供Linux版本(分两个版本:ubuntu.deb和fc4.rpm)。这样 CodeBlocks在1.0发布时就会是跨越平台的C/C++IDE,它将支持Windows和Linux的主要版本。长期以来C++开发员在Linux没有好用、通
11
用的C++ IDE的局面就要结束。而这个IDE对于Windows下的用户同样重要,由于它开放源码的特点,Windows用户可以不依赖于VS.NET,编写跨平台C++应用。
CodeBlocks提供了许多工程模板,这包括:控制台应用、DirectX应用、动态连接库、FLTK应用、GLFW应用、Irrlicht工程、OGRE应用、OpenGL应用、QT应用、SDCC应用、SDL应用、SmartWin应用、静态库、Win32GUI应用、wxWidgets应用、wxSmith工程,另外它还支持用户自定义工程模板.在wxWidgets应用中选择UNICODE支持中文。
CodeBlocks支持语法彩色醒目显示,支持代码完成(目前正在重新设计过程中)支持工程管理、项目构建、调试。
CodeBlocks支持插件,目前的插件包括代码格式化工具AStyle;代码分析器;类向导;代码补全;代码统计;编译器选择;复制字符串到剪贴板;调试器;文件扩展处理器;Dev—C++ DevPak更新/安装器;DragScroll,源码导出器,帮助插件,键盘快捷键配置,插件向导;To-Do列表;wxSmith;;wxSmith MIME插件;wsSmith工程向导插件;WindowsXP外观。
CodeBlocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch文件、Fortan77文件、GameMonkey脚本文件、Hitachi汇编文件、Lua文件、MASM汇编文件、Mathlab文件、NSIS开源安装程序文件、Ogre Compositor脚本文件、Ogre Material脚本文件、OpenGL Shading语言文件、Python文件、Windows资源文件、XBase文件、XML文件、nVidiacg文件。识别Dev-C++工程、MS VS 6。0-7.0工程文件,工作空间、解决方案文件。
CodeBlocks基于wxWidgets开发,正体现了wxWidgets的强大。以前Borland C++ Builder X宣称基于wxWidgets开发跨平台、兼容性好、最优秀的C++ IDE环境,但没有实现;现在Code::Blocks+GNU GCC正在实现这个理想。让我们拭目以待。国内的CodeBlocks爱好者和跨平台开发员应该尽快建立中文
CodeBlocks网站,提供CodeBlocks中文化支持,促进CodeBlocks在国内的发展。
12
4 智能家居安防子系统中央控制平台总体设计
4.1 控制平台功能与结构
家庭监控网络可以看作是一种传感器网络,网络的节点和各种与家庭环境相关的传感器相连,可以随机或固定地布置在需要监控的环境中。各节点之间通过特定的协议自组织起来,获取家庭环境的信息并且相互协同工作,完成对家庭环境进行监控的任务.家庭监控网络具有传输的数据量较小、要求数据传输的实时性好、网络容量大等特点,而且还应保证数据传送过程中的安全性和可靠性。
根据家庭监控网络的特点,本文设计的家庭监控网络架构如图所示。其中,网络中的终端节点构成了信息采集模块,各个终端节点连接监测家庭环境的传感器等设备,负责将收集到的安防信息通过路由节点发送至系统控制中心。
图4—1 家庭监控网络
13
图4—2 家庭网络监控节点图
目前,家庭监控网络主要包括有线和无线两种实现方式。随着大量、廉价和高度集成的无线模块的普及,无线网络技术应用于家庭监控网络已经成为势不可挡的趋势。这不仅仅因为无线网络可以提供更大的灵活性,省去了花在综合布线上的费用和精力,而且它更符合家庭监控网络通信的特点. 4。1.1 短距离无线通信技术选择
由于家庭监控网络的覆盖范围仅限于家庭内部,所以对于通信距离的要求不高;在家庭监控网络中传输的数据只是一些报警信息,数据量很小,因此对于数据传输速率的要求也不高家庭监控网络中的各个节点分布在每个家庭需要监控的区域,节点比较分散,采用电池供电,因此要求网络节点的功耗不能太大。
蓝牙(BlueTooth)主要应用于高服务质量、多样的任务周期、中等数据传输率的平等静态的具有活跃节点的无线网络中,它的传输距离和功耗都无法满足家庭监控网络的要求.
Wi-Fi主要应用于有稳定电源,要求较高数据处传输速率的场合。它是一种高速率传输协议,用在家庭监控网络上有些大材小用,而且价格昂贵、功耗太大。
14
Z-ware主要应用于中等数量设备、不频繁使用、小数据量的场合〔酮,比较适合用于构建家庭监控网络。然而各国对无线频段的使用都有严格的规定,大部分频段需要许可才可以使用,不过各国的无线电管理部门也规定了一些不需要许可就可以使用的频段.中国目前可以使用的免费频段是433MHZ、2。4GHZ和整个低于135kHz的频段。Z—ware的工作频段在国内不属于免费频段,因此,Z—ware技术也不适合组建本系统的家庭监控网络.
而ZigBee则主要是应用在低能耗、低花费的静态及动态的具有很多活跃节点的无线网络中。它看起来更接近于蓝牙,但比蓝牙更为简单,具有更低的传输速率和功率消耗,大多数时间处于睡眠状态,尤其适用于那些不需要实时传输或连续更新的场Z‘根据上述各种技术的特点,本系统最终选用ZigBee技术构建智能家居监控网络.
ZigBee技术基本解决了现有无线家居安防系统存在的一些问题,更符合家庭监控网络的要求:
(1)采用ZigBee技术构建家庭监控网络,避免了综合布线的麻烦,也减少了系统安装成本。
(2)ZigBee网络是主从式网络,最多可以支持超过64,000个ZigBee网络节点,符合家庭监控网络的要求,同时也足以满足系统扩展的要求。
(3)ZigBee芯片是超低功耗的无线收发芯片,而且具有休眠模式,加之设备的搜索、休眠激活和信道接入时延都很短,减少了电池使用的成本.
(4)ZigBee的媒体接入控制层(MAC层)采用CSMA/以接入算法,避开了发送数据的竞争和冲突,而且MAC层支持确认的数据传输模式,如果传输过程中出现问题可以进行重发,从而建立起可靠的数据通信模式。
(5)ZigBee采用直接序列扩频技术保证信号传输,避免了在2.4GHz公用频段的干扰,也解决了现有无线安防产品采用ASK调制技术所造成的同频干扰问题。
(6)ZigBee提供了基于循环冗余校验(CRC)的数据包完整性校验,支持鉴权和认证,并在数据传输中采用AES一128加密技术,保证了安防系统的安全性能。
4.1.2 ZigBee开发平台的建立
15
ZigBee提供了一个标准化的网络和应用框架,可以在此基础上建立应用而无须担心联网和射频问题的烦扰.然而,单靠其自身,ZigBee标准化框架不能保证产品的顺利开发.为了创建兼容ZigBee的应用,不同供应商提供了各种各样的产品,包括RF收发器、微控制器、闪存ROM、供应商专有的协议栈和应用开发工具.为了使系统具有更好的兼容性和可扩展性,系统采用了一个集成的硬件/软件平台来进行设计和开发。 4.1.3 信息采集模块的技术方案
信息采集模块最为主要的目的就是将传感器所采集到的报警信息通过ZigBee网络发送给系统控制中心,它为智能家居安防系统提供了进行处理和决策所必需的原始信息.因此,它是智能家居安防系统中的关键环节。
信息采集模块又可以分为防盗、防燃气泄漏和防火几个功能模块,各个功能模块都是由传感器节点构成的。用户可以根据自己的需求选择不同的功能模块,这样既可以最大化地满足用户需求,又可以减少系统成本.
传感器节点的通用硬件结构形式如图所示。CC2430芯片内置有增强型的8051微控制器,通过其1/0口就可以读取传感器单元输出的数字信号;供电单元采用的是电池供电;而传感器单元则根据不同的功能需求,采用了不同的传感器。
图4—3 信息采集模块结构图
传感器获得信息的正确与否,直接影响整个系统的精度,如果传感器的误差较大,则随后的测量电路、放大电路以及微处理器的精确度再高也是徒劳的,因此正确选用传感器尤为重要。在设计和选用传感器时重点考虑以下几个方面的因素:
16
(1)测量条件。如果传感器选择不当将会降低系统的可靠性.为此,要从系统总体考虑,明确使用的目的以及使用传感器的必要性。这首先需要明确传感器的测量条件,测量条件包括:测量目的,测量的范围,输入信号的带宽,要求的精度,测量所需要的时间等。
(2)传感器的性能.设计和使用传感器时要考虑传感器的下列性能:精度、稳定性、响应速度、模拟信号或者数字信号、输出量及其电平和被测量对象特性的影响等.
(3)传感器的使用条件。传感器的使用条件包括传感器设置的场所、环境、与其它设备的连接方式以及供电电源容量等.
4。2 涉及到的软硬件介绍
4。2。1 主要硬件
(1)中央处理器
系统控制中心的硬件部分是以中央处理器为核心的,因为所有的设备控制、任务调度、通信协议转换和数据收发等任务都需要中央处理器来完成,所以处理器的选择在系统控制中心的设计中是至关重要的。以往的安防系统绝大多数是由单片机控制的,但随着新功能的不断增加和性能的不断提升,单片机的处理能力已经不能满足系统需求。
处理器的选择主要考虑下面几方面的因素:是否便于实现;是否能提供足够的性能;是否有合适的操作系统支持;是否有大量合适的开发工具支持。除了上述通用的选型标准外,由于本系统可以作为智能家居系统中的一个子系统,系统控制中心不仅可以处理安防系统的数据信息,还可以作为智能家居控制器来使用。因此,处理器应该具有较高的工作频率及大容量的片内存储器以满足快速处理功能;要具有大量的I/O接口,以满足扩展性要求;片内集成众多外设控制器,以实现外设连接而不增加其他外部控制器;要具有良好的电源管理功能,以达到最小的功耗控制.
(2)GPRS模块
GPRS模块采用英国Simeom公司开发的Simeom300的GPRS芯片,通过串口与家庭网关控制器相连。本GPRS模块的特性如下:
(1)GPRS网络的传输速度最快将达到171.ZKbpS,速率的高低取决于移动
17
运营商的网络设置,根据中国移动的网络情况,目前可提供20~40KbpS的稳定数据传输.
(2)可拨号上网,一直在线,断线重拨连接;按照接收和发送数据包的数量来收取费用,没有数据流量传递时,不收费用。
(3)不依赖于运营商交换中心的数据接口设备,通过工nternet网络随时随地的构建覆盖全中国的虚拟移动数据通信专用网络.
(4)动态IP地址管理,自动识别终端设备,保证虚拟专用网络的连接和安全性。
(5)内置看门狗,具备异常重启。
(6)除了提供标准的通用功能外,还可根据用户的特殊需求定制功能。 4。2.2 主要软件
(1)无线传感网软件
无线传感器网络采用2.4G ISM频段,通过软件可实现点对点,以及一点对多点的多形式组网控制.
(2)嵌入式网关软件.
嵌入式网关软件包括WINCE6.0系统软件。 (3)PC数据管理与分析软件。
该软件能在PC上实现数据的管理与维护,通过数字和图表的方式,可多方位显示无线传感器网络的状态,及控制传感网上的设备,还有配套的波形存储与分析工具.
18
5 智能家居安防子系统详细设计
5.1 硬件设计
5。1.1 传感器节点的硬件设计
根据应用场合的不同,传感器节点的构成不尽相同,但一般都是由以下几部分构成:电源模块,数据处理模块,数据采集模块,数据收发模块以及其他的一些外围电路,如图5-1所示:
图5-1 传感器模块电路图
数据采集模块根据应用场合的不同主要由各种传感器构成,对安防参数检测(如烟雾、有毒气体浓度等),采集到的数据转换成数字信号后转由数据处理模块处理。
数据处理模块由微处理器构成,是整个传感器节点的控制中枢,负责数据处理操作、任务管理调度、节点工作状态(动态或者休眠等)调节等功能.
数据收发模块负责与其他节点进行无线通信,接收主控制器发送的命令,将数据信息反馈回主控制器等.
电源模块根据不同节点的应用场合有所不同,协调器节点采用的是跟主控制器同一交流或直流电源,终端节点采用3V的电池供电。
不同的节点中其他模块不完全相同,如RS-232串口扩展模块,节点用来跟
19
主控制器进行串口通信(协调器节点)或者跟PC机进行串口通讯(设置节点参数),JTAG下载接口、按键、LED等模块。 5。1。2 处理器单元的设计
处理器单元采用的是TI公司生产的单片机MSP430F1232。TI公司的MSP430系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不同的应用而由各种不同的模块组成。这些微控制器被设计为可用电池工作,而且可以有很长使用时间的应用。它们具有16位RISC结构,CPU中的16个寄存器和常数发生器使MSP430微控制器能达到很高的代码效率;灵活的时钟源可以使器件达到最低的功率消耗;数字控制的振荡器(DCO)可使器件从低功耗模式迅速唤醒,在少于6us的时间内激活到活跃的工作模式。MSP430F1232单片机具有以下的突出特点:
(1)低电压、超低功耗
MSP430F1232单片机在1.8~3。6V电压、1MHz的时钟条件下运行,耗电电流(在130.1~400uA之间)因不同的工作模式而不同;具有16个中断源,并且可以任意嵌套,使用灵活方便;用中断请求将CPU唤醒只要6us,可编制出实时性特别高的原代码;可将CPU置于省电模式,以中断方式唤醒程序。
(2)强大的处理能力
MSP430F1232单片机为16位RISC结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理方法;有较高的处理速度,在8MHz晶体驱动下,指令周期为125ns.这些特点保证了可编制出高效率的源程序。
(3)系统工作稳定
上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用作CPU时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。
(4)丰富的片内外设
20
MSP430F1232单片机集成了非常丰富的片内外设。它们分别包括以下外围模块:看门狗(WDT)、定时器A、比较器、串口、10位的ADC以及基本定时器等.其中,看门狗可以使程序失效时迅速复位;比较器进行模拟电压的比较,配合定时器可以设计为A/D转换器;定时器具有比较/捕获功能,可用于事件计数、时序发生、PWM等;串口可以用来方便的与其他器件进行数据通信;10位A/D转换器有较高的转换速率,最高可达200kbps,能满足大多数数据采集应用.MSP430F1232单片机的这些片内外设为本文的传感器节点的设计提供了极大的方便。
(5)高效方便的开发环境
MSP430F1232单片机属于FLASH型单片机,具有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器.开发语言支持汇编语言和C语言。
由于MSP430F1232单片机具有以上的优点,尤其是其超低功耗的特性可以弥补传感器节点供电电源有限的不足,而且其运算能力很强,所以控制单元选用这款单片机作为控制器。其外围应用电路主要由4部分组成,它们分别是:晶振电路、复位电路、编程接口和电量监视电路.其中晶振电路比较简单,由于MSP430F1232单片机内置了2个微调的小电容,所以把晶振直接接在6、7脚上即可。复位电路是上图中位于左下角的阻容电路,其既可以实现上电自动复位,也可以通过下面的轻触开关进行手动复位.编程接口电路是位于上图中右面的两个部分,其中右上部分是JTAG编程接口电路,右下部分是选择内外电源供电的电路。最后是电量监视电路部分,主要由两个电阻串联组成,其原理是R-AD2将自己分得的电源电压送进单片机14进行A/D转换,单片机根据A/D转换的结果来判断电池组剩余的电量. 5。1。3 无线通信单元的设计
无线通信部分选用NORDIC公司生产的NRF905芯片.NRF905单片无线收发器工作在433/868/915MHz的ISM频段。由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组
21
成.ShockBurst工作模式的特点是自动产生前导码和CRC。可以很容易通过SPI接口进行编程配置。电流消耗很低,在发射功率为-10dbm时,发射电流为11mA,接收电流为12。5mA.进入POWERDOWN模式可以很容易实现节电。
NRF905无线收发芯片具有以下突出的特点: (1)ShockBurst模式
15NRF905无线收发芯片采用Nordic公司的VLSI ShockBurst技术.ShockBurst技术使NRF905能够提供高速的数据传输而不需要昂贵的高速MCU来进行数据处理/时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,NRF905提供给应用的微控制器一个SPI接口,速率由微控制器自己设定的接口速度决定.NRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗.在ShockBurst RX模式中,地址匹配(AM)和数据准备就绪(DR)信号通知MCU一个有效的地址和数据包已经各自接收完成。在ShockBurst TX模式中,NRF905自动产生前导码和CRC校验码,数据准备就绪(DR)信号通知MCU数据传输已经完成.总之,这意味着降低MCU的存储需求也就是说降低MCU成本,又同时缩短软件的开发时间。
(2)载波检测
当无线收发芯片NRF905工作在接收模式时,如果有与器件被编程通道相同的载波出现,载波检测(CD)引脚置高。这一特征对于避免工作在相同频率的不同发射机的数据碰撞非常有效.任何时候当器件准备发射数据时,应先进入接收模式,判断是否希望的通道可以输出数据.这种形式是非常简单的发射前先监听的协议。运行低功耗接收模式下的载波检测(CD)是非常强劲的RF系统。典型的载波检测水平(CD)是低于灵敏度5dbm,例如灵敏度是—100dbm时,低于—105dbm的载波检测(CD)信号为低,例如0V;高于—95dbm的载波检测(CD)信号为高,例如VDD。-105dbm到106dbm之间的载波检验信号将触发.
(3)地址匹配
当无线收发芯片NRF905工作在接收模式时,引入的数据包的地址与器件自身地址相同时,地址匹配(AM)引脚置高。使用这个引脚,控制被提示在数据准备就绪(DR)信号置高前,器件正在接收数据。如果数据准备就绪(DR)信号没有
22
置高,例如CRC校验错误,地址匹配(AM)引脚在数据包接收结束时复位置低。这个特征对MCU来说非常有用。如果地址匹配(AM)引脚置高,MCU可以决定等待,观察如果数据准备就绪(DR)信号置高,说明一个有效的数据包已经接收,或者放弃一个可能已经接收的有效数据包并改变工作模式.
(4)数据准备就绪
数据准备就绪(DR)信号使最大限度的降低软件编程的复杂性成为可能。在发送数据时,一个完整的数据包发射结束时DR信号置高,告诉MCU NRF905已经准备好新的动作。DR信号在数据包传输开始时或转换到其他模式如接收模式或Standby模式时复位置低。在自动重发模式时,DR信号在前导码的开始时置高,在前导码的结束时置低.数据准备就绪(DR)信号在每次数据包传输的开始时产生脉冲。在接收模式时,DR信号在接收到有效的数据包,如:有效的地址,有效的数据长度和CRC时置高。然后MCU可以通过SPI接口读取数据。当数据缓冲区中的数据被读空或者器件转换到发射模式时,DR信号至低。
(5)自动重发
在有噪声的环境或没有碰撞控制的系统中,提高系统可靠性的一种办法是将同一数据包重复发几次。这可以使用无线收发芯片NRF905的自动重复的功能,实现起来很容易。通过将配置寄存AUTO_RETRAN位置高,只要TRX_CE和TX_EN保持为高,电路将连续发送相同的数据包。当TRX_CE为低时,器件完成当前正在发送的数据包后转换到Standby模式。
(6)低功耗接收模式
当无线收发芯片NRF905不需要很高的灵敏度时,为了使电池的寿命最大化,NRF905提供专门的低功耗模式。在这个模式中,接收电流消耗从12。5mA降低到仅10.5mA。灵敏度也降低到—85dbm.在这个模式中,NRF905模块的性能将有所下降。当使用载波检测来判断期望的通道是否可以发送数据时,低功耗模式是非常好的选择。
由于无线收发芯片NRF905有很多优于其他无线芯片的优点,尤其是其具有低功耗模式,而且数据通信可靠,单片机只需一个SPI接口就可以方便的对NRF905进行操作,所以无线通信单元选用NRF905芯片。 5.1。4 能量供应单元的设计
23
能量供应单元主要由2节5号干电池组成的电池组和电池剩余电量的监视电路组成的,其中电量监视电路的核心器件是MAX836。电池组的原理电路比较简单,在这里不做介绍,下面主要介绍一下MAX836以及电量监视电路的原理构成。MAX836是微功耗的电压监视芯片,主要用在监视电池电压的场合。它采用SOT143的封装,器件内部包含一个精确的1。204V的参考电压发生器和电压比较器,同时它还具有一个开漏的、N沟道的输出驱动器.
电压监视芯片MAX836的触发电压由R701和R702决定,其公式是Vtrip=(1.204)*(R701+R702)/R702(其中Vtrip就是触发电压)。该电路的工作原理:当MAX836的3脚的输入电压高于2V时,它的4脚将会持续输出高电平;而一旦3脚的输入电压低于2V时,MAX836的4脚就会输出一个低电平。控制单元的单片机将会时刻的监视MAX836的输出,一旦出现低电平,单片机就会提示用户电量不足,用户就可以根据提醒及时的更换电池,以保证系统可靠稳定的运行。
整体来看,能量供应单元的电路设计较其他单元要简单的多,但这部分电路却是整个传感器节点模块设计环节中最重要的一部分。如果没有稳定可靠的电源,整个模块都无法正常工作,更谈不到后续的监测和计算等工作了,因此,在对比了几种电源后,选择用干电池组来给整个系统供电.
5。2 软件设计
5.2.1 系统层软件设计
(1)Boot Loader
Boot Loader就是在操作系统内核运行之前运行的一段程序,一般应写在起始物理地址0x00开始。通过这段代码,可以初始化硬件设备,如CPU、SDRAM、Flash、串口、以太网口等的初始化,也可以下载文件到开发板、对Flash进行擦除和编程,起到引导和加载内核映像的作用。
通常,Boot Loader是依赖于硬件而实现的,特别是在嵌入式系统中。不同的体系结构需求的Boot Loader是不同的:除了体系结构,Boot Loader还依赖于具体的嵌入式板级设备的配置。因此,要建立一个通用的Boot Loader几乎是不可能的,但是建立一个通用的框架还是有可能的。
在本系统中,使用U-Boot作为开发板的Boot Loader。U一Boot是一个通用的免费开放源码的引导程序,支持PPC、MPC、ARM、X86等多种处理器结构,
24
支持Linux,VxWorkS,QNX,RTEMS,ARTOS,LynxOS等嵌入式操作系统的引导。具有丰富的人机交互命令,同时还允许用户添加自己的命令。U一Boot提供了大量的设备驱动源码,如串口、以太网口、SDRAM、各种FLASH等。
针对PxA270开发板,进行U一Bo。t的移植需要完成以下几个方面的工作: 首先,参考board下的lubbock开发板,在u—boot/board目录下建立up270目录,在up270目录中创建与PXA27O相关的几个文件:
config.mk—定义U—Boot启动后在内存中的位置为0xa3f80000
lowlevel_init.S—设置通用I/0口(General Purpose I0 ports,GPI0)的功能,配置存储器运行参数,设置CPU运行时钟等
up270.c-设置开发板体系号,设置U-Boot的参数存储位置、设置SDRAM flash。c—开发板上Nor Flash的驱动
u-boot.lds-U—Boot的链接文件,设置U-Boot的各个段排列顺序和地址 然后,修改u-boot/epu/pxa/start。S文件,在relocate前对GPDR、GPSR、GPCR、GAFR这几组寄存器进行设置,根据各GPIO功能,进行初始化。
修改U-Boot/Makefile文件,添加该开发板的编译选项: up270_config:
@。/mkconfig$(@:_config)arm pxa up270
在对u-boot做完修改后,即可运行以下命令集进行编译: $make distclean $make up270_eonfig $make
编译成功后,生成u-boot。bin文件,该文件大小一般在128KB以内.通过JFlash烧写工具和JTAG烧写器将u-boot。bin文件烧写到Nor Flash的第一个扇区内,开发板上电后启动正常则在超级终端上显示U-Boot的引导信息。
(2)Linux内核移植
Linux内核移植,就是针对具体的目标平台把Linux操作系统做必要的裁剪之后,安装到该目标平台上,使其正常地运行起来.
Linux内核的移植是一项繁重的工作,主要包含启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。Linux内核分为与体系结构相关部分
25
和与体系结构无关部分,其基本结构如图5-2所示。在Linux启动的第一阶段,内核与体系结构相关部分首先执行,它会完成硬件寄存器设置、内存映像等初始化工作。然后把控制权转给内核中与系统结构无关部分。而我们在移植工作中要改动的代码主要集中在与体系结构相关部分.
图5—2 linux体系结构图
(3)建立文件系统
Linux内核在启动过程中会安装文件系统,文件系统是Linux操作系统不可或缺的重要组成部分,用户通常是通过文件系统来与操作系统和硬件设备进行交互,在Linux系统中硬件也作为文件系统的一部分。通常所说的文件系统分为两个含义:一个是磁盘和磁盘机制的文件系统即物理文件系统,另一个是用户看得见并能操作的逻辑文件系统。
Linux的一个最重要特点就是它支持许多不同的文件系统.这使得Linux非常灵活,能够与许多其他的操作系统共存.Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。这个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来.
在Linux文件系统中,文件用i节点来表示,目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O请求被访问。 5.2。2 应用层软件设计
(1)PXA270的串行通信
PXA270通过UART端口与GPRS模块和ZigBee模块进行串行通信,从而
26
实现把从ZigBee传感器网络中采集到的报警信息通过GPRS网络发送给用户等功能.PXA270的UART(通用异步串行口)单元提供三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行.它们支持最高波特率921Kbps。每个UART通道包含2个64位FIFO分别提供给接收和发送。
串口操作主要是先打开串口,再设置它的参数,操作流程如图所示。Linux操作系统对串行通信有很好的支持,提供了大量的函数。
图5—3 串口工作原理图
1)打开串口
在Linux下串口文件是位于/dev下,串口一为/dev/ttyS0,串口二为/dev/ttySl打开串口是通过使用标准的文件打开函数操作:
Int fd;
fd=open(“/dev/ttyS0”,0_RDWR): if(fd == —1){
perror(“提示错误!\"): }
2)设置串口
设置串口参数的关键是在于串口配置的数据结构。 struct termios {
27
unsigned short c_iflag; /*输入模式标志*/ unsigned short c_oflag; /*输出模式标志*/ unsigned short c_cflag; /*控制模式标志*/ unsigned short c_lflag; /*local mode flags*/ unsigned char c_line; /*1ine discipline*/ unsigned char [c_cc NCC]; /*control characters*/ };
(1)波特率设置,使用函数cfsetispeed和cfsetospeed: sturet termios Opt; tcgetattr(fd,&Opt); cfsetispeed(&Opt,Bll5200); cfsetospeed(&Opt,bll5200); tcsetattr(fd,TCANOW,&Opt); (2)设置数据位,需使用掩码设置: Opt.c_cflag &=^CSIZE; Opt.c_cflag |=^CS8; (3)设置校验位: 奇校验(Odd)7位: Opt。c_cflag |=^PARENB; Opt. c_cflag &=^PARODD; Opt。c_cflag &=^CSTOPB; Opt.c_cflag |=^CSIZE; Opt。c_cflag |=^CS7; 偶校验(Even)7位: Opt.c_cflag &=^PARENB; Opt。c_cflag |=^PARODD Opt.c_cflag &=^CSTOPB; Opt。c_cflag &=^CSIZE; Opt.c_cflag |=^CS7;
28
(4)设置停止位:
1位:Opt。c_cflag &=^CSTOPB; 2位:Opt.c_cflag |=CSTOPB; 3)读写串口数据
Linux把各种设备都视为文件,所以设置好串口后,只需要把串口当作文件来读写就可以了。
发送数据: char buffer[512]; int wByte;
nByte=write(fd,buffer,512);
读取串口数据:使用文件操作read函数读取,如果设置为原始模式(Raw Mode)传输数据,那么read函数返回的字符数是实际串口收到的字符数.
char buff [512]; int rByte;
rByte=read(fd,buff,512); 4)关闭串口
关闭串口即关闭文件:close(fd) (2)GPRS模块与PXA270的通信
GPRS模块和PXA270是通过UART连接的,PXA270可以将AT命令的字符串发送给GPRS模块,控制其行为。
AT命令相当于PXA270开发板与GPRS模块通信的协议语言。GPRS模块具有一套标准的AT命令集,包括一般命令、呼叫控制命令、网络服务相关命令、电话本命令、短消息命令、GPRS命令等。本系统主要用到的是GPRS模块的短消息功能,与其相关的常用的AT指令如表所示.
GSM规范对短消息传输定义了三种控制协议:即二进制协议(块模式),基于字符的AT命令接口协议(文本模式)和基于字符的十六进制编码二进制传输块接口协议(PDU模式).块模式(B1ock mode)是使用二进制编码来传输用户数据的接口协议。为了提高可靠性,它带有差错保护,适合于链接不完全可靠的地区,尤其是要求控制远程设备的情况。它属于GSM第一阶段的短消息传输接口协议.
29
目前,PDU己取代了块模式。文本模式(Text mode)是使用AT命令传输文本数据的接口协议。该模式适合于非智能终端、终端仿真器等.PDU模式相当于计算机网络中的分组交换接口协议。这种传送方式能够很平稳地过渡到GPRS,因此GSM规范要求用户尽可能地使用PDU模式处理短消息。所以本系统采用的是PDU模式来编码和解码。
表5—1 AT指令表 AT指令 AT+CMGC AT+CMGD AT+CMGF AT+CMGL AT+CMGR AT+CMGS AT+CMGW 功能 Send an SMS command(发出一条短消息命令) Delete SMS message(删除SIM卡内存的短消息) Select SMS message formate(选择短消息信息格式:0—PDU;1-文本) List SMS message from preferred store(列出SIM卡中的短消息) Read SMS message(读短消息) Send SMS message(发送消息) Write SMS message to memory(向SIM内存中写入待发的短消息) 1)接收短信
由于智能家居安防系统中,接收和发送的报警信息的数据量并不大,所以在处理收发信息之间的同步关系和数据交互时,没有采用多线程的方式,而是采用了定时器方式。定时器的运行模式是每两百毫秒读一次串口看是否有数据,如果有数据就处理,没有数据就继续等待下一个两百毫秒。接收短信程序流程图如图所示,其中ReadMessage()是短信息处理函数,主要实现获取短信工D号、读取对应工D号的短信、解码和获取发信人号码等功能。
2)发送短信
发送短信主要有以下几个步骤:
(1)将短信中心号码、目标号码和短信内容采用即u编号转换成AT语句的格式;
(2)向串口写入AT+CMGS命令,GPRS模块进入等待发送信息的状态,就可以发送已经编号好的AT原语了;
(3)ZigBee模块与PXA270的通信.
与PXA270连接的ZigBee模块是作为ZigBee无线传感器网络中的协调器,
30
采用的是CC2430片上系统。CC2430内部集成有两个USART,本系统选择USART0作为串口与PXA270的UART进行通信。
PXA270向CC2430发送数据时,数据通过串口进入CC2430的DATA内存区。对于智能家居安防系统来说,传输的数据只是一些报警信息,DATA内存区的高128字节完全能够满足存储容量的要求,因此将数据存放在DATA内存区的高128字节中.为了提高数据的传输速度,采用DMA传输方式将内存区中的数据传送到Radio的先进先出缓存器TXFIFO中。接收数据是发送数据的逆过程。
CC2430包括了较多的自定义SFR寄存器,其中在对USART的控制操作中,CC2430内部集成的USART的控制寄存器和状态寄存器分别是UxUCR和UxCSR(其中x可取值为0和1,表示CC2430集成的两个USART中的一个).用这两个寄存器可完成USART的基本设置,步骤如下:
(l)选择USART0为UART模式; (2)允许USART0接收数据; (3)设置波特率为9600b/s;
(4)设置UART的帧格式。此格式为奇偶校验有效,一帧为9位,第9位为偶校验,停止位为高电平,且接收器校验两位停止位,开始位为高电平。
CC2430串口波特率的设置与一般8051不同,因为其内部集成了一个波特率发生器,因此,不需要使用定时器而只需设置相关的SFR寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD_E[4:0],便可得到系统要求的波特率,其关系式如下:
其中,F为系统时钟频率。CC243O的时钟频率为32MHz,波特率为9600bps/s。
5.3 Web远程控制
5.3。1 嵌入式远程控制系统的设计
智能家居的远程控制系统采用B/S结构,用户利用远程计算机访问Internet通过浏览器访问嵌入式Web Server,实现对智能家居设备的远程监控.B/S模式与传统的C/S模式相比,具有使用简单,便于维护,扩展性好,无需在客户端安装
31
客户端软件等优点,只需打开客户端浏览器访问即可。远程控制系统如示意图5-4所示.
远程PC机 Internet 家居控制系统 Web Server CGI程序 静态文件 嵌入式数据库/数据文件 图5-4 远程控制系统图
5。3。2 嵌入式Web server设计
在嵌入式Linux系统下,主要有3个Web Server:Httpd、Thttpd和BOA.Httpd是最简单的一个Web server,它的功能最弱,不支持认证,不支持CGI(Common Gateway Interface,通用网关接口).Thttpd和BOA都支持认证、CGI等,功能都比较全。这里我们选择支持CGI的、非常适合于嵌入式系统的BOA Web Server。BOA是一个单任务的WEB服务器,源代码开放、性能可靠、稳定性好,特别适合应用在嵌入式系统中.
本设计需要一个支持CGI功能的Web Serve:以便支持动态网页。BOA具有的功能特性满足本设计的需要,故选用BOA作为Web Server,其工作流程如图5—5所示.
32
图5-5 工作流程图
选用BOA作为Web Server,可以方便地在嵌入式Linux操作系统上移植.在移植前,根据具体的情况先对BOA做配置及修改。其中boa。conf配置文件很重要,它由一些规则组成,用于配置BOA,指定监听端口,服务器名称、CGI执行文件路径等。
5.3。3 实现动态Web页面的CGI技术
到目前为止,实现动态web页面有4种技术可供选择:CGI(common Gateway Interface)、ASP(Active Server Page)、ASP.NET(Active Serve Page.net)、PHP(Personal Home Page)和JSP(Java server page)。在嵌入式Linux下如果要实现动态网页,只能采用CGI,因此目前嵌入式Linux还不支持ASP、PHP等动态web页面技术.
CGI(Common Gateway Interface)提供web服务器一个执行外部程序的通道,这种服务端技术使得浏览器和服务器之间具有交互性。CGI程序属于一个外部程序,需要编译成可执行文件,以便在服务端运行。浏览器将用户输入的数据送到Web服务器,Web服务器将数据使用STD取送给CGI程序,在执行CGI程序后,最后使用STDOUT输出HTML形式的结构文件,经Web服务器送回浏览器显示给用户。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、
33
Pascal、C语言等。但目前嵌入式Linux不支持Perl、Fortran等语言,而且用C语言编写的CGI程序具有执行速度快、安全性高,所以我们选择用C来编写CGI程序。
CGI工作原理:CGI公共网关接口是在WEB服务器上定义了WEB客户请求与应答的一种方法.当客户端的用户向WEB服务器发出HTTP请求(称为CGI请求),客户向服务器的请求只要属于CGI范围,就启动WEB服务器的一个CGI程序。它的任务是把客户的请求从环境变量和标准输入Stdin中取出,并进行相应的加工处理.待处理结束后,由CGI程序通过标准输出决定如何对客户的请求做出应答,将处理结果以HTML格式回送到客户端浏览器。访问一个CGI程序的完整过程如下:
用户要求浏览器访问一个CGI程序资源(URL地址指向这个CGI程序); (1)浏览器与web服务器建立连接,发送HTTP请求;
(2)Web服务器接收到HTTP请求,分析浏览器请求的资源,发现是一个CGI 程序;
(3)服务器将HTTP请求头标设置成环境变量,执行CGI程序;
(4)如果HTTP请求方法是POST,CGI程序从标准输入读取浏览器发送的数据内容,如果HTTP请求方法是GET,CGI程序从环境变量QUER_STRING中获取浏览器发送的数据内容;
(5)CGI程序根据浏览器发送来的数据,进行相应处理,并将生成的结果输出到标准输出;
(6)服务器在CCI程序的结果上附加状态行和一些头标信息,然后将结果返回给浏览器。操作过程如下图:
图5—6 CGI程序图
34
6 系统功能测试
本论文设计的无线传感器节点主要应用智能安防.在这一节,我们把传感器
节点组成一个小型网络,如图6-1所示,这个小型网络由1个检测节点和3个转发节点组成,最后一个转发节点通过232接口与中心计算机相连。检测节点检测到环境温度和人体热释红外信息后,经过3次转发,最后将数据送到中心计算机上。系统测试的过程:首先在检测节点的温度传感器附近不断加温,然后在节点附近不断走动,通过串口调试助手来监测计算机收到的数据,通过数据来检验系统的性能。下图是检测节点在实际工作中发送给计算机的检测数据:
图6—1 计算机检测到的数据
在上图中,标号为1的数据帧表示检测节点检测到室内的温度过高,大约是57℃;标号为2的数据帧表示有人在检测节点附近走动,但室内温度比较正常,大约是22℃;标号为3的数据帧表示室内温度过高同时有人在检测节点附近走动。在测试中,检测节点共发送44组数据,转发节点经过3次转发后,中心计算机全部正确接收,同时数据的时延也较小.通过测试可以看出,本文设计的传感器节点和通信协议可以完成智能家居中的室内温度检测和智能防盗的功能,系统的整体性能也很可靠.
35
总结
智能家居安防系统是一个综合性的应用系统,它涉及到嵌入式技术、网络技术、传感器技术等多个方面的技术,因此它也是一个实现难度较高的集成系统。
本文提出的智能家居安防系统,采用了“系统控制中心+ZigBee无线传感器网络”的设计方案:系统控制中心采用功能强大的Inter PXA27O处理器作为控制器,包含了多种接口,方便扩展;系统控制中心通过与之相连接的GPRS模块,以短信或彩信的形式将数据发送给用户,并接收用户发送的指令.ZigBee传感器网络作为家庭内部网络,用于监测家居环境安全。用于监测家居环境的各种传感器与ZigBee终端节点连接,将采集到的报警信息集中到ZigBee网络协调器;ZigBee网络协调器通过串口与系统控制中心通信,接收用户发送的指令,并将采集到的报警信息发送给用户,采用这种方式不但可以方便地实现数据的远程传输,而且大大地节省了数据传输的成本。
智能家居安防系统是一个庞大的系统,由于时间仓促、水平有限,本系统只能作为智能家居安防系统的雏形,如果要做成产品,还有很大距离,可从以下几方面进一步完善:
(1)本系统仅设计了几种传感器节点,还可在此系统中加入更多类型的传感器,以实现对家居环境的全方位监测。
(2)可在此系统中加入图像采集模块,当有人闯入监控区域,开启拍照或录像功能,将入侵者的图像保存下来.同时,当有传感器发出报警信号时,也可以通过GPRS网络将实时图像发送给用户,以减少误报警的情况.
(3)可以在智能家居安防系统控制中心上建立嵌入式Web服务器,便于用户在远程监控家庭安防情况。
(4)可以对系统的健壮性和功能的完整性做进一步的完善。
36
致谢
从去年七月份接受课题到现在完成毕业设计论文,衷心的感谢顾卫杰老师给予的精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的系统设计阶段,导师提出许多宝贵的设计意见,在最后的测试修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我们得以顺利的完成毕业设计工作,在短暂的几个月的相处时间里,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,还有严谨治学的态度,良好的科研素质,优秀的科研水平,一丝不苟的为师之道这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意。导师实事求是,开拓进取的精神和高度的责任心都将使学生受益终生!
在短暂的3年大学时光里,老师、同学和朋友们也给了我无私的帮助与支持,在此我对所有学习和生活上帮助过我的老师、同学和朋友们表示深深的谢意!
当然,在我求学期间,还要感谢我深爱的父母亲一直以来对我无怨无悔的付出、支持、关爱、尊重和信任,在我学习、生活、感情、工作上遇到困难时,是您们帮我抵御风霜,谢谢你们。我是幸运而幸福的,我知足并且义无反顾的在大家的关爱下坚持自己的信念和理想一路前行.
参考文献
1. 韦波.智能家居相关技术及比较[J].中国公共安全(市场版)。2007年第5期
2. Baumgartner J .Welcome tot he‘Smart Home'[J]。Cahners Business 3. 4. 5. 6. 7. 8. 9.
Information
徐用生.住宅小区安防系统设计[J].山西建筑,2004
张新房。智能家居与家庭安防系统[J]。电气&智能建筑,2007
靳秀凤。安防行业现状、未来和可持续发展[J].中国安防产品信息,2001 王俊峰,孟令启。现代传感器应用技术[M]。机械工业出版社,2006
张岩,胡秀芳,张济国.传感器应用技术[M]。福建科学技术出版社,2006 孙利民,李建中,陈渝等.无线传感器网络[M]。清华大学出版社,2005 纪阳,张平.无线传感器网络的体系结构.中兴通讯技术,2005
37
10. 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天
11. 于海滨,曾鹏,王忠锋,梁英,尚志军.分布式无线传感器网络通信协议研
究.通信学报,2004 12. 刘刚,周兴社,谷建华,李志刚.自组织、自适应无线传感器网络理论研究.计
算机应用研究,2005(5)
13. 焦正,吴明红,王德庆.分布式传感器网络研究进展.传感器世界,2004 14. 马祖长,孙怡宁,梅涛.无线传感器网络综述.通信学报,2004
15. 崔莉,鞠海玲,苗勇,李天璞,刘巍,赵泽.无线传感器网络研究进展.计算
机研究与发展,2005
38
因篇幅问题不能全部显示,请点此查看更多更全内容