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