基于ARM的智能家居监控系统_第1页
基于ARM的智能家居监控系统_第2页
基于ARM的智能家居监控系统_第3页
基于ARM的智能家居监控系统_第4页
基于ARM的智能家居监控系统_第5页
已阅读5页,还剩58页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ARM的智能家居监控系统详细设计说明书提交审核提交FARSIGHT审核XXX核准XXX基于ARM的智能家居监控系统详细设计说明书发行签核记录表发文单位签核发文单位签核北京开发中心技术管理部修改纪录表版本发行日期修改记录VER100200949基于ARM的智能家居监控系统详细设计说明书基于ARM的智能家居监控系统详细设计说明书1、引言11目的本说明书是为了程序员详细了解基于ARM的智能家居监控系统应该完成的功能和各模块输入、处理、输出关系,指导程序员正确编码;同时作为测试人员的参考资料使用面向的读者程序员、测试人员、评审员;12项目背景项目名称基于ARM的智能家居监控系统。项目功能使用FS2410开发板和GPRS模块和USB摄像头,完成对现场的监控功能,硬件资源来源于FS2410开发板自带的资源,比如温度传感器,报警器,红外传感器等。如果温度传感器特测温度高于一定的温度或者红外传感器特测有不法分子闯入,那么相应的相应的报警功能,灭火功能被开启,并通过GPRS模块通知用户现场情况,用户根据具体情况采取不同的措施给系统。完成一个远程监控的主要功能。系统提出者北京市华清远见科技信息有限公司项目开发者FARSIGHT项目管理者FARSIGHT最终用户面向用户其他有关背景资料。13术语及缩略语定义131术语定义FS2410优龙开发板名称。CGICOMMONGATEINTERGACE,是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上132缩略语定义14参考资料141文件基于GPRS的远程安防监控系统需求分析说明书基于GPRS的远程安防监控系统概要设计说明书基于ARM的智能家居监控系统详细设计说明书142资料优龙开发板参考资料光盘2、主控系统详细设计21程序结构图21系统结构图22程序说明221AD模块说明程序描述AD驱动程序名称S3C2410ADCC审核FARSIGHT日期2008426小偷异常现象红外传感器USB摄像头GPRS灭火装置报警存储照片主控板INTERNET(动态)结束初始化CDEV,并添加到内核之中CDEV_ADDY填充ADC_REMAP_OPS结构体的各个域。OPEN,RELEASE,READ,WRITEREQUEST_IRQIRQ_ADC,AD_INTERRUPT,SA_INTERRUPT,“AD“,NULL(中断注册)REGISTER_CHRDEV_REGIONDEVNO,1,“AD_TEMPERATURE“成功序流程221AD模块驱动流程图驱动设计思路在模块中有AD转换驱动和蜂鸣器的驱动,AD驱动的设计为OPEN函数中设置为手动启动,当应用层调用READ函数时,开启AD转换,然后进入可中断的等待队列,当中断来的时候,唤醒等待队列,然后读取转换数值,在IOCTL中能控制对AD和蜂鸣器的开和关。INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE注册驱动程序N基于ARM的智能家居监控系统详细设计说明书INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINERADCCONVOLATILEUNSIGNEDINTS3C2410_ADCCONDEFINERADCDAT0VOLATILEUNSIGNEDINTS3C2410_ADCDAT0DEFINERGPBCONVOLATILEUNSIGNEDINTS3C2410_GPBCONDEFINERGPBDATVOLATILEUNSIGNEDINTS3C2410_GPBDATDEFINERCLKCONVOLATILEUNSIGNEDINTS3C2410_CLKCONDEFINERADCTSCVOLATILEUNSIGNEDINTS3C2410_ADCTSCDEFINEAD_MAGICKDEFINEAD_ENABLE_IOAD_MAGIC,1DEFINEAD_DISABLE_IOAD_MAGIC,2DEFINEBEEP_ON_IOAD_MAGIC,3DEFINEBEEP_OFF_IOAD_MAGIC,4DEFINEAD_MAJOR91STATICVOIDAD_SETUP_CDEVVOIDSTATICIRQRETURN_TAD_INTERRUPTINTIRQ,VOIDDEV_ID,STRUCTPT_REGSREGSSTATICINTAD_MAJORAD_MAJORINTCOUNT0INTONOFF0STRUCTAD_DEV基于ARM的智能家居监控系统详细设计说明书WAIT_QUEUE_HEAD_TWAITSTRUCTSEMAPHORESEMREADINTTEMPERATURESTRUCTCDEVCDEVSTRUCTAD_DEVADDEVSTATICVOIDBEEPONVOID/开蜂鸣器UNSIGNEDLONGDATAUNSIGNEDLONGS3C2410_FCLKUNSIGNEDLONGS3C2410_HCLKUNSIGNEDLONGS3C2410_PCLKDATAVOLATILEUNSIGNEDLONGS3C2410_GPBCONDATAVOLATILEUNSIGNEDS3C2410_GPBCONDATA|0X2DATAREADLS3C2410_TCFG0DATADATA|15WRITELDATA,S3C2410_TCFG0DATAREADLS3C2410_TCFG1DATADATA|2WRITELDATA,S3C2410_TCFG1S3C2410_FCLKS3C2410_GET_PLL_RAW_READLS3C2410_MPLLCON,1210001000DATA_RAW_READLS3C2410_CLKDIVNS3C2410_HCLKS3C2410_FCLK/DATAS3C2410_PCLKS3C2410_HCLK/DATAWRITELS3C2410_PCLK7/2000,S3C2410_TCNTB0WRITELS3C2410_PCLK7/20001,S3C2410_TCMPB0DATAREADLS3C2410_TCONDATADATA|0XBWRITELDATA,S3C2410_TCONDATA基于ARM的智能家居监控系统详细设计说明书WRITELDATA,S3C2410_TCONSTATICVOIDBEEPOFFVOID/关蜂鸣器UNSIGNEDLONGDATADATAVOLATILEUNSIGNEDS3C2410_GPBCONDATAVOLATILEUNSIGNEDS3C2410_GPBCONDATA|0X1VOLATILEUNSIGNEDS3C2410_GPBDATSTATICINTAD_OPENSTRUCTINODEINODE,STRUCTFILEFILPUNSIGNEDLONGDATAIFCOUNT0/保证只有第一个进程调用是对AD进行初始化DATARCLKCONDATA|1INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE“SENDMESSAGEH“DEFINEAD_MAGICKDEFINEAD_ENABLE_IOAD_MAGIC,1DEFINEAD_DISABLE_IOAD_MAGIC,2DEFINEBEEP_ON_IOAD_MAGIC,3DEFINEBEEP_OFF_IOAD_MAGIC,4VOIDINIT_DAEMONVOIDINTPIDINTIIFPIDFORKEXIT0ELSEIFPID60SYSTEM“CP/WEB/HTML/PIC/SAFE_NOJPG/WEB/HTML/PIC/SAFEJPG“SENDMESSAGE,“BURNINGMORETHAN60“COUNT1IFCOUNT1SLEEP5DELAYIFDELAY2COUNT0DELAY0IOCTLFD,BEEP_OFF基于ARM的智能家居监控系统详细设计说明书224蜂鸣器报警模块说明程序描述蜂鸣器驱动程序名称BEEPC审核FARSIGHT日期2008426输入数据有人闯入输出数据报警硬件描述首先将蜂鸣器接到S3C2410处理器的一个GPB0管脚上。还上面的配置一样。首先配置GPBCON的GPB0为输出模式,当数据寄存器里写入1时。蜂鸣器打开,写0关闭蜂鸣器。软件上是通过IOCTL来进行相应的控制的。原理图所涉及的DATASHEETS3C2410数据手册224蜂鸣器报警模块驱动流程图225红外模块说明程序描述探测入侵程序名称IRDACIRDA_GPIOCSERIALCSHMGTC审核FARSIGHT日期2008116输入数据有人闯入输出数据报警、拍照、网页警告基于ARM的智能家居监控系统详细设计说明书硬件描述通过设置GPFCON来将GPF3设置为输入模式,然后读取相应的数据寄存器的状态来,进行对现场的分析。如果有人闯入,红外模块输出高电平,这个时候GPF3相应的数据寄存器的数值为1,反之为0原理图涉及的DATASHEETS3C2410数据手册GPFCON,GPFDAT三个寄存器驱动程序模块设计1IRDA_GPIOC/LINUX/DRIVERS/CHAR/IRDA_GPIOCNATIONALSEMICONDUCTORSCX200GPIODRIVERALLOWSAUSERSPACEPROCESSTOPLAYWITHTHEGPIOPINSCOPYRIGHTC2001,2002CHRISTERWEINIGEL/INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE/INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE基于ARM的智能家居监控系统详细设计说明书DEFINEDRVNAME“IRDA_GPIO“MODULE_AUTHOR“HONGBOLIU“MODULE_DESCRIPTION“IRDADETECTOR“MODULE_LICENSE“GPL“/DEFINEHELLO_MAGICK/声明一个幻数/DEFINECLOSE_IRDA_IOHELLO_MAGIC,1/DEFINEOPEN_IRDA_IOHELLO_MAGIC,2DEFINECLOSE_IRDA0DEFINEOPEN_IRDA1DEFINEMAX_PINS32DEFINEMAX_RESULT4CHARSTATUSOPEN_IRDASTATICINTMAJOR253/DEFAULTTODYNAMICMAJOR/MODULE_PARAMMAJOR,INT,0MODULE_PARM_DESCMAJOR,“MAJORDEVICENUMBER“/读函数,读出红外设备的状态,函数提供COUNT毫秒内并小于128的结果,结果以字符Y或N来表示状态,设备连接在GPG10端口上STATICSSIZE_TIRDA_GPIO_READSTRUCTFILEFILP,CHARBUFF,SIZE_TCOUNT,LOFF_TOFFPSSIZE_TRESULT0INTICHARDATAMAX_RESULTCHARSTATUS1“YES“CHARSTATUS2“NO“IFSTATUSOPEN_IRDAINTKREADLS3C2410_GPFDAT/读GPG10端口信号IFKALARMDISABLEPRINTF“BURNINGN“IFFORK0BEEPONSLEEP1BEEPOFFWHILESENDMESSAGE,“WARNING“SEND_FAILSYSTEM“CP/WEB/HTML/PIC/SAFE_NOJPG/WEB/HTML/PIC/SAFEJPG“EXECL“/CAMERA/MOUSE_CAPTURE“,“/CAMERA/MOUSE_CAPTURE“,NULLEXIT0SLEEP1RETURN03SERIALCINCLUDE基于ARM的智能家居监控系统详细设计说明书INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINESEND_SUCCESS0DEFINESEND_FAIL1INTOPEN_PORTINTFD,INTCOMPORTCHARDEV“/DEV/S3C2410_SERIAL0“,“/DEV/S3C2410_SERIAL1“,“/DEV/S3C2410_SERIAL2“LONGVDISABLEIFCOMPORT1FDOPEN“/DEV/S3C2410_SERIAL0“,O_RDWR|O_NOCTTY|O_NDELAYIF1FDPERROR“CANTOPENSERIALPORT“RETURN1ELSEIFCOMPORT2FDOPEN“/DEV/S3C2410_SERIAL1“,O_RDWR|O_NOCTTY|O_NDELAYIF1FDPERROR“CANTOPENSERIALPORT“RETURN1ELSEIFCOMPORT3FDOPEN“/DEV/S3C2410_SERIAL2“,O_RDWR|O_NOCTTY|O_NDELAYIF1FDPERROR“CANTOPENSERIALPORT“RETURN1IFFCNTLFD,F_SETFL,0INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVINTID,OFLAGCHARPTRCHARBUF10SIZE_TLENGTH基于ARM的智能家居监控系统详细设计说明书CHARPATH“/ETC/PASSWD“OFLAG0644|IPC_CREAT/IPC_CEAT保证创建一个新的IPC结构LENGTH10IDSHMGETFTOKPATH,0,LENGTH,OFLAG/IDSHMIDPRINTF“SHM_IDDN“,IDPTRSHMATID,NULL,0SHMGT_CHECKPTRRETURN0VOIDSHMGT_CHECKCHARPTR/生成512的共享内存IPCS查看INTVAL1WHILE1IFVALMEMCPYPTR,“BUSYNOW“,10VALELSEMEMCPYPTR,“FREENOW“,10VALSLEEP13、摄像头驱动程序详细设计311摄像头驱动移植说明基于ARM的智能家居监控系统详细设计说明书驱动名称GSPCAV120071224TARGZ使用内核2681内核审核FARSIGHT日期20081019步骤1从HTTP/MXHAARDFREEFR/下驱动补丁包2解压GSPCAV120071224TARGZ至用户文件夹3进入GSPCAV120071224目录。4修改MAKEFILE文件增加CCARMLINUXGCC,修改KERNELDIR为内核文件夹。5MAKE生成模块文件。6会有一个错误,REMAP_PFN_RANGE未定义。进入GSPCA_COREC文件,注释掉REMAP_PFN_RANGE所在的IF语句。重新MAKE生成模块文件GSPCAKO。7配置内核,增加MULTIMEDIADEVICESVIDEOFORLINUX和USBSUPPORTUSBOV511CAMERASUPPORT8编译内核。9启动开发板,把模块插入内核。10INSMODGSPCAKO11MKNOD/DEV/VIDEO0C81012接上USB摄像头。312摄像头采集图片程序详细设计应用程序描述采集图片分别保存成CURRENTJPG和时间JPG子文件名称MOUSE_CAPTURECSPCAV41CSPCAV41H填写王安日期2008116程序流程参见“采集图片程序”流程图基于ARM的智能家居监控系统详细设计说明书开始初始化摄像头设备信息INIT_VIDEOIN()YN设置设备的基本信息,图片的基本属性,各个信号源的属性打开设备OPENNY412采集图片流程图313摄像头实时监控程序详细设计应用程序描述通过JAVA程序实时监控的服务器端子文件名称SERVERCSPCAFRAMECTCPUTILSCTCPUTILSHUTILSCUTILSHSPCAV41CSPCAV41H填写王安日期2008116程序流程参见“实时监控程序”流程图采集图片READ方式关闭设备基于ARM的智能家居监控系统详细设计说明书开始初始化摄像头设备信息INIT_VIDEOIN()YN设置设备的基本信息,图片的基本属性,各个信号源的属性打开设备OPENNYREAD方式采集图片关闭设备网络初始化,设置SOCKET,使用TCP/IP协议通过SOCKET传输图像412实时监控流程图4、GPRS通信详细设计411GPRS模块说明采用WAVECOM模块,通过串口与FS2410开发平台的串口2相连接。驱动使用串口驱动程序,主要工作就是编写串口的应用程序,来进行短信息的接受和发送并存储短信息的功能。412GPRS发送短信息程序说明应用程序描述发短信息子文件名称SENDMESSAGEC填写FARSIGHT日期2008116程序流程参见“发送短信息”流程图基于ARM的智能家居监控系统详细设计说明书开始打开串口FDOPEN_PORTFD,2YN往串口发送“AT”,然后发送“ATCMGF1”设置发送信息格式,发送“ATCMGS(电话号码)”来设置接收短信息的手机号。然后向端口发消息设置串口属性SET_OPTFD,9600,8,N,1NY发送短信息INTSENDMESSAGEINTLEN关闭设备结束YYN412发送短信息流程图基于ARM的智能家居监控系统详细设计说明书5BOA服务器模块设计51系统功能结构图启动WEB服务器芯片初始化创建、设置、绑定套接字服务器监听CGI处理程序发查询数据是否发送完毕接收数据数据校验保存数据向主页发数据关闭文件、断开连接向主页发HTMLYYNN静态主页请求52BOA服务器模块设计模块编码文件BOA09413/SRC页次BOA服务器编码子文件名称BOACONF填写日期2008420功能描述在嵌入式系统中移植BOA服务器,提供WEB页服务基于ARM的智能家居监控系统详细设计说明书BOA程序的移植1、下载BOA源码版本094132、生成MAKEFILE文件直接运行SRC/CONFIGURE文件3、修改MAKEFILE文件A、修改CCGCC为CCARMSOFTFLOATLINUXGNUGCCB、修改CPPGCCE为CPPARMSOFTFLOATLINUXGNUGCCE4、编译MAKEARMSOFTFLOATLINUXGNUGCCBOA二BOA的配置BOA需要在/ETC目录下建立一个BOA目录,里面放入BOA的主要配置文件BOACONF。1主要BOACONF设置项PORT80USERNOBODYGROUP0DOCUMENTROOT/WEB/HTMLDIRECTORYINDEXINDEXHTMLMIMETYPES/ETC/MIMETYPESSCRIPTALIAS/CGIBIN/WEB/CGIBIN/三BOA的执行随板子启动,在启动脚本里添加/BIN/BOA。基于ARM的智能家居监控系统详细设计说明书6CGI代码设计61系统功能结构图62CGI代码设计应用编码目录名称/WEB/CGIBIN页次CGI编码文件名称OPEN_IRDAC编译生成OPEN_IRDACGI填写日期2008116CGI编码文件名称CLOSE_IRDAC编译生成CLOSE_IRDACGI填写日期2008116CGI编码文件名称OPEN_ADC编译生成OPEN_ADCGI填写日期2008116CGI编码文件名称CLOSE_ADC编译生成CLOSE_ADCGI填写日期2008116CGI编码文件名称CLOSE_BEEPC编译生成CLOSE_BEEPCGI填写日期2008116CGI编码文件名称SAFE_YESC编译生成SAFE_YESCGI填写日期2008116CGI编码文件名称CATCH_CAMERAC编译生成CATCH_CAMERACGI填写日期2008116CGI编码文件名称OPEN_VIDEOC编译生成OPEN_VIDEOCGI填写日期2008116CGI编码文件名称CLOSE_VIDEOC填写日期2008116基于ARM的智能家居监控系统详细设计说明书编译生成CLOSE_VIDEOCGICGI编码文件名称TIME_CAPTUREC编译生成TIME_CAPTURECGI填写日期2008116CGI编码文件名称DHCPC编译生成DHCP填写日期2008116CGI编码文件名称UPC编译生成UPCGI填写日期2008116CGI编码文件名称DISPLAYC编译生成DISPLAYCGI填写日期2008116功能描述执行网页按钮相应功能输入页面上用户点击按钮输出调用各程序或者函数实现功能设计说明1、将各个模块分割成小的部分2、CGI调用程序,输出页面或者跳转页面63CGI详细代码设计1CLOSE_ADCINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10IFFORK0EXECL“/CGIBIN/ADOFF“,“/CGIBIN/ADOFF“,NULLPRINTF“请稍候“PRINTF“PRINTF“PRINTF“正在刷新,请稍候“RETURN02TIME_CAPTURECGI基于ARM的智能家居监控系统详细设计说明书INCLUDEINCLUDEINTMAINVOIDINTHOUR,MIN,SEC,TIMECHARDATACHARS9CHART11PRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10DATAGETENV“QUERY_STRING“IFSTRSTRDATA,“HOURSPRINTFS,“22D22D22D“,HOUR,MIN,SECSPRINTFT,“D“,TIMESYSTEM“KILLPIDOFTIME_START“IFTIME0PRINTF“SSSSS“,“已经设定于“,S,“开始每隔“,T,“秒进行定时拍照“IFFORK0EXECL“/WEB/CGIBIN/TIME_START“,“/WEB/CGIBIN/TIME_START“,“S“,S,“T“,T,NULLEXIT1ELSEPRINTF“已经停止拍照“ELSEDATASTRSTRDATA,“TIME“SSCANFDATA,“TIMED“,SPRINTFT,“D“,TIMESYSTEM“KILLPIDOFTIME_START“IFTIME0PRINTF“SSS“,“已经设定于现在开始每隔“,T,“秒进行定时拍照“IFFORK0EXECL“/WEB/CGIBIN/TIME_START“,“/WEB/CGIBIN/TIME_START“,“T“,T,NULLEXIT1基于ARM的智能家居监控系统详细设计说明书ELSEPRINTF“已经停止拍照“3CLOSE_BEEPCINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10IFFORK0EXECL“/CGIBIN/BEEPOFF“,“/CGIBIN/BEEPOFF“,NULLPRINTF“请稍候“PRINTF“PRINTF“PRINTF“正在刷新,请稍候“RETURN04DISPLAYCINCLUDEINCLUDEINTMAINVOIDPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10PRINTF“CHDIR“/WEB/HTML“INTYEAR,MONTH,DAYCHARDATADATAGETENV“QUERY_STRING“IFSTRSTRDATA,“YEARSPRINTFDATA,“LSPIC/44D22D22DJPG/TMP/PICS“,YEAR,MONTH,DAY基于ARM的智能家居监控系统详细设计说明书SYSTEMDATAELSESYSTEM“LSPIC/JPG/TMP/PICS“FILEFPINTTMP0CHARBUF23FPFOPEN“/TMP/PICS“,“R“IFFPNULLPRINTF“ERROR“ELSEFGETSBUF,23,FPWHILESTRLENBUF0IFSTRLENBUF22PRINTF“拍摄于44S年22S月22S日22S时22S分22S秒“,BUF,BUF4,BUF8,BUF10,BUF12,BUF14,BUF16MEMSETBUF,0,23WHILESTRLENBUF0FGETSBUF,23,FPIFTMP3PRINTF“RETURN0TMP0PRINTF“5OPEN_IRDACINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10基于ARM的智能家居监控系统详细设计说明书IFFORK0EXECL“/CGIBIN/CLOSEIRDA“,“/CGIBIN/CLOSEIRDA“,NULLPRINTF“请稍候“PRINTF“PRINTF“PRINTF“正在刷新,请稍候“RETURN06OPEN_VIDEOCINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10EXECL“/CGIBIN/SERVFOX“,“/CGIBIN/SERVFOX“,“G“,“S“,“320X240“,“W“,“7070“,NULLRETURN07UPCINCLUDEINCLUDEINTMAINVOIDPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10CHARDATACHARS16CHART128DATAGETENV“QUERY_STRING“SSCANFDATA,“IPS“,SSPRINTFT,“/SBIN/IFCONFIGETH0S“,SSYSTEMT8CLOSE_IRDACINCLUDEINCLUDE基于ARM的智能家居监控系统详细设计说明书INCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10IFFORK0EXECL“/CGIBIN/CLOSEIRDA“,“/CGIBIN/CLOSEIRDA“,NULLPRINTF“请稍候“PRINTF“PRINTF“PRINTF“正在刷新,请稍候“RETURN09SAFE_YESCINCLUDEINCLUDEINTMAINVOIDPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10SYSTEM“CP/WEB/HTML/PIC/SAFE_YESJPG/WEB/HTML/PIC/SAFEJPG“PRINTF“请稍候“10CATCH_CAMERACINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10IFFORK0EXECL“/CGIBIN/MOUSE_CAPTURE“,“/CGIBIN/MOUSE_CAPTURE“,NULLPRINTF“请稍候“PRINTF“PRINTF“基于ARM的智能家居监控系统详细设计说明书PRINTF“正在刷新,请稍候“RETURN011CLOSE_VIDEOCINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10SYSTEM“KILLPIDOFSERVFOX“PRINTF“请稍候“PRINTF“PRINTF“RETURN012OPEN_ADCINCLUDEINCLUDEINCLUDEINTMAININTARGC,CHARARGVPRINTF“SCC“,“CONTENTTYPETEXT/HTMLCHARSETGB2312NN“,13,10IFFORK0EXECL“/CGIBIN/ADON“,“/CGIBIN/ADON“,NULLPRINTF“请稍候“PRINTF“PRINTF“PRINTF“正在刷新,请稍候“RETURN0基于ARM的智能家居监控系统详细设计说明书7HTML页面设计71页面图示72页面设计设计编码目录名称/WEB/HTML/页次应用编码文件名称INDEXHTML填写日期2008116应用编码文件名称EMBEDEDHTML填写FARSIGHT日期2008116功能描述使用SHAREPOINTDESIGNER设计静态页面DREAMWEAVER是由MACROMEDIA公司推出的,用于网页开发和网站管理的专业化设计工具。它采用了多种新技术,具有设计和开发网站过程中需要的网站管理、网站设计、页面制作、多媒体制作和动画制作等丰富实用的功能;它具有友好的操作界面,在文档窗口中可以打开各种浮动面板,同时还可以使用系统内置的多种对象进行操作。DREAMWEAVER启动后,会出现一个新的文档操作窗口,该窗口包含如下的几个部分标题栏、菜单栏、工作区、浮动面板和状态栏。标题栏中主要显示该文档的标题信息、文件名及该文件所在的文件夹等;菜单栏中包含了各种操作命令、应用特性和访问浮动面板的简单方法;DREAMWEAVER启动后,工作区是白色的空白区域,可以在工作区中输入文字、插入图象、添加背景以及其它页面元素;浮动面板提供了访问程序特性的简单方法,可以对浮动面板进行选择、拖放、重新定位、移动等操作,当我们不需要使用某个移动面板时,还可以用鼠标单击该面板右上角的关闭按钮将其关闭,需要时再打开;状态栏位于窗口的最下端,用于显示文档的HTML标记、文档窗口大小、下载速度等信息。73页面详细代码设计1、INDEXCHOMESTYLE5MARGINBOTTOM2PX基于ARM的智能家居监控系统详细设计说明书VARARYPARSEINTMATHRANDOM42949672941DOCUMENTWRITE“基于ARM的智能家居监控系统详细设计说明书2、VIDEOHTML实时监控STYLE5MARGINBOTTOM2PX浏览器不支持嵌入式框架,或被配置为不显示嵌入式框架。浏览器不支持嵌入式框架,或被配置为不显示嵌入式框架。3、INDEXWINHTMLHOMEYOUNEEDTODOWNLOADJAVACLICKHEREHTTP/WWWJAVACOM/EN/DOWNLOAD/MANUALJSP基于ARM的智能家居监控系统详细设计说明书8模块整合81整合思想本项目各个模块独立运作,不设有主程序。因此极大程度降低了程序的耦合性。本项目并不依赖各模块返回值进行操作。因此在缺少一些模块时仍能正常工作。所以非常适合产品的定制。在用户希望拥有和无需拥有的选择中为用户提供可剪裁而又功能合理的产品。在进行剪裁时,无需改动任何代码,只需增减各模块硬件即可完美运行。82流程图打开红外设备SIGNAL(SIGIO)信号处理打开盗窃处理进程返回开始创建并初始化共享内存温度40打开火警处理进程打开AD设备SLEEP(2)是否主流程图基于ARM的智能家居监控系统详细设计说明书火警处理进程结束防火功能开灭火功能开开灭火器报警功能开开报警拍照功能开拍照信息功能开发信息是是是是是否否否否信息功能开温度40关灭火器是否发信息否防火流程图基于ARM的智能家居监控系统详细设计说明书盗窃处理进程盗窃功能开报警功能开开报警拍照功能开拍照信息功能开发信息是是是是否否否结束否防盗流程图9其它增值设计摄像头系统视频流编程1打开视频设备2读取设备信息3更改设备当前设置(可以不做)4进行视频采集,两种方法A内存映射B直接从设备读取5对采集的视频进行处理6关闭视频设备。VIDEO4LINUX支持的数据结构及其用途基于ARM的智能家居监控系统详细设计说明书1VIDEO_CAPABILIY包含设备的基本信息(设备名称,支持的最大最小分辨率。信号源信息等2VIDEO_PICTURE设备采集的图像的各种属性3VIDEO_CHANNEL关于各个信号源的属性4VIDEO_WINDOW包含关于CAPTUREAREA的信息5VIDEO_MBUF利用MMAP映射的帧信息(SIZE(每帧大小),FRAMES(最多支持的帧数),OFFSETS(每帧相对基址的便宜6VIDEO_MMAP用于MMAP详细解析视频流编程视频SERVER端,采用两个线程在后台分别完成采集处理和网络传输的工作GRABMETHOD1;使用MMAP的方式读取视频帧数据。1针对于不同的编译命令新式,让程序可以接受各种型式的参数,决定编译器的编译结果,并检查参数的有效性,命令行参数应该这个样子的/SERVFOXGD/DEV/VIDEO0S640X480W70702程序没有设置VIDEODEVICE,所以默认的VIDEODEVICE“/DEV/VIDEO0“3新建一个STRUCTVDINVIDEOIN,用INIT_VIDEOIN()来初始化。进入INIT_VIDEOIN/函数主要用来初始化视频采集设备,参数(视频采集数据结构体,设备节点名,基于ARM的智能家居监控系统详细设计说明书采集的视频帧宽度,采集的视频帧高度,采集的视频帧格式,采集方式)4GRABMETHOD1;视频帧采集可以使用共享内存与读文件设备节点的的方式获取,程序使用的是使用共享内存的方式进行数据采集。5VDSIGNALQUIT1停止视频采集的信号设置为16VDFORMATINFORMAT视频格式采用给予VIDEO_PALETTE_JPEG的方式VDBPPINGETDEPTHVDFORMATIN返回每一个像素是由8个BIT描述,VDGRABMETHODGRABMETHOD视频数据的访问方式设置为MMAP形式7ERRINIT_V4LVD/是初始化V4L视频设备的函数打开视频设备进入INIT_V4LV4LVEDIO4LINUX是LINUX下常用的一种视频传输方案8OPEN打开设备节点,IOCTLVDFD,VIDIOCGCAP,摄像头的名字INTTYPEINTCHANNELSNUMCHANNELSINTAUDIOSNUMAUDIODEVICESINTMAXWIDTHSUPPORTEDWIDTHINTMAXHEIGHTANDHEIGHTINTMINWIDTHSUPPORTEDWIDTHINTMINHEIGHTANDHEIGHT基于ARM的智能家居监控系统详细设计说明书9将VIDEO_CAPABILITYDE摄像头名称复制给VDCAMERANAME。如果要对对采集图象的各种属性进行设置,可分为两步进行,首先获取摄象头缓冲区中VIDEO_PICTURE中信息调用函数IOCTLVDFD,VIDIOCGPICT,11根据驱动选择不同的图片格式。VDCAMERATYPEGETSTREAMIDVDVIDEOCHANNAME12由INFORMATION设置视频帧的参数,调色板,色彩深度,像素由多少BIT描述;13检查设置VEDIOPALETTE是否成功。成功后进入数据采集阶段14根据不同的采集方式,进入数据采集阶段MMAP方式1摄像头文件的物理缓冲区清空。2设备文件映射到内存中3由MMAP()/将MMAP与VIDEO_MBUF绑定,把摄象头对应的设备文件映射/到内存区,成功调用后设备文件内容映射到内存区,返回的映象内存区指针给/VDPFRAMEBUFFER,失败时返回1。MMAP系统调用使得进程之间通过映射同一个/普通文件实现共享内存4共享内存的属性设置。5FORF0FVIDEOMBUFFRAMESF循环读取并截取一帧的图像,是非阻塞的由IOCTLVDFD,VIDIOCMCAPTURE,存储当前的时间。2创建一个帧结构体,用于存储帧数据。3使用MMAP方式,设置共享内存的属性,高度,宽度,帧格式。4I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论