智能家居监控系统的设计与实现毕业论文.doc_第1页
智能家居监控系统的设计与实现毕业论文.doc_第2页
智能家居监控系统的设计与实现毕业论文.doc_第3页
智能家居监控系统的设计与实现毕业论文.doc_第4页
智能家居监控系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

智能家居监控系统的设计与实现毕业论文目 录第一章绪 论11.1 系统的背景和研究意义11.2 智能家居系统概述11.3 系统的现状分析21.4 系统设计主要任务2第二章软件的功能和性能描述32.1 软件的功能需求32.2 软件的性能需求4第三章软件总体结构设计53.1 硬件结构概述53.2 软件功能划分73.3 软件运行环境和开发平台8第四章软件子系统功能设计94.1 PC软件设计94.2 嵌入式软件(Main)设计94.3 智能服务器终端设计10第五章接口设计105.1 接口描述11第六章 系统主要流程描述126.1 初始化流程126.2 业务流程136.3 系统子模块流程描述14第七章软件子系统接口设计167.1 软件子系统的接口设计概述167.2 公共数据结构、变量、宏定义167.3 Main子系统与智能客户端子系统的接口177.4 Main接口函数257.5 智能客户端接口函数36第八章 结 论41后 记42参考文献43附录:44I沈阳师范大学学士学位论文第一章 绪 论1.1 系统的背景和研究意义安全是一个社会和企业赖以生存和发展的基础, 尤其是在现代化技术高度发展的今天,犯罪更趋智能化, 手段更隐蔽, 加强现代化的安防技术就显得更为重要。 安全防范技术就是在这个意义上发展起来的, 它是电子技术、 传感器技术、 计算机技术和现代通信技术等高科技技术相结合的产物。它在预防和打击犯罪,维护社会治安,预防灾害事故,减少国家、 集体财产和人民生命等方面起到了一般防范手段难以或者不可能起到的作用。 安全防范技术系统和产品是预防和打击犯罪以及预防灾害事故发生的锐利武器, 是社会治安综合治理的重要内容,它将使我们逐步告别一把锁头保平安的时代。利用安全防范技术进行安全防范首先对犯罪分子有种威慑作用,使其不敢轻易作案。如安防系统能及时发现犯罪分子的作案时间和地点, 使其不敢轻易动手, 所以对预防犯罪相当有效。 其次, 一旦出现了入侵、 盗劫等犯罪活动, 安全技术防范系统能及时发现, 及时报警, 电视监控系统能自动记录下犯罪现场及犯罪分子的犯罪过程, 以便及时破案, 节省了大量的人力、 物力。 重要单位, 要害部门安装了多功能、 多层次的安防监控系统后, 大大减少了巡逻值班人员的工作强度,提高效率,减少开支。摄像头监视系统是安全技术防范体系中的一个重要组成部分,是一种先进的、防范能力极强的综合系统。随着科技的飞速发展,CCD摄像机技术日趋成熟和商品化,在监视系统中,可以把被监视场所的图像内容传送到用户终端设备,使被监控场所的情况一目了然。同时, 监视终端还可以与防盗报警等其它安全技术防范体系联动运行, 使防范能力更加强大。监视终端的另一特点是它可以把被监视场所的图像及声音全部或部分地记录下来, 这样就为日后对某些事件的处理提供了方便条件及重要依据。微电子计算机技术高速发展的今天, 应用于监视电视系统中的技术越来越多, 各种设备日趋先进和完善。对于设计者来说最重要的一点是如何将先进的技术和设备有机地加以结合,根据用户的实际情况使系统切实地发挥出安全防范的威力。1.2 智能家居系统概述随着社会信息化的加快,人们的工作、生活和通讯、信息的关系日益紧密。信息化社会在改变人们生活方式与工作习惯的同时,也对传统的住宅提出了挑战,社会、技术以及经济的进步更使人们的观念随之巨变。人们对家居的要求早已不只是物理空间,更为关注的是一个安全、方便、舒适的居家环境。家居智能化技术起源于美国,它是以家为平台进行设计的。智能家居控制系统是以HFC、以太网、现场总线、公共电话网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等功能的控制系统。智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统,以此来提高住宅高新技术的含量和居民居住环境水平。大型的智能家居控制系统通常由系统服务器、家庭控制器(各种模块)、各种路由器、电缆调制解调器头端设备CMTS、交换机、通讯器、控制器、无线收发器、各种探测器、各种传感器、各种执行机构、打印机等主要部分组成。1.3 系统的现状分析在智能家居监控系统未广泛使用之前,监测室内温度还需要依靠温度计;还没有用于监控室内烟雾浓度的装置;还没有用于监控是否有外人闯入的装置;还没有报警系统。随着近些年信息技术和硬件技术以及计算机网络技术的不断发展,家居也先从传统的毫无安全可言的普通家居发展到有一定安全性的智能家居,再发展到今天的数字化、信息化的智能家居,这些变化使得智能家居越来越现代化、人性化,人民的生命和财产安全也得到了很好的保障。随着互联网的飞速发展,人们可以利用手机通过网络和自家的监控系统建立连接,实时动态的监控家里环境变化。1.4 系统设计主要任务本文利用凌阳ARM9嵌入式开发板,S5PV210 CPU核心板和装有Linux系统或装有Linux虚拟机的PC机一台。本设计包括:硬件驱动程序接口的封装、监控软件的编写、设备操作与维护软件三大部分。1. 硬件部分:智能家居控制系统其硬件部分主要由八大部分构成,即LED灯、蜂鸣器、按键、以太网模块(dm9000)、ds18b20温湿度传感器、烟雾传感器(ADC)、s5pv210 CPU板模块与接口和电源部分。用户可以通过GPRS模组上的RS232接口和PC机直接相连接使用,通过SHT11温湿度传感器检测温度变化,电源部分则为各个部分提供工作电源。2. 软件部分:软件设计部分主要由三大部分构成:即底层驱动程序接口函数、监控软件、上层操作与维护软件。第二章 软件的功能和性能描述2.1 软件的功能需求2.1.1 监控功能1. 监控室内温度通过温度传感器(ds18b20)定时对室内温度进行采样,如果室内温度超过设定的温度阀值,系统自动对室内温度异常进行处理(蜂鸣器报警、led灯闪烁)。2. 监控红外传感器 通过按键来模拟红外传感器,以阻塞或者异步通知方式进行对红外传感器进行监控, 如果红外传感器探测有非法份子闯入,系统自动对异常进行处理(蜂鸣器报警、led灯闪烁)。 3. 监控室内烟雾浓度 通过测电压值来模拟烟雾传感器,定时对室内烟雾浓度进行采样,如果室内烟雾浓度超过设定的烟雾浓度阀值,系统会自动对室内异常进行处理(蜂鸣器报警、led灯闪烁)。2.1.2 智能服务器1. 获取室内参数通过获取各个芯片的参数,来动态显示室内相关信息,比如当前室内温度,湿度,烟雾浓度,场景状态等。2. 配置管理通过智能服务器终端界面进行参数配置。2.1.3 智能客户端1. 故障报警系统内部产生的各种故障可以上报至操作维护终端, 软件支持告警过滤、 告警复位等功能,重要告警,存储到FLASH ,以备查阅。2. 性能管理系统内部相关工作参数上报至操作维护终端。3. 配置管理系统相关参数支持设置和查询。3. 软件版本管理系统支持软件版本的查询和软件的在线升级。4. 系统自检系统支持自检,故障定位到模块级。2.2 软件的性能需求1支持3G网络 支持3G网络之后,能通过3G网络进行通信,使得通信变得更加快捷和方便。2支持视频传输支持视频输出之后,能用摄像头,通过网络来传输视频信号,使得通信变成可视化。第三章 软件总体结构设计3.1 硬件结构概述3.1.1 系统硬件框图智能家居系统由TPAD ,3GModem,ZIGBEE,PC三个单元组成,硬件框架如图3-1,各个单元,除了3GModem都有相应的软件在运行。各个单元电源目前板卡是单独供电,没有使用PMIC进行有效管理。TPAD是整个家居系统的控制中心和处理单元,主要对温度,烟雾,红外进行采集和分析,并且能通过CMOS或者CCD摄像头进行视频采集,并且能够与ZIGBEE,3GModem进行通信。3GModem主要能够进行语音通话,网络传输;ZIGBEE无线通信模块进行控制命令的处理。图3-1 智能家居系统硬件框架示意图3.1.2 硬件接口描述1操作维护平面操作维护平面包括系统信息的监控, 设备的控制, 软件升级等由上位机发起的配置和控制,其硬件接口如图3-2所示。系统上电后,TPAD进行硬件初始化工作,读取相应的信息并在LCD上显示,由上位机发起的配置,控制命令都有TPAD统一进行解析和处理,再由TPAD对3GModem,ZIGBEE进行配置。系统运行状态 ( 主要指系统存活状态信息, 版本信息, 告警信息, 温度信息等) 监测信令的流程为:上位机周期性查询TPAD系统信息,如果温度超过设定值,可以将告警存 入FLASH,并将告警信息上报给上位机软件。图3-2 操作维护平面硬件接口示意图图3-2中,各个维护接口说明如下:-M1:操作维护配置参数,自检结果上报,告警信息,处理器状态,版本查询,以太网接口;-M2:操作维护参数配置,按键键盘;-M3:操作维护获取红外状态,信号线;-M4:操作维护获取温度值,信号线;-M5:操作维护配置或者获取3GModem信息,RS232接口;-M6:操作维护配置或者获取ZIGBEE信息,RS232接口;2控制平面系统上电后, 启动监控软件, 监测温度传感器, 烟雾传感器, 红外传感器的信息, 针对不同的情况,作相应的处理。同时, 监听和处理上位机和智能服务器终端的请求, 并作相应的处理, 其硬件接口如图3-3所示。图3-3 控制平面硬件接口示意图图3-3,各个控制接口实现说明如下:-S1:系统监听和处理上位机的处理请求,以太网接口;-S2:系统监听和处理智能服务器终端的配置请求和查询信息,LCD ;-S3:系统接受和处理键盘输入信息,按键键盘;-S4:系统阻塞或者异步通知方式监测红外传感器状态,信号线;-S5:系统定时监测温度传感器信息,信号线;-S6:系统与3GModem进行数据通信,RS232接口;-S7:系统与ZIGBEE进行数据通信,RS232接口。3.2 软件功能划分3.2.1 软件层次架构智能家居系统上的软件包括PC软件和嵌入式软件,其中PC软件的实现基于PC机,嵌入式软件的实现基于ZIGBEE芯片(TIZC3530 ) ,ARM(三星S5PV210) 。PC机软件基于Ubuntu操作系统,ARM上运行的软件基于操作系统,从开发的层次上分为驱动平台和应用软件,如图3-4所示。图3-4 系统软件模型3.2.2 软件子系统划分按照不同层次软件所实现的特定功能对软件进行模块划分,软件子系统划分如下:1. PC应用软件(智能客户端)该软件面向研发和测试人员,进行对系统的维护和相关操作。2. 嵌入式应用软件1) Main:监控温度,烟雾,红外传感器,并作相应的处理异常功能,同时监听和处理PC软件发送的请求2) 智能服务器终端:显示和配置系统信息;3) ZIGBEE :处理Main下发的信令。3.3 软件运行环境和开发平台3.3.1 嵌入式软件S5PV210搭载嵌入式linux操作系统,调试软件环境Ubuntu,编译器使用arm-linux-gcc(4.4.6),Eclipse3.7 。3.3.2 智能客户端操作系统:Ubuntu开发环境:QT4辅助软件:qtcreator,qtdesigner网络协议:UDP网络环境:以太网第四章 软件子系统功能设计4.1 PC软件设计4.1.1 概述PC软件主要通过以太网跟TPAD进行连接,并对系统进行相应的操作和维护,下面主要介绍智能客户端功能设计。4.1.2智能客户端软件功能设计1. 控制1) 本机编号:序号1/2/3/42) TPAD实时时钟的配置:yyyy-mm-ddhh:mm:ss3) 自检4) 校准5) 系统重新复位6) 配置ZIGBEE7) 发送3GModem短信息8) 开关报警器9) 配置LED灯工作状态10) 配置设备信息2. 显示1) 本机编号,TPADcpu利用率,内存使用率,剩余磁盘空间2) 显示室内温度,采样电压和软件版本3. 监控重要告警的记录和显示4嵌入式软件的上传和下载4.2 嵌入式软件(Main)设计4.2.1 Main软件功能设计1. 功能1) 监控室内温度, 监测是否超过预先设定值, 如果超过, 表示发生异常, 进一步处理。2) 监控室内烟雾, 监测是否超过预先设定值, 如果超过, 表示发生异常, 进一步处理。3) 监控红外传感器,监测是否有非法分子闯入。2. 流程系统上电以后,启动Main软件,分别启动相应的处理功能。3. 接口与智能客户端之间:接受智能客户端发送的请求,作出相应的处理,将处理结构反馈给智能客户端,通过以太网进行通信。4.3 智能服务器终端设计4.3.1 智能服务器终端软件功能设计1. 功能 动态显示系统状态和信息,以方便用户查看。2. 流程 界面初始化,并获取系统信息显示。3. 接口 依据软件接口,获取系统信息。第五章 接口设计5.1 接口描述智能家居项目软件子系统分为不同处理器和同一处理两种情况,不同处理器之间软件接口通过硬件接口实现;同一处理器的接口通过内部消息或者共享全局变量来实现。各个接口的综合描述如图5-1所示。图5-1 软件接口列表源子系统只能客户端可以通过以太网与目标子系统Main进行通信,智能客户端可以配置系统设备信息,查询系统信息。源子系统Main可以通过以太网与目标子系统智能客户端进行通信,智能客户端可以反馈系统信息给Main。源子系统智能服务器终端可以通过操作系统内部消息进行通信,智能服务器终端可以查询系统设备信息,或者视频数据,配置系统。目标子系统智能服务器终端可以通过操作系统内部消息进行通信,智能服务器终端可以反馈消息。第六章 系统主要流程描述6.1 初始化流程系统初始化主要完成软件加载和初始化工作,初始化流程如图6-1所示,具体描述如下:(1)系统上电;(2)启动bootloader, 实现硬件初始化, 加载logo , 初始化组合按键, 通过启动参数加载内核到内存,启动内核,并给内核传递参数;(3)启动内核,主要完成驱动初始化工作,挂接根文件系统;(4)挂接根文件系统, 进行相关初始化配置工作, 创建设备节点, 挂接文件系统(sysfs,tmpfs,ramfs等) ,配置网络环境;(5)挂接用户分区,进行智能服务器终端和Main初始化工作,打开设备,创建相应的监控任务,等待数据交互,初始化完成。图6-1 系统初始化流程6.2 业务流程智能家居系统业务流程包括PC软件智能客户端跟Main的业务交互, 同时Main本身也有监控温度和监控红外的功能,系统业务流程图如图6-2所示,具体业务说明如下:图6-2 系统业务流程示意图智能客户端与Main :1. 客户端通过以太网接口向Main发送查询系统信息请求, 系统信息包括, 系统是否正常工作,当前CPU利用率,内存利用率,剩余磁盘空间大小,当前室内温度,软件和硬件版本号,Main最后上报信息给客户端;2. 客户端通过以太网接口向Main发送配置设备请求, 配置项包括配置硬件寄存器,EEPROM,温度阀值,手机号码,3GModem短消息信息,ZIGBEE控制命令,Main最后上报配置结果;3. 客户端通过以太网接口向Main发送软件在线升级请求,最后上报升级结果;4. 客户端通过以太网接口向Main发送设备自检请求,最后上报自检结果;5. 客户端通过以太网接口向Main发送时钟校准请求,最后上报校准结果。智能服务器终端设计: 显示室内温度,湿度,红外状态;Main内部处理:1. 启动监控温度线程,定时采集室内温度,并做相应的处理流程;2. 启动监控红外线成, 阻塞或者异步通知方式采集红外状态, 并做相应的处理流程;6.3 系统子模块流程描述6.3.1 Main子系统流程描述系统上电以后,执行Main软件,执行流程如图6-3所示,具体文字说明如下:图6-3 Main子系统流程描述(1)初始化log:为了便于调试软件,添加log日志跟踪机制,要求将内核启动信息和应用程序信息都可以进行查看;(2)初始化设备: 打开使用到的设备, 如串口, 报警器, LED , EEPROOM, LCD等设备;(3)创建三个任务,分别用于监控温度,监控红外,并出去请求;(4)创建Socket,用于监听 客户端请求,并出去相应的请求;6.3.2 智能客户端子系统流程描述在PC机上启动智能客户端软件,其执行流程如图6-4所示,具体文字描述如下:图6-4 智能客户端子系统流程描述(1)打开智能客户端软件;(2)启动智能客户端软件登录界面;(3)启动主界面,初始化界面信息;(4)创建socket ;(5)等待用户发起请求, 智能客户端根据请求, 构造相应的消息, 通过以太网将消息发送给Main 。- 49 -第七章 软件子系统接口设计7.1 软件子系统的接口设计概述此节主要讨论智能家居系统各个软件子系统以及PC软件之间的接口定义和规范进行详细描述,主要包括Main ,智能客户端,智能服务器终端。7.2 公共数据结构、变量、宏定义7.2.1 应用接口消息宏定义1. 智能客户端子系统消息宏定义消息号:1100/*智能客户端 -Main1100*/#defineO_MCMMAIN_MACHINE_INFO_QUERY_REQ1/*查看系统信息*/#defineO_MCMMAIN_SET_REGISTER_DATA_REQ2/*设置寄存器*/#defineO_MCMMAIN_GET_REGISTER_DATA_REQ3/*获取寄存器*/#defineO_MCMMAIN_SET_EEPROM_DATA_REQ4/*设置作EEPROM*/#defineO_MCMMAIN_GET_EEPROM_DATA_REQ5/*获取EEPROM*/#defineO_MCMMAIN_SOFTWARE_UPDATE_REQ6/*软件在线升级*/#defineO_MCMMAIN_MODEM_REQ7/*操作3GModem*/#defineO_MCMMAIN_ZIGBEE_REQ8/*操作ZIGBEE*/#defineO_MCMMAIN_BEEP_REQ9/*操作蜂鸣器*/#defineO_MCMMAIN_LED_REQ10/*操作LED*/#defineO_MCMMAIN_HARDWARE_SELFTEST_REQ11/*硬件自检*/#defineO_MCMMAIN_TOD_ADJUST_REQ12/*时间校准*/#defineO_MCMMAIN_VERSION_QUERY_REQ13/*查看版本信息*/2. Main子系统消息宏定义消息号:101200/*Main-MCM101150*/#defineO_MAINMCM_MACHINE_INFO_QUERY_RSP101/*查看系统信息*/#defineO_MAINMCM_SET_REGISTER_DATA_RSP102/*设置寄存器*/#defineO_MAINMCM_GET_REGISTER_DATA_RSP103/*获取寄存器*/#defineO_MAINMCM_SET_EEPROM_DATA_RSP104/* 设置作EEPROM*/#defineO_MAINMCM_GET_EEPROM_DATA_RSP105/*获取EEPROM*/#defineO_MAINMCM_SOFTWARE_UPDATE_RSP106/*软件在线升级*/#defineO_MAINMCM_MODEM_RSP107/*操作3GModem*/#defineO_MAINMCM_ZIGBEE_RSP108/*操作ZIGBEE*/#defineO_MAINMCM_BEEP_RSP109/*操作蜂鸣器*/#defineO_MAINMCM_LED_RSP110/*操作LED*/#defineO_MAINMCM_HARDWARE_SELFTEST_RSP111/*硬件自检*/#defineO_MAINMCM_TOD_ADJUST_RSP112/*时间校准*/#defineO_MAINMCM_VERSION_QUERY_RSP113/*查看版本信息*/7.2.2 应用程序公共数据结构定义关于消息头,要求各个子系统一致,消息头描述如图7-1和图7-2所示:图7-1 STRU_MSG_HEAD结构图7-2 STRU_DD_TIME_INFO数据结构7.3 Main子系统与智能客户端子系统的接口7.3.1 接口通讯方式智能客户端向Main发送查询系统是否正常工作,当前室内温度,软件版本等消息; 当智能客户端发送查询系统信息请求时,Main进行对消息处理,并返回系统信息给智能客户端; 当智能客户端发送操作硬件寄存器, EEPROM, 3GMdoem , ZIGBEE请求时, Main进行对消息处理, 返回操作结果给智能客户端; 当智能客户端发送软件在线升级请求时, Main根据请求进行软件升级并返回升级结果给智能客户端。智能客户端与Main通过以太网进行通信。7.3.2 接口消息描述智能客户端与Main接口消息清单如下图7-3所示:图7-3 智能客户端与Main接口消息描述下面详细介绍智能客户端和Main接口消息:1. O_MCMMAIN_MACHINE_INFO_QUERY_REQ智能客户端向Main查询系统信息:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-2. O_MAINMCM_MACHINE_INFO_QUERY_RSPMain返回系统信息:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-f32MsgHeaderf32当前采样电压-u32CpuFrequ32当前CPU频率-u32FreeMemu32当前剩余内存-u32FreeDisku32当前剩余FLASH空间-3. O_MCMMAIN_SET_REGISTER_REQ智能客户端向Main发送设置寄存器内容请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u32Offsetu32地址-u32RegisterDatau32数据-4. O_MAINMCM_SET_REGISTER_RSPMain向智能客户端 返回配置结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-5. O_MCMMAIN_GET_REGISTER_DATA_REQ智能客户端向Main发送获取寄存器数据请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u32Offsetu32地址-6. O_MAINMCM_GET_REGISTER_DATA_RSPMain向智能客户端返回寄存器数据:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u32RegisterDatau32数据-7. O_MCMMAIN_SET_EEPROM_DATA_REQ智能客户端向Main发送设置EEPROM数据请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u16Offsetu16偏移地址-u16Reservedu16字对齐,保留-u8EepromData4u8数据-8. O_MAINMCM_SET_EEPROM_DATA_RSPMain向智能客户端返回配置结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-9. O_MCMMAIN_GET_EEPROM_DATA_REQ智能客户端向Main发送获取EEPROM数据请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u16Offsetu16偏移地址-u16Reservedu16字对齐,保留-10. O_MAINMCM_GET_EEPROM_DATA_RMain向智能客户端 返回EEPROM数据:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8EepromData4u8数据-11. O_MCMMAIN_SOFTWARE_UPDATE_REQ智能客户端向Main发送软件在线升级请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8FileName20u8文件名-u32Lenu32有效长度-u8BufferBUF_SIZEu8数据-12. O_MAINMCM_SOFTWARE_UPDATE_RSPMain向智能客户端返回软件升级结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否升级成功-u8Reserved3u8字对齐,保留-13. O_MCMMAIN_MODEM_REQ智能客户端向Main发送短信息请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8PhoneNum11u8手机号-u8Paddingu8字对齐-u8MessageInfo20u8信息内容-14. O_MAINMCM_MODEM_RSPMain向智能客户端返回发送短信结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-15. O_MCMMAIN_ZIGBEE_REQ智能客户端向Main发送ZIGBEE信息请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8MessageInfo20u8控制命令-16. O_MAINMCM_ZIGBEE_RSPMain向智能客户端 返回发送ZIGBEE信息结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-17. O_MCMMAIN_BEEP_REQ智能客户端向Main发送控制蜂鸣器请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8BeepCtrlOperationu8控制命令0:关闭1:打开18. O_MCMMAIN_BEEP_RSPMain向智能客户端返回配置蜂鸣器结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-19. O_MCMMAIN_LED_REQ智能客户端向Main发送控制LED灯请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8LedTypeu8指明LED编号1:告警灯2:运行灯u8Reservedu8指明LED操作命令0:关1:开2:快闪3:慢闪u8Reserved2u8字对齐,保留-u32BlinkTimeu32闪烁持续时间-20. O_MAINMCM_LED_RSPMain向智能客户端返回配置LED结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8是否配置成功-u8Reserved3u8字对齐,保留-21. O_MCMMAIN_HARDWARE_SELFTEST_REQ智能客户端向Main发送自检请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-22. O_MAINMCM_HARDWARE_SELFTEST_RSPMain向智能客户端 返回自检结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-s32SelfTestResults32自检结果-23. O_MCMMAIN_TOD_ADJUST_REQ智能客户端向Main发送时钟配置请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-struTimeInfoSTRU_TIME_INFO日期信息STRU_TIME_INFO24. O_MAINMCM_TOD_ADJUST_RSPMain向智能客户端返回时钟配置结果:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-bSuccessfulu8配置结果-u8Reserved3u8字对齐,保留-25. O_MCMMAIN_VERSION_QUERY_REQ智能客户端向Main发送查询软件版本请求:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8Queryldu8要查询版本的ID1:Main2:智能服务器终端u8Reserved3u8字对齐,保留 -26. O_MAINMCM_VERSION_QUERY_RSPMain向智能客户端返回软件版本信息:名称数据类型描述取值范围struMsgHeaderSTRU_MSG_HEADER消息头-u8Queryldu8要查询版本的ID1:Main 2:智能服务器客户端u8Padding3u8字对齐-s8Version8s8版本信息-7.3.3 接口宏定义#defineBUF_SIZE4*1024/*文件传输缓冲区*/7.3.4 接口变量定义无7.3.5 接口数据结构定义无7.4 Main接口函数7.4.1 接口函数概述为了提高上层应用软件的可移植性, 加强软件系统的层次化和模块化, 提高系统的运行性能,需要提供统一的接口函数,如图7-30所示:图7-30 Main接口函数7.4.2 接口函数详细设计1. 初始化log日志文件函数函数实现描述(自然语言) :u32log_init( void )创建log设备文件节点;判断是否成功;否则返回错误代码;打开log设备节点;如果打开失败;返回错误码;返回C_SYS_OK;2. 设置log日志输出级别函数函数实现描述(自然语言) :voidlog_set_level( intlevel )更新全局log输出级别值log_level为level ;3. log日志输出函数函数实现描述(自然语言) :voidlog_write(intlevel,constchar*fmt,.)if (判断level是否大于全局log_level)返回;if(打开log设备文件失败)返回;将可变参数信息写入log日志文件里;4. 关闭log设备文件函数函数实现描述(自然语言) :voidlog_close(void )关闭log设备文件;5. 初始化线程函数函数实现描述(自然语言) :u32create_pthread( void )温度线程ID=创建监控温度线程;如果失败返回错误码;红外线程ID=创建监控红外传感器线程;如果失败返回错误码;返回C_SYS_OK;6. 监控温度线程函数函数实现描述(自然语言) :void*thread_monitor_temperature(void*pdata)for;每隔3秒钟获取一次当前室内温度;如果温度大于温度阀值;开启报警器;发送短信息给户主;7. 监控红外线程函数函数实现描述(自然语言) :void*thread_monitor_infrared (void*pdata)for;阻塞方式读取红外状态;如果红外采集到有人闯入;开启报警器;发送短信息给户主;8. 初始化设备函数函数实现描述(自然语言) :u32init_device(void)打开设备;打开失败,返回错误码;初始化串口;初始化失败,返回错误码;配置GPRS工作模式;配置失败,返回错误码;返回C_ SYS_OK ;9. 初始化串口函数函数实现描述(自然语言) :u32init_uart( intfd,intspeed )配置串口波特率,奇偶校验,数据位,停止位;如果配置失败返回错误码返回C_ SYS_OK ;10. 配置GPRS工作模式函数函数实现描述(自然语言) :u32gprs_config(void)配置GPRS以TEXT模式工作,配置短信服务中心;如果配置失败返回错误码返回C_ SYS_OK ;11. 发送GPRS短信息函数函数实现描述(自然语言) :u32send_gprs_message(s8*phonenum,s8*message)构造GPRS消息包;发送消息;如果发送失败;返回错误码;返回C_ SYS_OK ;12. 打开蜂鸣器函数函数实现描述(自然语言) :u32start_alarm(void)打开蜂鸣器;如果打开失败;返回错误码;返回C_ SYS_OK ;13. 关闭蜂鸣器函数函数实现描述(自然语言) :u32stop_alarm(void)关闭蜂鸣器;如果关闭失败;返回错误码;返回C_ SYS_OK ;14. 打开LED函数函数实现描述(自然语言) :u32start_led(void)打开LED ;如果打开失败;返回错误码;返回C_ SYS_OK ;15. 关闭LED函数函数实现描述(自然语言) :u32stop_alarm(void)关闭LED ;如果关闭失败;返回错误码;返回C_ SYS_OK ;16. 获取温度函数函数实现描述(自然语言) :u32get_ds18b20_temperature(f32*Temp)获取温度值;如果获取失败;返回错误码;*Temp=温度值;返回C_ SYS_OK ;17. ADC配置函数函数实现描述(自然语言) :u32adc_config(u32bit,u32channel)配置ADC工作模式;如果配置失败;返回错误码;更新全局转换精度变量和转换通道变量;返回C_ SYS_OK ;18. 获取采样电压值函数函数实现描述(自然语言) :u32get_adc_voltage(f32*vol)采集电压值;如果采集失败;返回错误码;*vol=采集完毕的电压值;返回C_ SYS_OK ;19. 获取红外状态函数函数实现描述(自然语言) :u32get_button_key(u8*val)阻塞方式获取红外状态;如果采集失败;返回错误码;*val=1;/ 表示有人闯入返回C_ SYS_OK ;20. 系统复位函数函数实现描述(自然语言) :u32system_reboot(void)reboot;如果复位失败;返回错误码;返回C_ SYS_OK ;21. 创建初始化socket函数函数实现描述(自然语言) :u32create_socket(void)创建socket ;初始化socket ;如果创建初始化失败;返回错误码;监听智能客户端发送的请求;如果有请求到来;解析消息;switch( 消息类型)case获取系统信息:case操作EEPROM:等发送处理消息给智能客户端;返回C_SYS_OK;22. 获取系统信息函数函数实现描述(自然语言) :u32get_machine_stat _req(char*pskbuf)获取当前系统状态获取当前室内温度;获取当前CPU工作频率;获取当前内存使用率;获取当前剩余FLASH空间;获取失败返回错误码;将信息填充到系统信息消息结构体中;返回C_SYS_OK;23. 操作寄存器函数函数实现描述(自然语言) :u32register_xfer _req(char*pskbuf)操作寄存器;返回请求结果到pskbuf中;返回C_SYS_OK;24. 操作EEPROM函数函数实现描述(自然语言) :u32eeprom_xfer _req(char*pskbuf)操作EEPROM;返回请求结果到ps

温馨提示

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

最新文档

评论

0/150

提交评论