Microcomputer Applications V ol.27,No.2,2011技术交流微型电脑应用2011年第27卷第2期文章编号:1007-757X(2011)02-0049-02
一种智能家居监控系统的设计
杨浩杰,韩秀玲
摘要:给出了一种智能家居远程监控系统的软硬件设计方案。此方案将ZigBee技术和GPRS技术相结合,实现了以收发短信的方式对家居设备进行控制和查询的功能。在系统的软件设计中,通过采用对终端数据划分优先级的策略并结合Linux 多线程技术,实现了在有突发事件时,仍能保证其数据传输的可靠性和实时性。
关键词:Zigbee;GPRS;远程监控;智能家居
中图分类号:TP368.1文献标志码:A
0引言
传统的智能家居系统一般是通过有线线路布线进行各种控制和通信的,人们难以脱离各种线缆的羁绊,而且系统的可扩展性能也很差。现代无线通信技术的发展,使得人们能够冲破这种束缚,营造更舒适的家居生活。
目前,应用于智能家居系统的无线技术主要包括蓝牙技术、IrDA红外线技术和ZigBee技术[1]。ZigBee是一种新兴的低功耗、低数据速率、低成本、低复杂度的无线网络技术,具有强大的组网能力,可以形成星型、树型和MESH网状结构。基于ZigBee技术的优点,本文结合ZigBee技术和GPRS技术实现了数据的远程无线传输。在软件设计过程中,通过应用Linux多线程技术,实现了数据传输的可靠性和实时性,保证了在有大批量数据传输时,突发的紧急事件仍能够及时通知到用户。文中给出了系统的软硬件设计方案和实现细节。
1系统整体设计的方案
本系统主要是由主控设备、ZigBee智能监控终端、无线通信系统3大部分组成,系统结构如图1所示。主控设备就是用户手机,主要负责接收数据以及发出控制命令。智能监控终端主要由ZigBee终端设备、ZigBee协调器节点和微处理器模块组成,负责完成数据采集,传输以及响应主控设备的控制命令。无线通信系统就是GPRS模块,GPRS网络负责传输监控数据及命令,通过GPRS网络的网关支持节点GGSN接入因特网[2]。其中ZigBee协调器节点和微处理器负责ZigBee终端设备与GPRS网络之间的通信,是整个系统的核心。
数据的传输由两部分完成,第一部分是利用ZigBee无线传感网络把数据由ZigBee终端设备传输到ZigBee协调器节点;第二部分数据由ZigBee协调器节点传输到主控设备。采用GPRS传输技术,通过
无线网络以短消息的形式发送到主控设备,主控设备也可以发送控制命令修改远端监控设备当前的状态。2
系统的硬件平台
图1系统结构
2.1微处理器模块
本文选用S3C2440处理器做为系统的核心处理单元,做为整个系统的硬件平台。S3C2440是三星公司的一款基于ARM920T核的32位处理器,最高主频可高达400多MHz。
2.2ZigBee终端
ZigBee终端主要收集家居环境的信息,包括温度、光强度、烟雾以及开关等传感器设备的信息。
它的无线收发模块采用的是Helicomm公司的IP-Link 1221-2034。我们可以把各个传感器分别与IP-Link 1221-2034无线通信模块集成在一起,只要把各传感器信号送入ZigBee终端,它按照ZigBee数据帧格式,就把会数据发送到ZigBee协调器,实现了ZigBee主从接点之间的通信。由于本系统中ZigBee网络采用的是简单的星型结构,终端与终端之间不能通信。
终端节点还负责收集家居设备的状态信息和接收系统发出的控制指令,以实现家居控制智能化。
2.3ZigBee协调器和GPRS模块
ZigBee协调器主要用于接受ZigBee终端设备的数据信息,并将信息进行融合处理,传给GPRS网络。另外,ZigBee 模块IP-Link1221-2034,嵌入式控制器S3C2440,GPRS模块MC39I通过串口相连,共同组成了ZigBee终端和GPRS 网络之间的网关。其中ZigBee协调器的开发平台采用的是基于ARM920T核的S3C2440微处理器,它是系统整体方案的核心。这样就能通过S3C2440微处理器实现ZigBee协
———————————
作者简介:杨浩杰,男,山西,东华大学信息科学与技术学院、数字化纺织服装技术教育部工程研究中心,硕士研究生,嵌入式Linux系统开发,上海201620
韩秀玲,女,副教授,计算机网络与信息安全、嵌入式Linux系统开发,上海201620
49
Microcomputer Applica tions V ol.27,No.2,2011技术交流微型电脑应用2011年第27卷第2期5调器和ZigBee 终端设备的通信,然后通过串口实现S3C2440
微处理器与GPRS 模块的通信,最终通过GPRS 网络将数据
发送到主控设备[3]。
ZigBee 协调器的无线收发模块采用的也是Helicomm 公
司的IP-Link 1221-2034。
GPRS 模块采用的是Siemens 公司的MC39I 。
3
系统的软件设计3.1嵌入式Linux 系统的移植
Linux 内核采用模块化设计,具有良好的可移植性,因
此成为主流的操作系统。在系统中移植Linux2.6.26版本,
主要分四步:
(1)从网络上下载Linux 源代码以及ARM 平台的补
丁。
(2)给Linux 系统打补丁,使其符合ARM 平台的体
系结构。
(3)配置及裁减Linux 内核
精简内核,去掉一些系统没有用到的模块,使系统满足
需要即可。
(4)文件系统的移植
建立交叉编译环境,通过一些手段生成映象文件,最后
将生成的映象文件烧写到目标平台。
3.2终端数据优先级的分类
对温度、烟雾、红外等传感器采集来的信息进行优先级
划分,主要分为三类:A 类,主要是突发事件(如火灾,煤
气泄露等),此类信息具有很高的实时性,需要及时发送给
用户,所以此类信息设为较高优先级;B 类,主要是用户发
送到监控终端的控制命令,此类信息属于控制消息,当与A
类事件发生碰撞时,可延时发送到用户,所以此类信息设置
为中等优先级。C 类,主要是普通事件(如停电,停水等)
或者是监控终端定时发送给用户的监控信息,此类信息的实
时性要求较低,应设为较低优先级。设置好优先级之后,可
以通过Linux 多线程技术使各类事件得到及时处理。相比传
统的软件设计,在实时性方面有一定的优势。
3.3多线程数据的采集
为了提高系统的实时性,可以充分利用Linux 多线程的
特点,将多个任务分布在多个线程中执行。主线程主要处理
A 类信息;二级、三级线程分别处理
B 类、
C 类信息,可以
根据实际需要设计各个级别线程的数量。
系统初始化的时候会产生一定数量的线程,并维护它们
各自的一个Task 函数用以传递数据。每个线程初始化之后
会被插入线程池的空闲线程队列idle_queue 上,同时自锁在
一个self_lock 的锁上,进入休眠状态。一旦系统有工作要
做了,比如收到了一个A 类信息,那么就会调用assignWork
函数,这个函数会从空闲队列中取出一个线程,为它准备好
相应的数据,然后解开它的self_lock 锁让它开始工作。线
程工作结束之后会自动插入到空闲队列,然后再一次通过加
锁self_lock 进入睡眠等待下一个任务。这样就能够保证负
载在各个线程之间是均衡的,不会出现一个线程比较繁忙一
个线程比较空闲的情况。
3.4应用程序的设计
系统应用程序是通过S3C2440对ZigBee 模块和GPRS
模块的控制,分别实现ZigBee 模块数据采集和发送以及短信的快速收发。S3C2440通过串口1实现对ZigBee 模块进行控制,通过串口0使用A T 指令来对MC39I 模块进行控制。系统的工作流程如图2所示,其工作过程如下:启动监控终端,完成初始化操作,包括ZigBee 模块初始化、GPRS 模块初始化(例如通过“AT+CSCA=”命令来设置短信息中心号码)以及串口初始化(open_port ,set_port ,奇偶效验等),然后等待输入的命令(是发送短消息还是接受短消息),再根据接收的命令进行相应的操作。连接成功后,判断信息的类型,如果是控制命令,根据控制命令的类型操作相应的ZigBee 终端;如果是前端采集到的监控信息,根据接收到的信息进行分类:当接收的信息在不冲突的情况下,通过GPRS 模块直接发送信息到手机终端;当接收的信息相互冲突的情况下,进行终端数据优先级别分类,根据终端数据优先级的先后顺序,发送相应的信息。这样可以有效的避免信息冲突,使得整个系统在实时性方面有所改进。通过实验,该系统与我们平时所用的手机可以很好的进行通信,实验中的温度、湿度、烟雾等传感器,都能采集到较为准确的数据;直流步进电机也能根据相应的控制命令作出相应的动作。实验中还同时进行了3类事件的同时发生,让传感器大量采集数据,根据系统优先级别的判断,实验结果也得到了相应的数据。另外,由于本系统采用ARM 和Linux 作为开发平台,基于Linux 开源的特性以及丰富的协议,可以降低开发难度,可以使系统的应用程序设计以及升级相对比较容易[4]
。图2系统的工作流程
(下转第55页)
Microcomputer Applications V ol.27,No.2,2011技术交流微型电脑应用2011年第27卷第2期55
换。有了Logic Coverter 后,就可以大大减少公式推导与逻
辑图绘制时间,传统的逻辑函数化简方法像代数法、卡诺图
法只需要简单分析介绍一下,授课效率大大提高;Logic
Analyzer 是一个16路的逻辑分析仪,可以用来实现数字信
号的高速采集和时序分析。
3.3项目三的补充——Quartus Ⅱ(前身是Max+plus Ⅱ)。
数字技术的发展日新月异,必须让学生了解其发展方向
和跟上时代前进的步伐。授人以鱼不如授人以渔,让学生掌
握最新的EDA 技术势在必行。
如今,EDA 的内涵发生着两个方面的变化:一是电路
元器件之间,即芯片外部设计自劝化;二是以FPGA/CPLD
为标志的可编程逻辑器件技术使得芯片内部设计自动化。
Lattice ,Xilinx 和Actel 公司推出的FPGA/CPLD 芯片和开
发软件都是非常有代表性的。
Quartus II 是Altera 公司推出的FPGA/CPLD 开发工具,
提供了完全集成且与电路结构无关的开发包环境,具有数字
逻辑设计的全部特性。使用Quartus 不需精通器件内部的复
杂结构,可以用自己熟悉的设计工具(如原理图输入或硬件
描述语言)建立设计,Quartus 会自动转换成最终所需的格
式。其设计速度非常快,对于一般几千门的电路设计,使用
Quartus ,从设计输入到器件编程完毕,用户拿到设计好的
逻辑电路,大约只需几小时。设计处理一般在数分钟内内完
成。特别是在原理图输入等方面,Quartus 被公认为是最易
使用,人机界面最友善的开发软件,特别适合初学者使用。4补充、完善与提高
根据学生的学力和考虑将来宽口径就业需要。在上述基
础上,通过“完成一个完整的数字电子产品”这条主线,把
学生的知识面加以扩充和完善。
①补充电路板印制(PCB )知识
电路原理图完成以后,还必须设计印制电路板图,最后
由制板厂家依据用户所设计的印制电路板图制作出印制电
路板。所以要了解印制电路板结构、元器件封装等印制电路
板图的基本元素知识等,介绍像Protel 、Ultiboard 这种常用
电路板制作软件的使用流程及其优缺点。
National Instruments 提供的Circuit Design Suite 电路设
计综合解决方案中与Multisim 配套的Ultiboard 软件包除提供强大的自动布线(Autoroute/Start/Resume Autorouter)、自动优化(Autoroute/Start Optimization)与布板(Autoroute/Start Autoplacement)技术外,更拥有独特的三维虚拟显示技术,不仅在元件放置时就可同步查看封装外形,还可以在三维中动态(使用鼠标拖动实现3600全方位)观察电路板组装和完成后的外形情况,更可使用Internal View (内部视图)观察多层PCB 的层与层之间的视图。②产品外形设计知识一个完整的电子产品只有内部电路板是不够的,还需要外壳作机械支撑。根据课时和学生兴趣,可向学生推荐介绍像Pro/E(Pro/Engineer)这样的从设计至生产的机械自动化软件。此外,还应适时对各种辅助软件的最新版本和主流使用版本进行比较,像EWB 和Multisim ;Maxplus 和Quartus 等,使学生既能快速进入工作状态,又能把握发展方向。5结论以尽快适应职业环境为导向,以循序渐进的任务驱动式教学为主体的《数字电子技术》的教学改革,特别是借助于专业的、强大的计算机EDA 辅助设计技术,激发了学生学习的积极性,使学生由被动接受变为主动的学习,是一种投入少、收效大、适应性强的教学方法。不仅使学生掌握了实实在在的工作方法,增加了分析解决问题的能力,更重要的
是培养了他们的创新能力与职业岗位适应能力。
参考文献
[1]付兰芳,李长安,李良洪,赵慧敏,沈虹.国内外电工电子课程教学方法和内容对比研究[J].南京:电气电子教学学报,2009,10.[2]江捷.从“数字电子技术”课程看中英两国本科教学差异[J].南京:电气电子教学学报,2007,6.[3]朱红卫.现代数字电路设计学习与指导与题解[M].武汉:华中科技大学出版社.2008,3.[4]陆滢.高职高专《数字电子技术》课程改革设想[J].无锡:无锡南洋学院学报,2006,6.
(收稿日期:2010-04-10)
(上接第50页)
5结论
本文提出并设计完成了一种基于Zigbee 技术和GPRS
技术的智能家居远程监控系统。将两种技术结合起来应用在
智能家居系统中,实现了快速率,低成本,低耗能,远距离
无线通信网络。利用Linux 支持多线程及实时性等特点设计
出的远程监控系统具有性能可靠、采集速度快、软件可扩展
等优点。我们可以在此基础上构建更复杂的方案以用于其它
领域。参考文献
[1]侯俊,吴成东.基于ZigBee 的智能家居安全监控系统研究[J].安防科技,2009,3.[2]李文仲,段朝玉.ARM9微控制器与嵌入式无线网络实战[M].北京:北京航空航天大学出版社,2008.5.[3]韦东山.嵌入式Linux 应用开发完全手册[M].北京:人民邮电出版社,2008.8.[4]孙爽妍,戴学丰.基于ARM 的CDMA 无线数据传输系统的设计与实现[J].通信技术,2009,2(42):33-35.
(收稿日期:2010-04-02)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论