基于Cortex-A8的家庭智能安防系统.doc_第1页
基于Cortex-A8的家庭智能安防系统.doc_第2页
基于Cortex-A8的家庭智能安防系统.doc_第3页
基于Cortex-A8的家庭智能安防系统.doc_第4页
基于Cortex-A8的家庭智能安防系统.doc_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书 题 目:基于Cortex-A8的家庭智能安防系统 教 学 系:汽车与电子工程学院 年级、 专业:08级电子信息工程 学 生 姓 名:胡志明 学 号:0811060025 指 导 教 师:钟 黔 川 完 成 时 间:2012年 5 月 25 日西昌学院毕业论文(设计)任务书2011年 12 月 12 日至 2012 年 5 月 25 日题 目:基于Cortex-A8的家庭智能安防系统姓 名: 胡志明 学 号: 0811060025 专 业: 电子信息工程 年 级: 2008级 指导教师: 钟黔川 一、 毕业论文时间安排1、 起止时间: 周 周(2011 年12 月 2012年 5月25 日)2、 开题报告:12 月20 日之前3、 提交论文提纲:月 日 月 日4、 初稿: 月 日 月 日5、 二稿: 月 日 月 日6、 三稿: 月 日 月 日7、 定稿: 月 日 月 日8、 答辩: 月 日日二、 研究方案和目标三、 任务要求和主要内容四、 指导教师针对选题提供的参考文献如:1郑贤君,潘静.诚信是构建法治国家的精神基石M.北京:中国工商出版社,2005毕业论文(设计)开题报告(理工类)题 目: 基于Cortex-A8的家庭 智能安防系统系 (部):汽车与电子工程学院年级、 专业:2008级电子信息工程学 生 姓 名: 王海 何霄 胡志明学 号: 0811060009 0811060065 0811060025指 导 教 师:钟黔川日 期:2011年12 月 日一、 研究背景 随着社会电子信息化的不断发展,人们在家居中使用的电器越来越多,由此带来的安全隐患也有了明显的增多。在这些电器中一旦出现一些异常,便会给人们带来很大的损失。为了降低电器的不合理使用带来的异常情况,就要求在异常发生时用户能及时得到信息,并通过实时监控采取一定的操作排除异常。因此,远程监控系统的作用是非常巨大的。 以嵌入式视频web服务器为核心的视频监控系统,采用嵌入式实时多任务操作系统。摄像头采集到的图片信息经过压缩,通过内部总线送到内置的web服务器,网络上的用户可以直接用浏览器观看web服务器上的由摄像头采集的图像。由于把图片采集和web功能集中到一个体积很小的设备内,可以直接连入局域网,用户无需安装任何硬件设备,仅用浏览器即可观看。同时还具有以下优点: 布控区域广阔,嵌入式视频web服务器监控系统web服务器直接连入网络,没有线缆长度和信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的概念,扩展布控的区域。系统具有几乎无限的无缝扩展能力。所以设备都以IP地址进行标示,增加设备只是意味着IP地址的扩充。 性能稳定可靠,无需专人管理。嵌入式web服务器实际上是基于嵌入式微处理器技术,采用嵌入式实时多任务操作系统,对于用户来讲,上网进行登陆,便可对家中情况进行监控。 现在监控系统发展到第三代,前端一体化、视频十字化、监控网络化、系统集成化成为视频监控系统公认的发展方向,它以网络为依托,以数字视频的压缩、传输、存放和播放为核心,以智能实用的图像分析为特点,并为报警系统、门禁系统完美的整合到一个使用平台上,引发了视频控制行业的一次技术革命。二、 研究内容本系统是基于Cortex-A8的家庭智能安防系统系统。主要包括温度检测、红外感应防盗、视频采集及显示、GSM短信收发控制、web服务器,实现对家庭安全的实时监控。三、 研究意义智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网 络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通 过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有 传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止 结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信 息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性, 甚至为各种能源费用节约资金。 系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥 控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手 段。使生活更加舒适、便利和安全。因智能家居控制系统简单、功能灵活,扩展容易而被 人们广泛接受和应用。 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用,给人们的家居生活 带来了全新的感受。今天,借助电话控制或互联网,您几乎可以在任何地方、任何时候监 控您的家居状况,为您的家居生活带来前所未有的方便。随着社会全面的信息化、智能化 和自动化,家庭智能化必将成为未来家居装饰潮流发展的最新方向!四、 设计步骤级示意框图1选择设计思路,正确论证并确定系统个模块的方案;2明确设计要求,确定电子元件并采购电子元件,完成基本运算;3设计硬件电路;4设计系统软件;5调试系统。包括硬件调试、软件调试及软硬联调。用户登录 (web) 摄像头红外传感器温度传感器报警措施灭火措施主控系统 s5pc100GSM数据库五、拟采用的技术路线及其方法(1)需求分析:了解该系统的设计的实用性和具体要解决的问题,做好基本的概括,然后在根据这个估计要采用的技术,为下面的工作做好准备;(2)系统组成:该系统自己采用模块化设计。明确构造好各个模块所需要实现的功能和模块之间相互的联系;(3)模块设计:根据每个模块所要实现的功能正确绘制电路图,利用软件模拟电路运行状态,检测电路是否可靠;(4)软件设计:根据Cortex-A8,s5pc100的特性编写正确的程序;(5)系统调试:将编写好的程序进行系统调试,实现系统的功能,达到预期的目标。六、总体安排和进度计划2011.11.20 2011.12.10 :开题报告2011.12.10 2012.01.15 :模块的设计和元器件的确定2012.01.16 2012.02.15 :模块电路图绘制及制作PCB图2012.02.16 2012.02.20 :购买元器件 2012.02.21 2012.03.20 :焊接电路板及硬件测试2012.03.20 2012.04.25 :程序编写及软件测试2012.04.26 2012.05.15 :毕业论文写作2012.05.16 2012.06 :毕业答辩7、 预期目标: (王海) 1、视频采集与LCD显示; 2、数据库保存数据记录; (何霄) 3、红外传感,非法闯入报警(发送短信、蜂鸣器报警和led闪烁); 4、GSM短信收发以及控制; (胡志明) 5、温度采集,火灾报警(发送短信、蜂鸣器报警和led闪烁); 6、构建嵌入式web服务器,使用户通过网络利用pc机进行监控;八、参考文献1谭浩强.C程序设计.第三版.北京:清华大学出版社,20052曾宏安.嵌入式linuxC语言开发.2009 3宋宝华.20114李岩、王建卫等著.基于ARM嵌入式uCLinux系统原理及应用.北京.清华大学出版社,2007. 5潘双来,邢丽冬,龚余才.电路理论基础(第2版)M.北京:清华大学出版社,2008. 6朱文凯, 何岭松, 丁汉等. 基于Internet的嵌入式Web传感器J. 传感器技术,2002,7邵贝贝.嵌入式实时操作系统 C/OS-II 北京航空航天大学出版社.2002 8俞建新,嵌入式应用程序开发综合实例,清华大学出版社,20029穆煜.嵌入式应用程序设计.2009 10Raghu Ramakrishnan, Johannes Gehrke. DATABASE MANAGEMENT SYSTEMS M. 清华大学出版社, 2002.12.3指导教师意见:指导教师签名:年 月 日毕业设计(论文)领导小组意见:组长签名:年 月 日基于Cortex-A8的家庭智能安防系统胡志明 指导教师:钟黔川(08级电子信息工程)摘 要 家庭监控是利用网络技术将安装在家内的视频、音频、报警等监控系统连接起来,通过中控电脑的处理将有用信息保存并发送到其他数据终端,如手机,笔记本,110报警中心等。本系统是linux下的基于Cortex-A8的嵌入式家庭智能安防系统系统,采用的是S5PC100的内核芯片。主要包括温度检测、红外感应防盗、视频采集及显示、GSM短信收发控制、web服务器,实现对家庭安全的实时监控。用户可以通过手机实时监控家中的信息,也可以远程web登录监控家中情况。从而方便人们的生活需要,为进一步的现代化铺路搭桥。关 键 词:linux Cortex-A8 GSM 嵌入式 S5PC100 Based on the Cortex-the A8 family intelligent security systemHu zhi ming teachers: Zhong Qian Chuan(The engineer of electronic and information for 08 level)AbstractFamily monitoring is by using the network technology will be installed at home video, audio, and within the alert monitor system connected, through the central computer processing will be useful information preservation capability to send other data terminal,such as cell phones, laptops, 110 alarm center, etc. The system is based on the Linux of Cortex-the A8 embedded family intelligence security system system, use is S5PC100 kernel chip.Mainly includes temperature detection, inductive guard against theft, video collection and display, GSM message sending and receiving control, web server, realize the real-time monitoring of family safety.User can real-time monitoring of the mobile phone home information, also can remote web log home monitoring. Which makes it easy to the life of people need, for further paving the modern bypass.Key word: Linux Cortex-the A8 GSM embedded S5PC100目 录第1章 绪论31.1 课题来源31.2 背景31.3 课题的研究意义41.4 本课题的主要研究工作4第2章 方案设计52.1 总体设计框图52.2 主流程设计72.3 具体体分工7第3章 温度模块设计93.1 温度、报警模块93.1.1.模块概述93.1.2.温度模块详细设计93.2 LM75芯片93.2.1.Lm75功能引脚描述103.2.2.lm75引脚功能定义113.2.3.Lm75寄存器及寄存器位格式113.2.4.硬件原理图123.3 温度软件设计133.3.1.驱动设计133.3.2.内核驱动配置143.3.3.用户接口设计14第4章 蜂鸣器、LED模块174.1 蜂鸣器模块说明174.1.1.硬件原理图174.1.2.驱动设计174.1.3.内核驱动配置194.1.4.用户接口设计194.2 LED功能模块说明204.2.1.LED模块电路如图所示204.2.2.LED模块驱动程序设计214.2.3.应用程序设计23第5章 web模块235.1 功能模块实现设计235.2 CGI(common gateway interface)通信模块:285.3 Boa移植285.4 数据库公用模块实现29参考文献32致 谢 词32独 撰 声 明33第1章 绪论本章主要介绍课题的来源、研究目的和意义,并简要介绍课题所做的主要研究工作。1.1 课题来源本课题为自选课题,基于本实验室已有的开发板资源,研究学习家庭智能安防系统设计。综合应用嵌入式系统开发、实现安防系统整套应用。1.2 背景 随着社会电子信息化的不断发展,人们在家居中使用的电器越来越多,由此带来的安全隐患也有了明显的增多。在这些电器中一旦出现一些异常,便会给人们带来很大的损失。为了降低电器的不合理使用带来的异常情况,就要求在异常发生时用户能及时得到信息,并通过实时监控采取一定的操作排除异常。因此,远程监控系统的作用是非常巨大的。 以嵌入式视频web服务器为核心的视频监控系统,采用嵌入式实时多任务操作系统。摄像头采集到的图片信息经过压缩,通过内部总线送到内置的web服务器,网络上的用户可以直接用浏览器观看web服务器上的由摄像头采集的图像。由于把图片采集和web功能集中到一个体积很小的设备内,可以直接连入局域网,用户无需安装任何硬件设备,仅用浏览器即可观看。同时还具有以下优点: 布控区域广阔,嵌入式视频web服务器监控系统web服务器直接连入网络,没有线缆长度和信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的概念,扩展布控的区域。系统具有几乎无限的无缝扩展能力。所以设备都以IP地址进行标示,增加设备只是意味着IP地址的扩充。 性能稳定可靠,无需专人管理。嵌入式web服务器实际上是基于嵌入式微处理器技术,采用嵌入式实时多任务操作系统,对于用户来讲,上网进行登陆,便可对家中情况进行监控。 现在监控系统发展到第三代,前端一体化、视频十字化、监控网络化、系统集成化成为视频监控系统公认的发展方向,它以网络为依托,以数字视频的压缩、传输、存放和播放为核心,以智能实用的图像分析为特点,并为报警系统、门禁系统完美的整合到一个使用平台上,引发了视频控制行业的一次技术革命。 1.3 课题的研究意义智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网 络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通 过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有 传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止 结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信 息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性, 甚至为各种能源费用节约资金。 系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥 控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手 段。使生活更加舒适、便利和安全。因智能家居控制系统简单、功能灵活,扩展容易而被 人们广泛接受和应用。 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用,给人们的家居生活 带来了全新的感受。今天,借助电话控制或互联网,您几乎可以在任何地方、任何时候监 控您的家居状况,为您的家居生活带来前所未有的方便。随着社会全面的信息化、智能化 和自动化,家庭智能化必将成为未来家居装饰潮流发展的最新方向!1.4 本课题的主要研究工作本课题通过研究现有的电子点菜系统的解决方案,以s5pc100为主控芯片的硬件,linux为操作系统,cgi嵌入式应用图形系统为操作界面,lcd屏作为显示和WEB网页输入设备的一个系统。具体包括以下内容:1. 了解cortex-A8的系统结构,熟悉编程、调试环境,了解应用程序的开发的过程;2. 底层设备驱动的编写;3. 嵌入式linux开发平台的构建;4.应用程序的编写等;第2章 方案设计2.1 总体设计框图用户登录 (web) 摄像头红外传感器温度传感器报警措施灭火措施主控系统 s5pc100GSM数据库硬件环境:三星S5PC100 开发平台介绍S5PC100 开发平台用三星公司先进的基于Cortex-A8 内核的 S5PC100 处理器设计而成。此平台主要应用于华清远见的嵌入式系统教学,以适应Android、Linux、Wince 等智能操作系统的发展及市场需求。S5PC100 处理器采用了64/32 位的内部总线 结构,和最大833M 赫兹的运算速度。包括强大的硬件加速器,如:动态视频处理,显示控制和缩放。支持多种格式的硬件编解码:MPEF-1/2/4、H263/H264 等。其视频解码能力很强大并且省电, 编解码能力达到 720p30fps (1280x720) 支持电视输出(NTSC/PAL/HDMI)。支持2D/3D 加速。本处理器广泛的应用于智能手机、平板电脑等产品。开发板硬件资源图2.2-1FS_S5PC100拥有丰富的硬件资源:存储器:256M Byte 的NAND Flash,256M Byte 的DDR2 内存,2M 的Nor Flash显示输出接口:LCD 接口、VGA 接口、TVout 接口、HDMI 接口。视频输入接口:Camera 接口。串口:2 路5 线串口、1 路3 线串口。红外通讯接口:1 路红外收发。存储卡接口:SD 卡接口。SPI:SPI 的E2PROM (用于SPI 实验)。I2C:I2C 的温度传感器(用于I2C 实验)。A/D: 变阻器(用于A/D 实验)。USB:USB2.0-OTG 接口、4 路USB Host 接口。PWM:蜂鸣器(用于PWM 实验)。网络接口:DM9000AE 以太网控制器,实现10M/100M 自适应以太网通信。外扩接口:蓝牙、wifi 等音频接口:WM9714FS_S5PC100软件资源:Android 2.1 系统源代码Linux2.6.29 系统源代码外设接口测试源代码Uboot(支持usb、网络通讯)2.2 主流程设计Linux是一个完全受保护的多任务操作系统,它允许每个用户同时运行多个作业。进程间可相互通信,但每个进程都是受到完全保护的,即不会受到其他进程的干扰,就如内核不会受到其他任何进程干扰一样。用户在集中精力于当前屏幕所显示作业的同时,还可在后台运行其他作业,而且可以在这些作业之间来回切换。这一功能提高了用户的工作效率。考虑到整个系统的稳定性,可易性以及代码的可读性,应尽量遵循C程序设计中高内聚低耦合的设计思想,使每个模块相互独立,有序的完成自己的任务。此系统总共划分成七个模块,分别是温度采集、图像采集、红外传感、web服务器、数据库模块、蜂鸣器及短信收发模块。总体采用linux的多线程方式,当系统启动以后,会自动启动boa服务器和整个安防系统会主动进入监控状态。2.3 具体体分工模块一 (胡志明) 1、温度采集,火灾报警(发送短信、蜂鸣器报警和led闪烁); 2、构建嵌入式web服务器,使用户通过网络利用pc机进行监控; 此模块是直接使用的开发板上的现有温度传感器(LM75)资源,采集到环境中的温度值,再通过之前的与设定的参数,包括温度的上下限,及火灾报警温度值等。 另外的web服务器模块则可以通过网页界面查看和控制温度报警红外报警等具体值或参数等。模块二 (何霄) 1、红外传感,非法闯入报警(发送短信、蜂鸣器报警和led闪烁); 2、GSM短信收发以及控制; A)、红外传感可在非法闯入时及时报警,GSM模块则主要实现短信收发功能; 本次设计的GSM模块主要需要完成的功能为:通过ARM开发板的串口2,控制GSM短信息模块,实现短信息的即时收发,以达到即时向用户汇报家庭安全状况的,并且能够根据用户回发的指令,采取对应的处理措施。B)、接收短信短信息的接收,是为了能够及时的收到用户发给用户的操作指令,以完成对家庭环境的远程控制,所以需要能够及时的收到用户发送的短信息内容。短信息接收功能的具体实现方案有两种:方案为:通过阻塞方式访问串口,等待GPRS模块发送过来的 提示信息,并读取对应位置的短信息;方案为:采用多路复用的方式,读串口,等待接收GPRS模块 放松过来的短信息提示信息,并读取对应位置的短信息;另外还包括了短信得发送、短信内容提取、短信的保存及删除等功能。模块三 (王海) 1、视频采集与LCD显示; 2、数据库保存数据记录; 此模块所做的内容主要有从开发板操作系统环境的搭建开始:系统移植系统移植包括:交叉编译工具链安装、配置网络文件系统NFS服务、U-boot移植、Linux内核移植、文件系统移植等,期间的具体事项再次就不一一说明来 。视频采集与LCD显示 这里包括有摄像头V4L2驱动移植、LCD驱动移植、应用程序设计等。 第3章 温度模块设计 在这次项目中,我主要是负责温度采集,火灾报警(发送短信、蜂鸣器报警和led闪烁)及构建嵌入式web服务器,使用户通过网络利用pc机进行监控;具体设计如下:3.1 温度、报警模块3.1.1.模块概述温度模块用于采集环境中的实时温度,报警模块用于报警(提醒监控方有异常情况,温度超过限定或者是有不明身份的人闯入监控区),温度模块采用的传感器是National semiconductor公司的lm75芯片,采集精度0.5。3.1.2.温度模块详细设计3.2 LM75芯片National semiconductor公司的lm75芯片是一种含9位ADC、温度分辨率为0.5的数字温度传感器,测量范围是-55125。它提供两条支持I2C总线协议的接口来监测温度,并具备自校准功能。上位机可以随时要求lm75读取温度,当温度超过设定的温度时,芯片系统会自动输出一个超温报警信号用于上位机的监控操作。主机可以通过程序来控制温度报警器(Tos)及温度。A0、A1、A2这三只引脚可以设定设备地址,这块芯片在S5PC100开发板上硬件地址固化为000。下图是lm75的功能方框图图 1 3.2.1.Lm75功能引脚描述图 2 3.2.2.lm75引脚功能定义引脚信号名称功能定义1SDA串行数据输入输出2SCL串行时钟输入3OS/INT超值信号/中断4GND电源地5A2地址设定26A1地址设定17A0地址设定08VDD电源2.7V5.5V3.2.3.Lm75寄存器及寄存器位格式Lm75内部有五个寄存器,其中四个寄存器命令指针寄存器进行选择,lm75上电默认为00;及选择温度寄存器(Temperature register),这个寄存器中保存了当前采集的温度,如果I2C发出了读命令,lm75会返回该寄存器中的温度值(16位),相关寄存器介绍如下:(1) 命令/指针寄存器:(8位只读)主要用于选择温度寄存器、配置寄存器、超阀值寄存器、超阀值温度关闭寄存器。图 3 (2) 温度寄存器:图 4 MSB:符号位(正、负温度)D8D14:温度数据位LSB:小数位(0.5)(3)THYST AND TOS REGISTER图 5 D0D6:未定义D7D15: 报警温度和滞后温度. 上电默认TOS = 80C, THYST = 75C.3.2.4.硬件原理图 图 6 3.3 温度软件设计3.3.1.驱动设计注册为字符设备,设备名称为lm75,设备号自动分配,防止和其他程序员设置的设备号冲突,自动在dev目录创建设备节点,挂接到I2C总线上。系统待用接口有:打开(lm75_open):static int lm75_open(struct inode *inode, struct file *file)关闭(lm75_release):static int lm75_release(struct inode *inode, struct file *file)读(lm_75read):static ssize_t lm75_read(struct file *file, char _user *buff, size_t count, loff_t *offset) IO控制(lm75_ioctl)(定义CMD码,控制写哪个寄存器,用于设定温度的超阀值)static int lm75_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)switch(cmd)case SET_OS:lm75_write_value(new_client,LM75_REG_TEMP1, (u16)(arg*2)7);break;case SET_HYST:lm75_write_value(new_client,LM75_REG_TEMP2, (u16)(arg*2) Device Drivers - Hardware Monitoring support (HWMON =y)2 打开平台代码源文件$ vim (kernel_dir)/arch/arm/mach-s5pc100/mach-smdkc100.c添加如下代码: static struct i2c_board_info i2c_devs0 _initdata = I2C_BOARD_INFO(lm75, 0x90 1 ), , ;3 在函数smdkc100_machine_init中的s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); 之后添加如下代码: i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0);4 重新编译内核3.3.3.用户接口设计为主流程提供模块初始化接口,温度的读写接口。温度数据结构为struct temp_data int current_temper;/*当前温度*/int highpoint;/*超阀值温度*/int lowpoint;/*滞后温度*/采用多线程方式编程,主流程调用初始化函数以后,创建一个线程读写温度,将温度存到温度数据结构中,共主流程查询,并检测是否产生报警信号(1) extern int temp_init(void)int fd;temp.temp.current_temp = 0;temp.temp.highpoint = 0;temp.temp.lowpoint = 0;led_init();fd = open (DEV_NAME, O_RDWR);if (fd 7)/2);highpoint = buff18;lowpoint = buff28;函数功能:读取温度接口:(3) extern int get_highpoint(void)read_temper(temp._fd);return temp.temp.highpoint;函数功能:获取报警温度(4) extern int set_temper(int Highpoint, int Lowpoint)if(Highpoint Lowpoint + 5 | !Lowpoint)Lowpoint = Highpoint - 5;ioctl(temp._fd, SET_OS, Highpoint);ioctl(temp._fd, SET_HYST, Lowpoint);Highpoint = 0;Lowpoint = 0;return 0;函数功能:设置报警温度第4章 蜂鸣器、LED模块4.1 蜂鸣器模块说明4.1.1.硬件原理图图 7 4.1.2.驱动设计由于这个蜂鸣器是无源的,所以要想使其产生声音必须给他提供一个有一定频率的高低电平。所以这里我们采用S5PC100的PWM定时器来使蜂鸣器发出声音。在S5PC100中,有两个寄存器,TCNTB0、TCMPB0,TCNTB0表示计数器从TCNTB0对应的值开始递减,当其递减到TCMPB0时,电平翻转。当逆变器未使能时,从TCNTB0减到TCMPB0时候TOUT输出高电平,而从TCMPB0到0时输出低电平。由此可知,当TCMPB0相同时,TCNTB0值越大声音越低,反之越尖。首先是beep的初始化:static void beep_init(void)writel(readl(S5PC100_GPD_BASE) & (0xF 4) | (0x2 4), S5PC100_GPD_BASE);writel(readl(S3C2410_TCFG0) & 0xff), S3C2410_TCFG0);writel(readl(S3C2410_TCFG1) & (0xf 4) | (0x1 4), S3C2410_TCFG1);writel(cnt_def, S3C2410_TCNTB(1);writel(cnt_def/2, S3C2410_TCMPB(1);writel(readl(S3C2410_TCON) & (0xf8) | (0xe8), S3C2410_TCON);设备类型为字符设备,系统自动分配设备号和创建设备节点,提供的系统调用接口:static struct file_operations s5pc100_pwm_ops = .owner = THIS_MODULE,.open = s5pc100_pwm_open,.release = s5pc100_pwm_close,.ioctl= s5pc100_pwm_ioctl;打开(open)static int s5pc100_pwm_open(struct inode *inode, struct file *file)关闭(release)static int s5pc100_pwm_close(struct inode *inode, struct file *file)IO控制(ioctl)(定义CMD码,控制蜂鸣器鸣在什么情况下叫)。static int s5pc100_pwm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)开蜂鸣器:static void beep_on(void)writel(readl(S3C2410_TCON) & (0xf8) | (0xd8), S3C2410_TCON);关蜂鸣器:static void beep_off(void)writel(readl(S3C2410_TCON) & (0xfCharacter devices - PWM_BEEP Device Support4 重新编译内核4.1.4.用户接口设计用户接口提供了两种不同的报警声音(温度报警和非法闯入报警),应用层采用了多线程模式,该模块呗初始化的时候会自动创建两个线程,同时打开蜂鸣器设备,并进入阻塞态,等待唤醒信号;当温度超过用户设定的报警温度或者有不明身份的闯入者,都会触发唤醒相应的beep线程,立即报警。(1)extern int beep_init(void); 函数功能:初始化蜂鸣器模块,创建线程(2)extern int beep_on(void);/*The temper is beyound expected!*/ 函数功能:温度报警接口(3)extern int beep_on2(void);/*Here is someone came into!*/ 函数功能:有人闯入时报警接口(4)extern int beep_off(void); 函数功能:关闭蜂鸣器4.2 LED功能模块说明4.2.1.LED模块电路如图所示图 8 LED模块功能说明在S5PC100的板子上一共有4盏灯,在本次LED的模块开发中,把4盏灯都加以运用,在驱动的实现中通过cmd码的实现对灯的亮或灭的控制;通过arg这个参数实现对指定灯的控制;static int s5pc100_led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg);4.2.2.LED模块驱动程序设计通过LED的电路原理图可知,要实现对LED的控制就是实现对GPG3寄存器的控制。通过查看S5PC100的用户手册,知道GPG3是一个复用寄存器,因此需要改变GPG3的端口状态为Output状态。在往GPF3DAT数据寄存器写入1,即可点亮LED灯。/LED灯的初始化既将GPG3置为Output状态static void led_init(void)writel(readl(S5PC100_GPG3_BASE) & (0XFFFF) | (0X1111),S5PC100_GPG3_BASE);/点亮对应的LED灯static void led_on(char flag)switch(flag)case 0:writel(readl(S5PC100_GPG3_BASE + 0x4) &(0x1) ) | (0x1),S5PC100_GPG3_BASE + 0x4);break;./关闭对应的LED灯static void led_off(char flag)switch(flag)case 0:writel(readl(S5PC100_GPG3_BASE + 0x4) ) & ( 0x1),S5PC100_GPG3_BASE + 0x4);break;./LED的操作控制 cmd:亮或灭的控制 ;arg:对应灯的控制;static int s5pc100_led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)switch(cmd)case LED_ON:led_on(char)arg);break;case LED_OFF:led_off(char)arg);break;default:break;return 0;/Cmd控制码;#define LED_ON _IO(k, 0)#define LED_OFF _IO(k, 1)4.2.3.应用程序设计/把对应的灯点亮;void led_on(const int );/把对应灯灭void led_off(const int );注:形参为对应的灯号;编号为:0/1/2/3第5章 web模块5.1 功能模块实现设计系统登录模块1)对用户身份进行验证用户输入用户名2)3)对用户身份进行验证用户输入密码。模块背景描述:1. 为了提高当前系统的安全性能,当用户输入用户名而没有输入密码或者密码小于6位数的时候,就弹出alert提示用户输入信息不全,当输入密码而没有输入用户名的时候,会提示用户完成用户名补全。当前系统默认用户名为username,密码为123456,通过此用户名和密码可以直接登录。2. 点击LOGIN的时候验证通过就进入控制总界面。验证不通过:密码将会清空;点击RESET按钮则直接清空用户名框和密码框;后台全部使用cgi作为验证,验证通过则进入主界面控制安防系统。模块算法设计:1. 入口说明:用户通过用户界面点击按钮LOGIN链接。2. 输入参数:记录的用户name和pasword3. 出口说明:验证通过则进入系统。不通过则返回登录界面调用参数的描述:1. 输入用户名username:该数据由数据库提供。2. 输入密码password: 该数据由数据库提供.登录数据流:1)要使用到G-001系统登录模块func_login();接口作为验证信息。用户登录界面图例:图 9 设置页面:图 10 视频显示页面:图 11 控制页面:图 12 Web页面所用技术:为了能让一些出差人士,和在外工作的人员有一个舒适安全的家园,项目加上了一个web界面来控制家里的服务器,所用技术:css布局,javascript验证判断,每次传入后台的name只有一个,后台cgi取得最这个名字之后就可以操作服务器做用户对应的事件驱动,用一组form表单,通过javascript来控制表单提交项为一项function check_button(string button_value)doc

温馨提示

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

评论

0/150

提交评论