您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 远程安防系统详细设计说明书
远程安防监控系统详细设计说明书提交:------审核:核准:术体系_WebHosting详细设计说明书远程安防系统详细设计说明书1.1项目背景项目名称:远程安防系统。项目功能:1.监控机的检测功能分为两个部分:防盗系统和火警系统。防盗系统是利用红外传感器实时检测现场的安全情况,在异常情况下启动视频系统拍现场情况、启动GPRS系统发送短信到指定的号码。火警系统采用温度传感器通过A/D转换来采集温度,当现场温度高于预设定的温度值时,系统会自动拍照并发送短信到指定号码。2.用户在使用该系统时可以通过Internet网络登录到该监控机,点击网页中的控制按钮来打开/关闭监控机的防盗系统和火警系统,可以查看监控现场的实时情况并且能将现场的情况手动经行拍照,也可以浏览在有意外发生地时候监控机自动保存的照片,可以为用户做有力的证据。3.用户即使在无网络的情况下,也可以放心监控现场的情况,用户可以将短信号码设定为自己的手机号码,这样一旦现场有情况发送,监控机就会把现场的情况发送给用户,用户可以及时的做出处理。项目开发者:-----项目管理者:------1.21.2.1参考资料BOA服务器的移植嵌入式WEB服务器及远程测控应用详解嵌入式项目开发过程及流程嵌入式Linux应用开发详解UNIX环境高级编程(第二版)嵌入式学院实验手册:移植U-Boot-1.3.1实验,linux-2.6.8.1内核编译实验嵌入式学院实验手册:内核移植(网卡驱动添加、NandFlash驱动的添加、添加USB设备驱动)嵌入式学院实验手册:制作和部署linux文件系统,UDEV的移植Linux下串口编程入门(网络文档)GPRS模块短消息发送方法(网络文档)gspca摄像头驱动的移植(ZC3XX)--arm-123的笔记(网络文档)网络摄像头的服务端移值(网络文档)1.3程序结构图术体系_WebHosting详细设计说明书应用程序详细设计2.1程序说明2.1.1应用主程序模块说明文件名称:check.c填写:------日期:2009-6-16程序名称:intmain(void)审核:日期:2009-6-17调用程序:msg.c被调用程序:main.c输入数据:FLUSH_P、OPEN_FIRE、CLOSE_FIRE、OPEN_THIEF、CLOSE_THIEF输出数据:AKF、AKO_FIRE、AKC_FIRE、AKO_THIEF、AKC_THIEF术体系_WebHosting详细设计说明书代码编写:volatileintst_video=0;volatileintfs_pic=0;volatileintflush_pic=0;volatileintopen_fire=1;volatileintopen_thief=1;术体系_WebHosting详细设计说明书volatileintsend_success=0;volatileintsend_over=0;volatileintsend_msg=0;volatilechar*pic=NULL;volatilechar*msg=NULL;volatilechar*num=NULL;char*buf=NULL;pthread_mutex_tvideo_lock;pthread_mutex_tgprs_lock;pthread_mutex_tfire_lock;pthread_mutex_tthief_lock;pthread_mutex_tflush_lock;interr;inttemp;intn;pthread_ttid_video;pthread_ttid_gprs;pthread_ttid_fire;pthread_ttid_thief;pthread_ttid_flush;intmain(){if(pthread_mutex_init(&video_lock,NULL)!=0){printf(failtopthread_mutex_init%s\n,strerror(errno));}if(pthread_mutex_init(&gprs_lock,NULL)!=0){printf(failtopthread_mutex_init%s\n,strerror(errno));}if(pthread_mutex_init(&fire_lock,NULL)!=0){printf(failtopthread_mutex_init%s\n,strerror(errno));}if(pthread_mutex_init(&thief_lock,NULL)!=0){printf(failtopthread_mutex_init%s\n,strerror(errno));}术体系_WebHosting详细设计说明书err=pthread_create(&tid_fire,NULL,fire_sys,NULL);if(err!=0){printf(can'tcreatethread%s\n,strerror(errno));exit(1);}err=pthread_create(&tid_video,NULL,video_sys,NULL);if(err!=0){printf(can'tcreatthread%s\n,strerror(errno));}err=pthread_create(&tid_gprs,NULL,gprs_sys,NULL);if(err!=0){printf(can'tcreatthread%s\n,strerror(errno));}err=pthread_create(&tid_thief,NULL,thief_sys,NULL);if(err!=0){printf(can'tcreatthread%s\n,strerror(errno));}err=pthread_create(&tid_flush,NULL,flush_sys,NULL);if(err!=0){printf(can'tcreatthread%s\n,strerror(errno));}while(1){buf=recv(100);//读取消息队列n=strlen(buf);printf(parentsrecevice:%s\n,buf);printf(n=%d\n,n);if(strncmp(buf,FLUSH_P,n)==0)//现场拍照{if(pthread_mutex_lock(&flush_lock)==0)flush_pic=1;send(AKF,101);pthread_mutex_unlock(&flush_lock);}elseif(strncmp(buf,OPEN_FIRE,n)==0)//打开火警系统{术体系_WebHosting详细设计说明书if(pthread_mutex_lock(&fire_lock)==0)open_fire=1;printf(open_fire=%d\n,open_fire);send(AKO_FIRE,101);pthread_mutex_unlock(&fire_lock);}elseif(strncmp(buf,CLOSE_FIRE,n)==0)//关闭火警系统{if(pthread_mutex_lock(&fire_lock)==0)open_fire=0;send(AKC_FIRE,101);pthread_mutex_unlock(&fire_lock);}elseif(strncmp(buf,OPEN_THIEF,n)==0)//打开防盗系统{if(pthread_mutex_lock(&thief_lock)==0)open_thief=1;send(AKO_THIEF,101);pthread_mutex_unlock(&thief_lock);}elseif(strncmp(buf,CLOSE_THIEF,n)==0)//关闭防盗系统{if(pthread_mutex_lock(&thief_lock)==0)open_thief=0;send(AKC_THIEF,101);pthread_mutex_unlock(&thief_lock);}memset(buf,0,strlen(buf));free(buf);}}2.1.2视频拍照模块说明文件名称:video.c填写:------日期:2009-6-16程序名称:voidvideo_sys(void)审核:日期:2009-6-17调用程序:intcreat_photo(char*)被调用程序:check()输入数据:st_video,fs_pic,*pic输出数据:产生一张照片输出到PIC位置术体系_WebHosting详细设计说明书视频处理打开视频设备打开成功?视频标志置位?Y拍照清除视频标志位N出错处理N保存相片到指定路径拍照完毕标志置位Y代码编写:#includeproject.hexternvolatileintst_video;externvolatileintfs_pic;externvolatilechar*pic;void*video_sys(void*arg){if(init_camer()==0){printf(failtoinit_camer\n);pthread_exit(NULL);}while(1){while(st_video==0);//是否设置了拍照标志位if(creat_photo(pic)==0)//开始拍照{printf(failtocreat_photo\n);术体系_WebHosting详细设计说明书continue;}printf(saveaddressis%s\n,pic);fs_pic=1;st_video=0;}}2.1.3火警检测模块说明文件名称:fire.c填写:----------日期:2009-6-16程序名称:void*fire_sys(void*arg)审核:日期:2009-6-17被调用程序:main()输入数据:open_fire输出数据:无调用程序:intfire_init(void)、intchk_fire(void)火警检测初始化火警设备初始化成功?设定报警温度值YN读取温度判断温度是否超过设定值N出错处理清除短信已经发送标志设置照片存放位置YY获得互斥锁打开标志位置位打开标志位置位?YN术体系_WebHosting详细设计说明书Y设置发送标志位及短信内容设置视频标志位判断短信发送成功标志位休眠2秒YN设置短信发送成功标志获得互斥锁释放互斥锁拍照成功?释放互斥锁YN发送完毕?NY拍照完成标志位清零发送完毕标志位清零拍照完成标志位清零术体系_WebHosting详细设计说明书代码编写:#includeproject.hexternvolatileintst_video;externvolatileintfs_pic;externvolatileintopen_fire;externvolatileintopen_thief;//externvolatileintsend_success;externvolatileintsend_over;externvolatileintsend_msg;externvolatilechar*pic;externvolatilechar*msg;externvolatilechar*num;externpthread_mutex_tvideo_lock;externpthread_mutex_tgprs_lock;externpthread_mutex_tfire_lock;externinttemp;void*fire_sys(void*arg){interr_fire;inttemp_cur;staticintmax=0;err_fire=init_fire();if(err_fire==0){printf(failtoinitfire_sys\n);exit
本文标题:远程安防系统详细设计说明书
链接地址:https://www.777doc.com/doc-5199554 .html