基于GPRS的远程安防监控系统开题报告
2020-05-15 22:01:08
1. 研究目的与意义(文献综述包含参考文献)
文 献 综 述
一、 选题背景:
随着现代电力电子技术和微电子技术的迅猛发展,自动化,智能化程度的不断的提高,家居安防技术正在不断发展。
传统的家居安防系统已经越来越不能满足现代人的需求。消费者希望自己可以实时”看见”现场的情况,并且可以远程控制现场的一些自动化设备来处理紧急情况。
这个项目的方案主要是利用internet、gprs,3g、wifi等技术实现远程监控通信,此系统不但具有易维护性、可扩展性和安全性等这些嵌入式基本特点,而且充分融合了嵌入式和通信技术。使得本系统的功能扩展性非常好,方案具有一定领先性,可以稍做定制就可以应用于很多其它场合。
二、现状:
人们在家居中使用的电器越来越多,由此带来的安全隐患也有了明显的增多。在这些电器中一旦出现一些异常,便会给人们带来很大的损失。为了降低电器的不合理使用带来的异常情况,就要求在异常发生时用户能及时得到信息,并通过实时监控采取一定的操作排除异常。因此,远程监控系统的作用是非常巨大的。
随着安防行业的高速发展,国内外对安防监控系统的研究越来越热门,昆明理工大学信息工程与自动化学院的张俊才提出的基于嵌入式web服务器的信息家电安防监控系统,实现了嵌入式系统与internet相连、家庭内部得安全监控、信息传输。缺点是传输速率不是很高,并且通过网页与监控端交互比较麻烦。新的系统将对以上地方进行完善,新的系统需要实用家居环境的要求,降低成本,改变原先不间断监控模式,并需要为用户提供友好的交互界面,使用户在不同的场所下对设备进行监控操作。
二、 嵌入式系统
嵌入式系统(embedded system),是一种”完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( u.k. institution of electrical engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。
嵌入式操作系统的特点有专用型、可裁剪、高效可靠、应用广泛。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。因此嵌入式系统技术具有非常广阔的应用前景。
三、 嵌入式开发流程
第一步:建立开发环境
操作系统一般使用redhat linux,选择定制安装或全部安装,通过网络下载相应的gcc交叉编译器进行安装(比如,arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;
第二步:配置开发主机
配置minicom,一般的参数为波特率115200 baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。在windows下的超级终端的配置也是这样。minicom软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置nfs网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。
第三步:建立引导装载程序bootloader
从网络上下载一些公开源代码的bootloader,如u.boot、blob、vivi、lilo、arm-boot、red-boot等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如,三星的arv17、arm9系列芯片,这样就需要编写开发板上flash的烧写程序,可以在网上下载相应的烧写程序,也有linux下的公开源代码的j-flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写flash,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。
第四步:下载已经移植好的linux操作系统
如mcliunx、arm-linux、ppc-linux等,如果有专门针对所使用的cpu移植好的linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带mmu的cpu可以使用模块方式调试驱动,而对于mcliunx这样的系统只能编译内核进行调试。
第五步:建立根文件系统
下载使用busybox软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.s、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs等工具产生烧写映像文件。
第六步:建立应用程序的flash磁盘分区
一般使用jffs2或yaffs文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性flash(nor型)512kb~32mb,有的系统使用非线性flash(nand型)8mb~512mb,有的两个同时使用,需要根据应用规划flash的分区方案。
第七步:开发应用程序
可以放入根文件系统中,也可以放入yaffs、jffs2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μc/os-ii的方式。
第八步:烧写内核
根文件系统和应用程序,发布产品。
2. 研究的基本内容、问题解决措施及方案
一、 课题要解决的问题:
1. 如何运用开发版硬件资源设计实现各个功能的驱动模块。
2. 摄像头驱动如何设计与移植。
3. GPRS通信系统如何实现与开发平台连接。
4. BOA服务器模块设计。
5. 主程序设计,如何能整体实现各模块功能。
针对这些问题有这些技术难点:
1)uboot移植2)内核移植及网卡驱动3)Nandflash驱动坏块管理4)Usb协议,USB HOST驱动移植及分析5)Sd卡驱动和自动卸挂载6)Adc温度传感器驱动以及应用控制7)Usb Camera 驱动以及云台控制8)人体感应器以及烟雾探测器驱动以及应用控制编程9)USB Wifi驱动及配置10)GPRS收发短信及应用功能封装11)Server端的主体实现及各个功能模块划分和综合12)Android客户端的实现13)其它技术点。
二、研究手段与途径:
1. 通过自学查阅资料及培训掌握相关知识,掌握嵌入式系统设计、内核设计、驱动程序设计、应用程序设计,了解其原理和使用方法。
2. 使用FS2410开发板,通过模块化的思路搭建系统的各个部分,单独对每个模块进行详尽的测试,实现项目中功能仿真。
3. 对控制程序进行调试,完成设计方案,设计整体程序结构图。
4. 通过整体试验分析硬件,完成硬件电路及软硬件功能的调试。对调试过程出现的问题,使用查找资料、开动脑筋、发散思维和请教老师等方法解决。