基于ARM9和ZigBee的嵌入式无线家庭安防系统的设计.pdf
-
资源ID:74644216
资源大小:392.83KB
全文页数:6页
- 资源格式: PDF
下载积分:15金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于ARM9和ZigBee的嵌入式无线家庭安防系统的设计.pdf
第3 0 卷第5 期辽宁工业大学学报(自然科学版)V 0 1 3 0,N。52 010 年1 0 月J o u r n a lo fL i a o n i n gU n i v e r s i t yo fT e c h n o l o g y(N a t u r a lS c i e n c eE d i t i o n)O c t 2 0 1 0基于A R M 9 和Z i g B e e 的嵌入式无线家庭安防系统的设计胡玮,孙福明(辽宁工业大学电子与信息工程学院,辽宁锦州1 2 1 0 0 1)摘要:介绍了基于嵌入式L i n u x 系统的A R M 9 平台和Z i g B e e 技术的家庭安防系统。Z i g B e e 模块组成无线网络与A R M 9 控制器相连,A R M 9 控制器驱动摄像头捕捉图片并将图片通过S I M 3 0 0 模块发送彩信通知给用户。关键词:Z i g B e e;A R M 9:嵌入式L i n u x;V i d e 0 4 1 i n u x 2中图分类号:T P 3 1 6文献标识码:B文章编号:1 6 7 4 3 2 6 1(2 0 1 0)0 5 0 2 8 8-0 4D e s i g no fE m b e d d e dW i r e l e s sH o m eS e c u r i t yS y s t e mB a s e do nA R M 9a n dZ i g B e eH UW e i,S U NF u m i n g(E l e c t r o n I n f o r m a t i o nE n g i n e e r i n gC o l l e g e,L i a o n i n gU n i v e r s i t yo f T e c h n o l o g y,J i n z h o u1 2 1 0 0 1,C h i n a)K e yw o r d s:Z i g B e e;A R M 9;e m b e d d e dL i n u x;v i d e 0 4 1 i n u x 2A b s t r a c t:T h ed e s i g no fh o u s em o n i t o rs y s t e mw a si n t r o d u c e dw h i c hi sA R M 9p l a t f o r mb a s e do nt h ee m b e d d e dl i n u xa n dZ i g B e et e c h n o l o g y Z i g B e em o d u l e sc o n s i s to fb u i l d i n gn e t w o r k,w h i c hc o n n e c t sw i t hA R M 9c o n t r o l l e r,A R M 9c o n t r o l l e rc a t c h e st h ep i c t u r eb yc a m e r aa n dt r a n s m i t st h ep i c t u r et oh o u s e h o l d e r sb yS I M 3 0 0m o d u l ew h i c hs e n d sm u l t i m e d i am e s s a g et ou s e r s 传统的家庭安防系统不仅布线繁琐,影响室内的美观,而且容易误报,图像要么存储在本地计算机硬盘之中,等待主人回来后查验,要么由主人通过远程计算机进行实时监控,浪费了人力。为了改进上述安防系统的缺点,设计了一款基于A R M 9 和Z i g B e e 的无线家庭安防系统。由于采取Z i g B e e 技术,系统功耗低,节省了布线,采用L i u n x 操作系统的A R M 9 开发板能够及时抓取图像并通过彩信传递给主人,提高了实时性及准确性。1系统组成1 1 系统硬件组成系统由控制传输系统、网络采集系统组成。其中控制传输系统包括A R M 9 开发板、彩信模块和收稿日期:2 0 1 0-0 8 2 5作者简介:胡玮(1 9 8 3-),男,河北南皮人,硕士生。孙福明(1 9 7 2-),男,辽宁大连人,副教授,博士。U S B 摄像头,网络采集系统由Z i g B e e 节点、Z i g B e e协调器和热红外传感器组成,系统结构如图1 所示。A R M 9 开发板采用主频为4 0 0M H z 的三星公司生产的$3 C 2 4 4 0 微处理器;热红外传感器模块使用的芯片型号为B I S S 0 0 0 1 采用两个Z i g B e e 无线收发模块,模块采用的芯片是T I 公司成产的C C 2 4 3 0 C C 2 4 3 0 芯片具有低功耗的特性,它采用0 1 8 岬C M O S 工艺生产,工作时的电流损耗为2 7m A:在接收和发射模式下,电流损耗分别低于2 7m A 或2 5m A;休眠模式时仅0 9 衅的电流损耗,外部的中断能唤醒系统。C C 2 4 3 0 的休眠模式,特别适合那些要求电池寿命非常长的应用。采用了一个U S B摄像头,其芯片是中星微Z C 3 0 1 E 还有一个S I M C O M 公司生产的S I M 3 0 0 一M M S 彩信模块,内万方数据第5 期胡玮等:基于A R M 9 和Z i g B e e 的嵌入式无线家庭安防系统的设计2 8 9部封装好了M M S 协议,可以直接发送彩信。1 2 工作原理两个C C 2 4 3 0 模块分别作为协调器和终端节点并组成无线网络。当有人进入房间时,触发网络采集系统内的热红外感应模块,产生3 3V 的高电平传给与之相连的Z i g B e e 终端节点。该节点通过Z i g B e e 协议栈将报警信息传输给Z i g B e e 协调器。协调器通过串口0 与A R M 9 相连接,告知A R M 9开发板有突发事件,驱动U S B 摄像头抓拍现场图像并压缩储存。A R M 9 开发板通过串口1 连接彩信模块将图片以彩信的方式发送给主人。系统组成如图1 所示。网络采集系统豳r 广1 广-勰蒹H B 蔫H 箨惫篓网t图1 系统组成2网络采集系统软件设计2 1Z i g B 钾技术网络采集系统采用Z i g B e e 技术,它基于I E E E8 0 2 1 5 4 标准,是一个支持低功耗、低数据传输率的无线网络标准。Z i g B e e 技术特点:Z i g a e e 数据传输速率低,协议简单,成本低;网络可容纳6 50 0 0个设备:低功耗;使用免费的2 AG H z 频段等。使用Z S t a c k 协议栈进行组网,Z S t a c k 协议栈中定义了三种设备:协调器、路由器、终端节点。协调器是整个网络的核心,它的主要功能是启动网络。协调器的地址是0 0 0 0 H,其他设备的网络地址由协调器分配。终端节点主要功能是采集数据并向上一级发送。采用的Z S t a c k 协议栈是一个轮转查询式操作系统。当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。Z-S t a c k协议栈完成了从M A C 层到设备应用层的事件处理函数,只需用户编写应用层的任务和处理函数即可,无需改动Z S t a c k 协议栈核心代码。2 2 协调器程序设计当协调器中Z B _ E N T R Y _ E N E N T 事件触发时,调用z b _ S t a r t R e q u e s t 函数,Z D A p p _ N e t w o r k l n i t 函数会触发Z D ON E T W O R K _ I N I T 事件,在处理函数中调用Z O OS t a r t D e v i c e 函数,自动启动网络,这由Z-S t a c k 协议栈完成。协调器如果收到节点数据后就会调用任务事件处理函数S A P I _ P r o c e s s E v e n t C),在此函数中使用U a r t T X _ S e n d _S t r i n g(c h a r*D a t a。8)向串口发送数据,D a t a 数组中存放着待发送字符串 b r e a k i n g ,通过在f o r 循环中执行U O D B U F=宰D a t a+,将字符串通过串口发送出去。A R M 9 开发板如果检测到串口收到此字符串,就会驱动摄像头进行图片捕捉。2 3 终端节点程序设计节点设备上电后扫描指定的信道,调用N L M E _ N e t w o r k D i s c o v e r y R e q u e s t 0 发现网络后,调用N L M E-O r p h a r I J o i n R e q u e s t()加入网络。C C 2 4 3 0节点没有中断产生时要进入睡眠状态,所以要设置P C O N 和S L E E P 这两个相关寄存器进入睡眠状态。设置寄存器I E N 0 和I E N l,将总中断和P o 口中断打开。设置P O I F G 和P I C T L 寄存器清空P 0 口的中断标志位并设置上升沿产生中断。在中断处理函数中,判断寄存器P O I F G 如果为1,表明P 0 _ I 有中断产生,节点就会由睡眠状态唤醒,然后发送信号给Z i g B e e 协调器,最后清空P 0 口中断。3 控制传输系统软件设计3 1 移植L i n u x 系统因为要在A R M 9 开发板上运行L i n u x 系统,这就需要将L i n u x 系统移植到开发板上。首先搭建交叉编译环境,宿主机采用的操作系统是r e d h a t 9,使用的交叉编译器为a l T l l 1 i n u x g c c-4 3 2,目标机为A R M 9 开发板。3 1 1 制作B o o t l o a d e rB o o t l o a d e r 就是在操作系统内核运行之前的一段程序,可以初试化硬件设备、建立内存空间的映射图,并为最终调用操作系统内核准备好正确的环境。本设计采用的B o o t l o a d e r 为u b o o t,从网上下载u b o o t 源代码,在虚拟机上以s m d k 2 4 1 0 为参考开发板,修改M a k e f i l e 等配置得到适合m i n i 2 4 4 0开发板使用的u b o o t 执行m a k em i n i 2 4 4 0 _ c o n f i g 和m a k e 命令交叉编译u b o o t,生成U-b o o t b i n,通过蛔g 接口下载到开发板的n o r f l a s h 中。3 1 2 制作l i n u x 内核从网上下载得到的l i u n x 内核版本为2 6 2 9,在虚拟机上压缩得到源代码,使用m a k ec l e a n 命令清理内核文件。使用开发板自带的m i n i 2 4 4 0,c o n f i g 作为配置文件对内核进行配置,执行m a k em e n u c o n f i g对内核进行剪裁工作,除掉对设计无关的选项,同时把万能摄像头驱动和主程序编译进内核。然后执行m a k eu l m a g e 得到内核文件u l m a g e 万方数据辽宁工业大学学报(自然科学版)第3 0 卷3 1 3 制作根文件系统在虚拟机中建立目录f s,在其中创建b i n,d e v,s b i n,u s r s y s,m n t,t m p,p r o c,l i b 等文件夹,以及u s r 和l i b 下的子目录。使用m k n o d 命令创建n u l l和c o n s o l e 这两个设备文件。使用如下三条命令编译内核模块并装入根文件系统:m a k em o d u l e s;m a k em o d u l e s _ i n s t a l l;A R C H=a r mI N S T A L L _ M O D P A T H=f s;最后将b u s y b o x 安装到根文件系统之中,这样就做好了根文件系统。可以通过r a m d i s k 启动根文件系统,即使用系统内存的一部分作为根文件系统。将r a m d i s k 进行压缩得到r a m d i s k g z,得到可以下载的根文件系统。然后当开发板从u b o o t 启动后通过t f t p 命令将内核和根文件系统下载到开发板中。至此,整个系统移植完成。3 1 4L i n u x 主程序L i n u x 主程序流程如图2 所示。n 而而丌初始化串U发送图片L 茎塑望皇,图2l i n u x 主程序流程首先使用o p e n 函数打开串口0 和串口1 对应的设备文件t t y S A C 0 和t t y S A C l,返回文件描述符f d和f d l。然后对串口0 和l 初始化,通过c f s e t i s p e e d和c f s e t o s p e e d 函数把A R M 9 开发板的输入和输出串口波特率设为1 1 5 2 0 0 运行在A R M 9 开发板的L i n u x 系统采用轮询法,在w h i l e 循环中通过r e a d(f d,r b u f f,8)和s t r n c m p(r b u f f,“b r e a k i n g”,8)函数判断有没有数据接收。当A R M 9 开发板收到Z i g B e e 协调器通过串口发过来的数据后就会调用c a p t u r e 函数驱动U S B 摄像头捕捉图像,然后通过S I M 3 0 0 彩信模块将图片传送出去。最后调用c l o s e 函数关闭串口0 和1,完成整个流程。3 2 图像采集程序设计图像采集程序采用V i d e 0 4 1 i n u x 2(简称V 4 L 2),这是L i n u x 关于视频设备的内核驱动。摄像头的设备文件名为d e v 下的v i d e 0 0 因为L i n u x 内核2 6 2 9内部包含了G S P C A,它是一个万能U S B 摄像头驱动程序,只需在配置内核时选上Z C 3 0 1 选项,摄像头驱动就可以编译到内核中去了。基于V 4 L 2 编写的摄像头图像采集程序其流程如图3 所示,步骤如下:(1)打开设备在c a p t u r e 函数中首先使用o p e n(d e v v i d e 0 0”,O _ R D W RlO _ N O N B L O C K)函数打开u s b 摄像头设备,返回的设备文件描述符是v i d e o f d 通过v i d e o f d对摄像头进行操作。(2)初始化设备i o c t l(v i d e o f d,V I D I O C-Q U E R Y C A P,c a p);f m t t y p e=V 4 L 2“FT Y P E _ V I D E OC A P l _ U R E;f m t f m t p i x p i x e l f o r m a t=V 4 L 2 _ P I X _ F M T _ Y U Y V;首先使用V I D I O C _ Q U E R Y C A P 命令来获得当前设备的各个属性,查看设备对各项功能的支持程度,v 4 1 2 驱动都必须支持V I D I O C Q U E R Y C A P 视频图像采集格式设为Y U Y V 格式。(3)内存映射m e m o r ym a p p e d 方式可以把设备文件直接映射到内存中,文件中的位置直接就有对应的内存地址,方便对其进行读写操作。i o c f l(v i d e o f d,V I D I O C _ R E Q B U F S,r e q);b u f f e r s=c a l l o c(r e q c o u n t,s i z e o f(*b u f f e r s);b u f f e r s i s t a r t=m m a p(N U L L,b u f 1 e n g t h,P R O T _ R E AD I P R O T _ W R I T E,M A P _ S H A R E D,v i d e o f d,b u f m 0 f fs e O;上述程序中M e m o r ym a p p e db u f f e r s 是通过V I D I O C _ R E Q B U F S 在d e v i c em e m o r y 中申请的。c o u n t 是要申请的b u f f e r 的数量。在f o r 循环中依次对缓存进行映射,用m m a p 函数将在设备缓存和应用程序所分配内存间建立映射,并返回应用程序内存的首地址,至此内存映射初始化完毕。(4)图像采集x i o c t l(v i d e o f d,V I D I O C _ Q B U F,&b u f);i o c t l(v i d e o f d,V I D I O C S T R E A M O N,&t y p e);刚映射过的所有缓存开始都处于等待输入队列状态。对于应用程序来说,首先是要通过V I D I O C Q B U F 将所有映射过的缓存加入队列,然后通过V I D I O C _ S T R E A M O N 开始捕获,并进入循环中。i n tr=s e l e c t(v i d e o f d+1,&f d s,N U L L,N U L L,t v);x i o c t l(v i d e o f d,V I D I O CD Q B U F,&b u f);p 1在主循环中,可以使用s e l e c t 函数来监听文件描述符的状态,一旦有数据可读,就调用函数来读万方数据第5 期胡玮等:基于A R M 9 和Z i g B e e 的嵌入式无线家庭安防系统的设计2 9 1取数据。在r e a d j r 锄e 函数中,读取一帧,调用x i o c t l函数,缓存被塞满数据以后会自动变为输出队列,然后调用p r o c e s si m a g e 函数处理这一帧。(5)图像处理s p r i n f f(f i l e n a m e,”p i c d j p g”,c+);f p=f o p e n(f i l e n a r n e,W”);f w r i t e(p,3 2 0,16 0,f p);在处理函数中,将一帧图片写入到p i c 0 j p g 之中,P 是该缓存的首地址,保存的图像大小为8 4 4 8字节。保存的图片存在L i n u x 的当前目录下。(6)关闭设备f r e e(b u f f e r s);m u n m a p(b u f f e r s,b u f f e r s 1 e n g t h);c l o s e(v i d e o f d);最后关闭设备文件,解除内存映射,释放掉分配的内存资源,完成整个图像采集过程。采集到的图片从A R M 9 开发板传到P C 上如图4 所示。打开设备二工二初始化设备工内存影射二图像_ j i 乏集二图像处理(茎塑堡鱼)图3 图像采集流程图4 采集到的图片3 3 图片传输程序设计保存为p i c o j p g 的图片需要通过串口l 传到彩信模块发送出去。对于S I M 3 0 0 一M M S 彩信模块,可以使用A T 指令进行彩信的发送:(1)编辑彩信p r i n t f(”气T+C M M S E D I T=1、t”);p a n g(”A T+C M M S R E C P-”1 5 1 3 4 1 7 0 0 0 0”t I t);p r i n t f(”A T+C M M S D O W N _”P I C ,8 4 4 8,7 0 0 0 0 t”);通过串口l 发送A T 指令通知S I M 3 0 0 M M S 创建一条彩信并设置接收人的手机号码接受彩信。最后通知s I M 3 0 0 M M S 准备上传大小为8 4 4 8 字节的图片。(2)打开图片i n ti m g _ _ f d=o p e n(”h o m e p i c 0 j p g ,O R D W R);i n tn r e a d=r e a d(i m g _ f d,b u i f,8 4 4 8);打开保存的图片得到文件描述符i m g _ f d,可以通过它对图片文件进行操作。将图片保存在b u f f 中,准备通过串口写入彩信模块。(3)上传图片v o i d 术i m g _ a d d r=m m a p(N U L L,8 4 4 8,P R O T _ R E A D,MA P-P R I V A T E,i m g _ f d,0);f o r(i=0;i 1 6;i+)d e l a y(2 0 0):m e m c p y(b u f f,i m g _ a d d r+n u m,5 2 8);i n tn w r i t e=w f i t e(f d l,b u f f,5 2 8);n u m+=5 2 8;l将图片进行内存映射后通过f o r 循环将图片数据分成1 6 块通过串口中发送给彩信模块。(4)发送彩信通过“A=r+C M M S S E N D”这条A T 命令通知彩信模块可以发送这条彩信。手机接收到彩信如图5所示。图5 手机收到的彩信图片4 测试与总结经测试,由于受到G P R S 网络环境的影响,整个系统从红外触发到用户手机接收到彩信图片大概在7 1 6S 之间,适合于家庭安防的需要。本文介绍了一种基于A R M 9 和Z i g B e e 技术相结合的家庭安防系统的设计。通过Z i g B e e 技术组网,不仅功耗低而且省去布线的烦恼;采用$3 C 2 4 4 0 处理器能够快速反应捕捉图像并通过彩信发送出去。此系统在目前家庭安防有很好的应用价值,随着3 G技术的发展,可以把彩信模块换成3 G 模块以达到监控动态画面的效果,这是未来家庭安防系统的趋势。(下转第2 9 5 页)万方数据第5 期孙德辉等:基于P S K 调制的扩频通信研究2 9 53 展望图4 不同实验次数M 序列和G o l d 序列扩频误码率曲线由于直接序列扩频通信具有抗干扰、抗噪声、抗多径衰落、可低功率谱密度下工作、保密性强、可多址复用和任意选址、高精度测量等许多优点,不但广泛用于民用通信领域,而且在军事通信中也逐渐发挥了巨大的作用。在传输距离较长,传输能量受限并且S N R 较低的情况下,使用扩频技术仍然能够取得较低的误码率。因此,随着通信技术的迅速发展,扩频通信以其难以比拟的灵活性、移动性、可扩展性。扩频通信将具有很好的发展前景。参考文献:【1】1 赵令艳,王梅,李娟基于S y s t e m V i e w 的D S S S 通信仿真与分析【J】电脑开发与应用,2 0 0 9,2 2(4):2 8-3 0【2】朱永松。张海勇直接序列扩频通信抗干扰性能分析【J】现代防御技术,2 0 0 5,3 3(4):5 0-5 3 责任编校:孙林(上接第2 9 1 页)参考文献:【l】高守玮,吴灿阳Z i g B e e 技术实践教程【M】北京:北京航空航天大学出版社。2 0 0 9【2】陈亮,裴海龙,伍越基于V i d e 0 4 L i n u x 2 的图像采集程序设计【J】数采与监测:微计算机信息,2 0 0 9,2 5(3):6 5 6 7【3】V 4 L 2A P IS p e c i f i c a t i o n D B O L f 2 0 1 0-0 4-1 0】h t t p:v 4 1 2 s p e c b y t e s e x o r g s p e c b o o k I h t m 责任编校:孙林万方数据基于ARM9和ZigBee的嵌入式无线家庭安防系统的设计基于ARM9和ZigBee的嵌入式无线家庭安防系统的设计作者:胡玮,孙福明,HU Wei,SUN Fu-ming作者单位:辽宁工业大学电子与信息工程学院,辽宁,锦州,121001刊名:辽宁工业大学学报英文刊名:JOURNAL OF LIAONING INSTITUTE OF TECHNOLOGY(NATURAL SCIENCE EDITION)年,卷(期):2010,30(5)参考文献(6条)参考文献(6条)1.高守玮;吴灿阳 ZigBee技术实践教程 20092.高守玮.吴灿阳 ZigBee技术实践教程 20093.陈亮;裴海龙;伍越 基于Vide04Linux2的图像采集程序设计 2009(03)4.陈亮.裴海龙.伍越 基于Vide04Linux2的图像采集程序设计 2009(3)5.V4L2 API Specification 20106.V4L2 API Specification 2010 本文链接:http:/