课程设计课程名称:嵌入式设计设计题目:智能家居监控系统班级:20122111学号:2012211127姓名:指导教师:完成时间:2015/12/9哈尔滨工程大学教务处制嵌入式设计报告智能家居监控系统班级:教师评语:教师签名:2015年12月课程设计题目智能家居监控系统目的和背景智能家居又称智能住宅,正朝着具备无线远程控制、多媒体控制、高速数据传输等功能的方向发展,其关键技术为兼容性强的家庭控制器和满足信息传输需要的家庭网络。目前,传输网络多采用综合布线技术,限制了系统应用场所,而且费用较高,采用无线方式构建灵活便捷的智能家居安全监控系统,成为当前的主流趋势。目前,应用于智能家居的无线通信技术主要包括Ir-DA红外线技术、蓝牙技术和Zigbee技术等,Ir-DA属于短距离、点对点的半双工通信方式,使用不便且失误率高,不适用于家庭的组网方式;蓝牙技术则因为网络容量有限,成本较高,不适于节点较多的家庭网络应用。本项目通过采用传输范围适中、安全可靠、网络容量大的Zigbee技术,设计智能家居远程监控系统。主要内容1)信息显示。2)照明控制。3)家电控制。4)入侵监测。5)烟感监测。6)温度、湿度监测。7)远程监控,数据透传。8)选项设置。采用的工具方法硬件环境1:NEUEBD-ARM开发套件硬件环境2:CC2530开发套件软件环境:1.UCOS2.5.1,提供UCOS内核构建2.ADS1.2、IAR7.51,提供集成开发环境进度安排1-2天:完成项目要求书、模块计划书、系统设计书、RTM3-4天:完成模块概要设计、模块概要设计书、模块接口定义书、模块间EVENT流和数据流系统图5-7天:完成模块详细设计模块详细设计书8-13天:完成模块代码模块代码14-16天:完成项目报告参考资料-1-1目的和背景智能家居又称智能住宅,正朝着具备无线远程控制、多媒体控制、高速数据传输等功能的方向发展,其关键技术为兼容性强的家庭控制器和满足信息传输需要的家庭网络。目前,传输网络多采用综合布线技术,限制了系统应用场所,而且费用较高,采用无线方式构建灵活便捷的智能家居安全监控系统,成为当前的主流趋势。目前,应用于智能家居的无线通信技术主要包括Ir-DA红外线技术、蓝牙技术和Zigbee技术等,Ir-DA属于短距离、点对点的半双工通信方式,使用不便且失误率高,不适用于家庭的组网方式;蓝牙技术则因为网络容量有限,成本较高,不适于节点较多的家庭网络应用。本项目通过采用传输范围适中、安全可靠、网络容量大的Zigbee技术,设计智能家居远程监控系统。2功能描述和模块设计图1:智能家居监控平台示意图1)LCD主菜单显示显示当前时间日期,电器开关状态,是否闹钟开启。显示用户操作菜单。显示设置菜单。2)照明控制使用LED、AD(1个)硬件资源。使用LED可模仿家中主要房间的照明。通过-2-照明控制子菜单控制灯亮灭。如果开启了自动光控功能,通过AD采集的光照参数可实现照明的自动开关。另外可通过小键盘模拟电灯开关。3)家电控制使用LED硬件资源。通过家电控制子菜单对家中电器进行开关控制。相应家电开关信息以及闹钟是否开启都在LCD主菜单中有显示。通过设置菜单传递的信息可定时开关电器以及实现闹钟功能。定时时间到LCD屏会自动弹出提示框并且家电状态发生改变。4)入侵报警控制使用红外传感器硬件资源。使用红外传感器或接近开关采集数据,判断有无人员进入室内。报警参数有默认值,也可由用户设置,可通过设置功能完成。如遇报警,报警信息在屏幕上显示,同时发出触发蜂鸣器报警。5)温湿度控制使用温湿度传感器硬件资源。使用温湿度传感器采集温湿度数据,将监测数据显示在LCD上。报警参数有默认值,也可由用户设置,可通过设置功能完成。如遇报警,触发蜂鸣器动作,同时开启空调。6)远程监控。终端系统将发生的事件数据定期通过Zigbee传输到服务器,服务器可根据实际情况进行家电设备的远端控制。7)设置功能完成以下内容的设置:哪些房间采用自动控制功能。3系统结构图2系统结构图-3-图3通信协议框架图4设计参考框架-4-4代码实现4.1模块的实现4.1.1账户登录模块函数名称函数类型概要说明lineEditTextChanged(QStrings)模块内部函数判断文本是否发生改变的槽函数zeroClicked()~nineClicked()模块内部函数0~9的数字输入键盘loginBtnClicked()模块外部函数登陆按键,进入主页面forgrtPasswordClicked()模块外部函数忘记密码按键,进入密码修改页面4.1.2主界面模块函数名称函数类型概要说明mainWidget2smartHomeAppliances()模块外部函数点击按钮进入智能家电模块。mainWidget2securityWidget()模块外部函数点击按钮进入安防系统模块。mainWidget2toolWidget()模块外部函数点击按钮进入工具娱乐模块。Back_clicked模块外部函数返回登陆界面。4.1.3智能家电模块函数名称函数类型概要说明smartHomeAppliances2lightWidget()模块外部函数点击按钮进入灯控界面。smartHomeAppliances2waterHeaterWidget()模块外部函数点击按钮进入热水器控制界面。smartHomeAppliances2temperatureWidget()模块外部函数点击按钮进入空调控制界面。smartHomeAppliances2humidityWidget()模块外部函数点击按钮进入加湿器控制界面。smartHomeAppliances2curtainWidget()模块外部函数点击按钮进入窗帘控制界面。smartHomeAppliances2televisionWidget()模块外部函数点击按钮进入电视控制界面Back_clicked模块外部函数返回上一界面4.1.3.1灯控模块函数名称函数类型概要说明lightTurnOn()模块外部函数点击按钮打开灯。lightTurnOff()模块外部函数点击按钮关闭灯Back_clicked模块外部函数返回上一界面4.1.3.2温度模块函数名称函数类型概要说明changeSwitch(inta)模块内部函数显示空调的开光状态。addTemClicked()模块内部函数显示空调的温度。-5-addTemClicked()模块外部函数点击按钮发送温度加信息。subTemClicked();模块外部函数点击按钮发送温度减信息。Back_clicked模块外部函数返回上一界面4.1.3.3湿度模块函数名称函数类型概要说明showRh(intrh)模块内部函数显示当前湿度。changeSwitch(inta)模块内部函数显示当前开关状态。changeOnClicked()模块外部函数点击按钮发送开状态。changeOffClicked()模块外部函数点击按钮发送关状态。addBtnClicked();模块外部函数点击按钮发送湿度加状态。subBtnClicked();模块外部函数点击按钮发送湿度减状态。Back_clicked模块外部函数返回上一界面4.1.3.4热水器模块函数名称函数类型概要说明showTem(inttem);模块内部函数显示当前温度。changeSwitch(inta)模块内部函数显示开关状态。changeOnClicked()模块外部函数点击按钮发送开状态。changeOffClicked()模块外部函数点击按钮发送关状态。addBtnClicked();模块外部函数点击按钮发送升高水温状态。subBtnClicked();模块外部函数点击按钮发送降低水温状态。Back_clicked模块外部函数返回上一界面4.1.3.5窗帘模块函数名称函数类型概要说明showSlider(intti);模块内部函数显示窗帘的位置。sliderValue(inta);模块内部函数读取窗帘的当前位置。Back_clicked模块外部函数返回上一界面4.1.3.6电视模块函数名称函数类型概要说明openTvClicked();模块外部函数点击按钮发送电视开的信号。closeTvClicked();模块外部函数点击按钮发送电视关的信号addVmeClicked();模块外部函数点击按钮发送音量+信号subVolumeClicked();模块外部函数点击按钮发送音量减信号addProgramClicked()模块外部函数点击按钮发送节目+信号-6-subProgramClicked();模块外部函数点击按钮发送节目-信号Back_clicked模块外部函数返回上一界面4.1.4安防模块函数名称函数类型概要说明securityWidget2infraredWidget();模块外部函数点击按钮进入红外报警。security2LockWidget();模块外部函数点击按钮进入远程控制门锁security2SmokeWidget();模块外部函数点击按钮进入烟雾报警Back_clicked模块外部函数返回上一界面4.1.4.1红外报警模块函数名称函数类型概要说明showLocation(inta);模块内部函数显示触发的位置changeOnClicked();模块外部函数点击按钮发送红外开启信号changeOfficked();模块外部函数点击按钮发送红外开启信号Back_clicked模块外部函数返回上一界面4.1.4.2烟雾报警模块函数名称函数类型概要说明changeSmoke(int);模块内部函数显示当前烟雾的浓度。Back_clicked模块外部函数返回上一界面4.1.4.3门锁控制模块函数名称函数类型概要说明changeLockState(int);模块内部函数显示当前门的锁的状态changeOn()模块外部函数点击按钮发送门开的状态changeOff();模块外部函数点击按钮发送门开的状态Back_clicked模块外部函数返回上一界面4.1.5小工具模块函数名称函数类型概要说明toolWidget2calendarWidget();模块外部函数点击按钮进入日历toolWidget2stopwatchWidget()模块外部函数点击按钮进入秒表toolWidget2cWidget()模块外部函数点击按钮进入计算器toolWidget2alarmWidget()模块外部函数点击按钮进入闹钟toolWidget2mianWindow()模块外部函数点击按钮进入画板toolWidget2gameWidget()模块外部函数点击按钮进入2048游戏-7-toolWidget2clockWidget()模块外部函数点击按钮进入时钟4.1.5.1日历模块函数名称函数类型概要说明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生的打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选择代办事项,并显示代办事项的具体内容Back_clicked模块外部函数返回上一界面4.1.5.2时钟模块函数名称函数类型概要说明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生的打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选择代办事项,并显示代办事项的具体内容Back_clicked模块外部函数返回上一界面4.1.5.3闹钟模块函数名称函数类型概要说明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生的打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选择代办事项,并显示代办事项的具体内容Back_clicked模块外部函数返回上一界面4.1.5.4秒表模块函数名称函数类型概要说明startStopwatchClicked()