您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > linux――零点起步第15章
第15章基于ARMLinux的家庭安全监控系统设计随着经济的快速发展,生活节奏的提高,人们照顾家庭的时间越来越少,感觉时间也越来越紧张:不但要周旋在繁杂的工作之中,同时也要兼顾自己的“家”。怎样才能够解决这个矛盾,做到“鱼与熊掌兼得”成了人们关注的重点。而传统的网络视频监控系统如模拟视频监控,都是应用到专用的视频监控领域,采用专有线路、模拟电视信号等实现,需要较多的硬件,整个系统昂贵、通用性差、不易扩展、建设安装复杂,需要专业人士完成。这些要求都导致了该类系统难以普及进入普通家庭。第15章基于ARMLinux的家庭安全监控系统设计系统功能和组成15.1系统模块功能描述15.2软件平台与开发工具15.3基于嵌入式平台的网络服务器15.4第15章基于ARMLinux的家庭安全监控系统设计视频监控系统的实现15.5红外监控模块设计15.615.1系统功能和组成家庭安全监控系统的目标是使用户可以随时通过移动通信设备、通过网络查看被监控地点的摄像设备捕捉到的视频信息。家里的摄像设备进行监视,将视频信息传送到服务器进行处理和保存。当用户向服务器发出请求时,服务器将数据通过无线网络传送至用户的移动通信终端。整个家庭安全服务系统包括服务器、传感器和客户端三部分组成。传感器通过无线网络实现对用户家庭安全情况的实时监测。本系统使用无线技术在家庭内组建无线局域网络,并通过网络中的传感器设备,如无线摄像头、无线红外探头等对用户室内情况监测,将监测信息通过无线局域网传送数据至服务器,供服务器进行相应处理。摄像头负责采集家庭室内视频及图像信号,并传输至服务器。红外探头负责监控家庭内是否有陌生人入侵,并将信号传输至服务器。Linux客户端系统,通过有限网络实现对用户家庭安全情况实时监测。其中屏幕负责显示图片或者视频。图15-1为家庭安全服务系统工作网络图,其中防火墙与监控设备之间由无线节点和服务器相连,移动通信设备与客户端之间存在TCP/IP通信交互协议。摄像监控设备红外监控设备ARM处理器S3C2410SDRAMFlash串口JTAG网卡电源图15-1家庭安全监控系统结构图S3C2410是韩国三星公司生产的一款基于ARM920T体系结构的32位高性能CPU,丰富的外设接口,203MHz的主频使它特别适合进行操作系统的移植和进行应用开发。S3C2410采用0.18μm制造工艺的32位微控制器。该处理器拥有独立的16kB指令Cache和16kB数据Cache、MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。15.1.1S3C2410介绍S3C2410的内部结构如图15-2所示。SPIClockContRTCMemoryContARM920TCore200MHzLCDDMA4ChannelDMAControllerInteruptContI2SGPIOADCBUSContBridgeWatchdogTimerUSBDevicesUSBHostCONTBusContArbiter/DecoderNandFlashContJTAGUARTAHBSDI/MMCI2CPoweranagement图15-2S3C2410内部结构图1.片上功能介绍1.8V的ARM920T内核,1.8V/2.5V/3.3V存储系统,带有3.3V16KB指令和16KB数据缓存及MMU单元的外部I/O接口的微处理器;外部存储器控制(SDRAM控制和芯片选择逻辑);LCD控制器(支持4K颜色的STN或256K色TFT的LCD),带有1个通道的LCD专用DMA控制器;4通道DMA,具有外部请求引脚;3通道UART(支持IrDA1.0,16字节发送FIFO及16字节接收FIFO)和2通道SPI接口;1个通道多主I2C总线控制器/1通道IIS总线控制器;0版本SD主机接口及2.11版本兼容的MMC卡协议;2个主机接口的USB口和1个设备USB口(1.1版本);4通道PWM定时器/1通道内部计时器;看门狗定时器;117位通用目的I/O口、24通道外部中断源;电源控制:正常、慢速、空闲及电源关闭模式;带触摸屏接口的8通道10位ADC;带日历功能的实时时钟控制器;具有PLL的片上时钟发生器。2.体系结构集成了手持设备和通用嵌入式系统的解决方案;32/16位结构体系和ARM920TCPU核的强大指令体系;增强的ARMMMU体系结构支持WinCE、POC32和Linux操作系统;指令缓存、数据缓存、写缓冲器和RAM物理地址标签减少了主存储器带宽和潜在性能的影响;ARM920TCPU核支持ARM调试体系结构;内置的高级微控制总线体系结构(AMBA)(AMBA2.0,AHB/APB)。3.系统管理器支持小/大端模式;寻址空间:每个bank128M字节(总共1G字节);支持每个bank可编程的8/16/32位数据总线宽度;bank0到bank6具有固定的bank起始地址;bank7具有可编程的bank起始地址和bank大小;共有8个存储器bank:6个存储器bank用于ROM,SRAM及其它;2个存储器bank用于ROM/SRAM/同步DRAM;所有的存储器bank具有可编程的操作周期;支持外部等待信号延长总线周期;支持掉电时的SDRAM自刷新模式;支持多种类型的引导ROM(NOR/NandFlash,EEPROM及其它)。各种物体因为表面热度的不同,都会辐射出强弱不同的红外线,物体不同辐射的红外线波长也有不同。红外探测主要用来探测人体和其他一些入侵的移动物体,当人体进入探测区域,稳定不变的热辐射被破坏,产生一个变化的热辐射,红外传感器接收后放大、处理,发出报警信号。15.1.2无线红外探头RD-HW14G无线红外探头RD-HW14G采用先进的数字信号处理技术,由高精度被动红外探测头和逻辑数码电路设计组成,具有更强的抗干扰能力、精细的全范围温度补偿;含微处理,CPU控制,防小宠物;超微功耗设计,智能节电模式,当探测不到信号时,自动进入30秒节电模式。探测器通过探测人体辐射的红外热能而发射无线数码信号来启动主机相应报警。具有外形美观、安全可靠、受环境影响小,安装使用方便等优点,适合目前现代家居阳台落地窗、超大窗户等使用。1.特点及结构原理:(1)防拆开关:外壳被打开探测器发射报警信号。(2)与主机对码:将主机要对码防区拨“ON”,按探测器防拆开关一次后发出信号,主机鸣响一声表示对码成功。(3)电池低压报警:当电池电压降低时,人体移动时LED灯闪次,静态环境不告警。(4)编码地址:出厂已设好。(5)设防时间选择:约3秒或30秒,由跳线块选择。(6)可以与多种主机兼容。2.技术参数:(1)工作电压:9V锂锰电池500mAh(2)工作电流:静态:﹤30μA报警:﹤16mA(3)探测角度:110°(4)工作环境:-10℃~50℃(5)外型尺寸:143×55×68mmLinux客户端的主要功能有:监控功能:用户通过服务器终端向服务器发送监控请求,明确需要进行的监控类型。服务器收到请求后,向终端发送相关的多媒体信息,包括图片或视频。在视频监控功能中用户向服务器发起视频监控请求。服务器通过摄像头捕捉室内的视频信息后,将这些信息通过无线网络发送到移动终端,经过合法的身份验证时,用户可以查看这些视频。而在图片监控的时候服务器通过摄像头对室内进行拍照。将照片通过无线网络发送到移动通信终端,同样也应该经过合法的身份验证,用户看到是则是这些图像。15.2系统模块功能描述发送请求身份判定处理个人设置信息选择前端摄像头捕获图像或视频输出图片或视频流合法非法图15-3监控功能活动图历史查询功能:用户可以通过发送一个历史视频浏览的请求,将想浏览的历史视频的时间发送到服务器端。服务器找到这个时间端的视频后,通过网络将视频数据发送到客户端,用户可以看该视频数据。如果在被请求的时间段中,用户没有将视频捕捉模式设置为实时捕捉,或者不是定时拍照时间,则向客户端发送一个错误信息。数据捕捉功能:包括实时捕捉功能、触发捕捉功能、定时捕捉功能。用户可以在终端上访问服务器端的功能设置页面,设置视频捕捉模式,并将这些视频数据存入服务器中。自动提醒功能:通过在用户室内的大门、窗台、厨房和卫生间里安装传感器,实现对非法入室、煤气泄漏和火灾监控。传感器捕捉到报警信号后将该信号传到服务器。然后服务器将该信息转换为文本信息发送到终端用户。管理功能:用户可以通过浏览登录服务器的网页,设置需要获得功能模式和管理个人信息,如密码、绑定的手机号等。15.3软件平台与开发工具15.3.1Linux系统15.3.2Shell脚本15.3.3GCC编译器15.3.4Make项目管理器156.3.5Socket编程接口从二十世纪八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork、Neculeus、pSOS和WindowsCE。但这些专用操作系统都是商业化产品,其高昂的价格使许多做低端产品的小公司望而却步,而且,源代码封闭性也大大限制了开发者的积极性。Linux是一种遵循POSIX标准(POSIX是一套由IEEE即电气和电子工程学会所制定的操作系统界面标准)的开放源代码的操作系统,与UNIX的风格非常相像,同时具有SystemV和BSD的扩展特性,但是Linux系统的核心代码已经全部重新编写。作为一个操作系统,Linux几乎满足当今Unix操作系统的所有要求,因此,它具有Unix操作系统的基本特征。15.3.1Linux系统符合POSIX1003.1标准:POSIX1003.1标准定义了一个最小的Unix操作系统接口,任何操作系统只有符合这一标准,才有可能运行Unix程序。Unix具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX1003.1标准作为实现目标,Linux也不例外,它完全支持POSIX1003.1标准。支持多用户访问和多任务编程:Linux是一个多用户操作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。另外,Linux还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来完成用户的需求。采用页式存储管理:页式存储管理使Linux能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。支持动态链接:用户程序的执行往往离不开标准库的支持,一般的系统往往采用静态链接方式,即在装配阶段就已将用户程序和标准库链接好,这样,当多个进程运行时,可能会出现库代码在内存中有多个副本而浪费存储空间的情况。Linux支持动态链接方式,当运行时才进行库链接,如果所需要的库已被其它进程装入内存,则不必再装入,否则才从硬盘中将库调入。这样能保证内存中的库程序代码是唯一的。支持多种文件系统:Linux能支持多种文件系统。目前支持的文件系统有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系统是EXT2,它的文件名长度可达255字符,并且还有许多特有的功能,使它比常规的Unix文件系统更加安全。支持TCP/IP、SLIP和PPP:在Linux中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP和PPP能支持串行线上的TCP/IP协议的使用,这意味着用户可用一个高速Modem通过电话线连入Internet网中。Shell其实是内核与用户之间的一个接口,如果有一系列经常使用的linux命令,可以把它们存储在一个文件中。Shell可以读取这个文件,并执行其中的命令。这样的文件成为脚本文件。Shell脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大。如果有处理一个任务的命令清单,不得不一
本文标题:linux――零点起步第15章
链接地址:https://www.777doc.com/doc-3969149 .html