1、软件工程课程设计智能家居.智能灯光控制系统广工计算机11级软件4班方东乾学 院 计算机学院 专 业 班 级 级 班 学 号 姓 名 指引教师 合 作 人 1月 日目录1、引言- 4 -1.1、项目背景- 4 -1.2、项目可行性- 4 -1.3、项目目的及意义- 4 -2、任务概述- 5 -2.1、系统定义- 5 -2.1.1、自动感知- 5 -2.1.2、智能分析- 5 -2.1.3、智能决策- 5 -2.1.4、远程控制- 5 -2.1.5、电源控制- 5 -2.2、术语定义:- 5 -2.2.1、照明设备单元- 5 -2.2.2、光源单元- 6 -2.2.3、照明模式- 6 -2.3、数
2、据描述:- 7 -2.3.1、物理信号- 7 -2.3.2、数字信号- 7 -2.3.3、指令- 7 -2.3.4、数据处理过程- 7 -3、需求分析- 8 -3.1、功能需求- 8 -3.1.1、业务需求- 8 -3.1.2、用户需求- 8 -3.1.3、系统需求- 8 -3.1.4、用例图及说明- 10 -3.2、性能需求- 12 -3.2.1、速度- 12 -3.2.2、鲁棒性- 12 -3.2.3、容错性- 12 -3.2.4、界面- 12 -3.3、约束- 14 -3.3.1、运行环境- 14 -3.3.2、硬件要求- 15 -4、概要设计- 16 -4.1、系统架构设计- 16 -
3、4.1.1、总体架构- 16 -4.1.2、智能控制- 17 -4.1.3、远程控制:基于B/S结构- 17 -4.2、系统需求设计- 17 -4.2.1、智能控制设计- 17 -4.2.2、远程控制设计- 19 -4.2、系统业务流程图- 21 -4.2.1、系统总体业务- 21 -4.2.2、远程控制业务- 21 -4.3、功能点概述及需求实现设计- 22 -4.3.1、程序界面样例- 22 -4.3.2、账号、密码管理- 24 -4.3.3、网络连接、传输- 24 -4.3.4、指令序列生成及管理- 24 -4.3.5、系统算法- 24 -4.3.6、功能点及需求对应表- 24 -4.3
4、.7、功能模块图及系统结构图- 25 -4.4、开发环境、使用技术、开发模式- 25 -5、详细设计- 26 -5.1、功能点实现设计- 26 -5.1.1、账号、密码管理- 26 -5.1.2、网络连接- 26 -5.1.3、指令序列生成及管理- 27 -5.1.4、系统算法- 27 -5.2、数据结构设计- 30 -5.2.1、单一指令数据结构- 30 -5.2.2、指令序列数据结构- 31 -5.3、项目开发计划- 32 -5.4、课程设计总结- 32 -广工计算机11级软件4班方东乾1、 引言1.1、项目背景随着都市生活节奏加快,人们将越来越多精力放在工作、养家上,而对于生活中细节则越
5、来越无暇顾及,因而,生活用品(如家电)智能化、“去人工化”就显得尤为重要。而随着物联网技术兴起,家居智能化控制呼声也越来越高。智能化管理,不只是便捷,更重要一点在于通过对家电耗电量合理管理,减少家庭家电系统耗电量。结合传感器技术与智能化算法,通过对物理信息感应做出对的选取,就是本项目这对当前社会现状和技术背景所定下功能设计方向。1.2、项目可行性本系统功能实现,以物联网传感技术及智能化算法为基本。依照当前本领域技术发展,本项目实现也许性较大。当前市场智能化控制设备良莠不齐,本项目推广渠道较广。综合上所述,本项目可行性较高。1.3、项目目及意义本项目针对家电系统智能化控制而设计功能。本项目旨在通
6、过对家居智能化控制,以便人们生活,让人们可以不用为了家居控制等细节烦心,在工作一天、身心疲倦后,在家中可以享有优质服务,而不是还要为了所谓自理能力再挥霍已经被工作消耗殆尽精力。同步,对家电智能化管理,将有助于延长家电寿命,减少家电耗电量。综上所述,本项目具备意义涉及:1、以便居民生活;2、缓和都市人生活压力,提高都市生活质量;3、助力低碳生活推广。当前,本项目先实现较为被注重家居灯光照明系统智能化。将来,本项目会推出系列产品,如家居控温设备智能化控制系统等。2、 任务概述2.1、系统定义本系统是通过智能化控制,以便顾客控制家庭电器,应做到如下几点:2.1.1、自动感知即通过传感器感知室内环境,
7、涉及光照强度、人员数量。2.1.2、智能分析 依照传感器采集到信息,计算得出室内光照状况及人员所处环境。2.1.3、智能决策 依照室内状况,选取照明设备应有亮度和光照模式。2.1.4、远程控制可以通过手机端、PC端对指定照明设备进行控制。2.1.5、电源控制在顾客不进行干预状况下,只有在顾客在家时,本系统中大某些设备才开始工作。顾客不在家中时,系统中只有负责检测家主与否在家中传感器工作。顾客可以通过密码设定等方式,控制家电系统整体断电。2.2、术语定义:2.2.1、照明设备单元室内,在家居电气系统中,一处光照来源(位置相近)作为一处照明设备单元,不涉及家电系统之外照明设备。例如,手电筒、应急灯
8、等自身带电源、可以自身作为一种电气系统电气设备不再考虑范畴内。如下图:室内照明设备分布图例如,位置相邻光源作为一处照明设备单元话,多灯灯柱上多盏灯可视为是一处照明设备单元,位置较远壁灯,各自划分为一处照明设备单元,位置相近壁灯可以几盏划分为一单元。单元划分可视室内照明设备实际位置进行划分,在为顾客设计照明设备安放位置时就需划分好照明设备单元。2.2.2、光源单元一盏灯就是一种光源单元。是系统对照明设备控制最基本单位。照明模式实现是通过对光源单元工作方式指令组合伙出。2.2.3、照明模式分为两种状况:1、照明设备单元只有一种光源单元时,光照模式只有工作和不工作;对于工作中光源单元,通过对电气设备
9、两端电压大小进行控制达到强弱光模式。2、照明设备单元由若干个光源单元构成时,光照模式依照光源单元工作数目以及各光源单元组合进行划分。例如:1至5盏灯亮,有5种基本模式(暨亮灯数目为15)。此外,依照灯光颜色,可以更进一步依照组合后效果细分出不同模式;依照光源单元与否具备闪烁功能,可以更进一步设计照明模式模式。系统选取照明模式(或人工选取照明模式,由系统执行)实现是通过系统发出对若干光源单元工作方式指令组合实现。2.3、数据描述:2.3.1、物理信号不同传感器采集到有关室内物理信息,例如光敏传感器采集到光照强度、远红外传感器采集到与否有人、人数、活跃度等信息。2.3.2、数字信号依照物理信号强弱
10、、大小等信息,通过系统映射算法得出相应反映物理信息数字信号。2.3.3、指令依照数字信号反映关照强度、人数、人活跃度等信号,依照相应映射机制(if-then机制),系统将做出决策,决策通过指令得以实现。指令体现为控制相应照明设备单元中,各个光源单元工作与否、工作时功率大小。2.3.4、数据解决过程综上可得如下数据解决思路:(数据流图)3、 需求分析3.1、功能需求3.1.1、业务需求实现对家中所有接入家庭电路中照明设备(不涉及手电筒等自身提供电力照明设备)智能控制。涉及电气系统自身智能化和顾客控制以便化两方面。3.1.2、顾客需求3.1.2.1、智能管理在顾客不干预状况下,系统能控制灯光照明模
11、式,达到计算之内最佳照明效果。3.1.2.2、远程控制顾客能通过PC、手机控制家中任意一种光源单元工作模式,涉及与否工作、工作功率等状况。3.1.3、系统需求3.1.3.1、智能控制3.1.3.1.1、实时感知在家中布设传感器,采集光照强度、人员数量、人员活动状况等物理信息。3.1.3.1.2、物理信息数字化物理信息能转化为数字信息。暨特定数字表达特定物理状态。例如,一串数字信号中,某一某些数字序列表达室内某个区域、另一某些数字序列表达室内该区域光照强度,等。3.1.3.1.3、基本模式设定照明模式:对选定范畴所有照明设备发出指令序列,序列涉及所有光源单元与否工作及工作功率大小指令。各个单元之
12、间工作与否互不影响;对各个单元发出指令互不影响。指令序列内容、数据量大小视选定范畴内光源单元数量、光源单元工作功率大小范畴及光源单元工作方式数目而定。例如下图:模式设定是智能化决策基本,智能化决策就是依照实际状况对系统中已有模式选取。3.1.3.1.4、智能化决策例如,当某一区域内,光照强度低于恰当水准时,系统向该区域照明设备输出增长工作功率指令。当某一区域内有人,且该人员活跃限度较低时,判断该人员“在休息”,减少光照强度至“睡眠模式”。3.1.3.2、远程控制3.1.3.2.1、模式选取预先设定好几种照明模式,如一种区域照明设备单元中,只有弱光某些光源单元工作,别的都不工作,为“睡眠模式”;
13、天花板下照灯彩色闪灯工作,别的光源单元均不工作,为“约会模式”,等等。然后,顾客可以通过手机或PC进行模式选取。选取后系统将依照选取对各个光源单元发出“工作”或“不工作”等指令。3.1.3.2.2、自定义模式顾客可设定室内各个光源单元工作与否(闪光灯可有“闪烁”选取),自定义个性化照明模式,为约会、晚餐等特殊状况和个人喜好设定专属灯光效应。自定义模式,其实就是定义好一种指令组合,组合中指令单元相应选定区域内光源单元。定义指令组合不是直接定义由0、1构成指令序列,而是选取各个光源单元强中弱光、灭等组合简介定义指令序列。定义方式可在界面上选取。此种系统控制模式将来可在剧院、片场等地推广。3.1.3
14、.2.1、个别调控顾客可在上述两种模式基本上,依照时间、地点、气候等实际状况,对个别光源单元工作与否及功率大小进行调控。3.1.4、用例图及阐明系统用例图用例阐明:用例编号1用例名称对个别光源单元工作模式进行调控用例概述顾客通过界面选取个别光源单元工作模式参加者顾客次参加者无前置条件顾客选取“远程控制模式”;用例4未进行。后置条件无事件流1、顾客选取系统“远程控制模式”。2、顾客选取“个别调控”功能。3、顾客选取“区域光源单元”,通过在界面上点击光源单元,获得几种工作模式选项,并进行选取。备注注1:大某些光源单元只存在“强光”、“中光”、“弱光”、“灭灯”始终工作模式。带有闪烁功能光源单元有“
15、闪烁”工作模式注2:通过对光源单元两端电压大小进行调节,达到控制单独一光源单元功率大小调节。用例编号2用例名称区域照明模式选取用例概述顾客通过界面选取“远程控制模式”中“模式选取区域照明模式”模块,再进行照明模式选取。参加者顾客次参加者无前置条件顾客选取“远程控制模式”;用例4未进行。后置条件无事件流1、顾客选取系统“远程控制模式”。2、顾客选取“模式选取区域照明模式”功能,并选取区域。3、顾客通过在界面上点击照明模式选项进行选取。备注注1:室内各个区域,在为家庭布设本系统时已作好缺省划分。通过将若干照明设备单元划分为一种区域实现;后期,顾客可依照自己需要将若干照明设备单元归为“一区域”。注2
16、:选取照明模式是对选定范畴内所有光源单元与否工作发出单独指令。各个单元之间工作与否互不影响;对各个单元发出指令互不影响。用例编号3用例名称系统照明模式选取用例概述顾客通过界面选取“远程控制模式”中“模式选取系统照明模式”模块,再进行照明模式选取。参加者顾客次参加者无前置条件顾客选取“远程控制模式”;用例4未进行。后置条件无事件流1、顾客选取系统“远程控制模式”。2、顾客选取“模式选取系统照明模式”功能。3、顾客通过在界面上点击照明模式选项进行选取。用例编号4用例名称切断系统电源用例概述顾客通过界面点击“退出”参加者顾客次参加者无前置条件无后置条件无事件流顾客在主界面点击“退出”。备注此用例优先
17、级别最高。用例编号5用例名称智能控制用例概述顾客通过界面选取“智能控制”。参加者顾客次参加者系统前置条件用例4未进行后置条件无事件流系统通过传感器采集到数据和系统映射算法,进行智能化决策。备注智能控制过程中,顾客可进行远程控制,执行用例14.3.2、性能需求3.2.1、速度规定系统反映速度和平时顾客启动家电系统速度同样。对硬件规定较高,本文档不做详述。3.2.2、鲁棒性 可承受同步多组指令发送。规定对室内做各种分区后,假使每个分区都同步浮现人员活动有较大变化,系统可同步对每个分区发出变化照明模式指令。3.2.3、容错性 发生错误和故障时,系统不会浮现崩溃现象。1、在智能控制功能上,当系统中浮现
18、某一种或若干个光源单元发生故障时,系统能继续对其她光源单元发出指令进行控制。2、在顾客远程控制上,当顾客发出错误指令时,系统发出错误警告,而不是执行该指令。3.2.4、界面将功能点进行组织分类,而不是所有罗列在界面上。界面有多层,但界面层数不能太多,以23层为佳。类似如下几幅图:主界面样例远程控制模式主界面“卧室”选项界面样例3.3、约束3.3.1、运营环境3.3.1.1、程序运营规定本系统软件某些通过Web程序,以B/S架构实现,规定程序能通过能在Windows、安卓、i-OS等主流操作系统上使用浏览器运营。浏览器涉及市面上主流浏览器,也涉及本项目中专门开发浏览器,界面规定见“3.2.4、界
19、面”。3.3.1.2、网络规定1、能通过家庭局域网进行控制;2、能通过登陆互联网进行控制。3.3.2、硬件规定硬件详细设计在此文档不做详述,此处只依照软件运营及家居设计,对硬件功能、性能作出规定。3.3.2.1、传感器感知如下物理信息:需要探测物理信息合用传感器与否有人、人员数量红外传感器人员活跃度人体移动传感器光照强度环境光传感器3.3.2.1.1、红外传感器运用红外辐射热效应,探测器敏感元件吸取辐射能后引起温度升高,进而使某些关于物理参数发生变化,通过测量物理参数变化来拟定探测器所吸取红外辐射,进一步拟定室内人员数量。3.3.2.1.2、人体移动传感器惯用在走廊、过道等有人体活动地方,与其
20、他设备连接后,有人走动时自动控制电源接通。3.3.2.1.3、环境光传感器感知周边光照强度状况,并告知系统将照明设备光照强度调节至适当限度。3.3.2.2、布线规定1、通过埋线进行布线2、负载功率能承受全屋家用电器同步最大功率工作3、超负荷时能自动切断全屋电源4、局域网网速能保证浏览、选取过程顺畅3.3.2.4、功率控制 家电设备接入家庭电路中时,能通过变压器控制接入电器电压大小。3.3.2.3、硬件接口需求能通过编码器、译码器实现如下数据转变:1、将软件某些输入数据编码成能控制硬件工作方式机器语言;2、将传感器采集到物理信息译码成高档语言程序中数据。4、 概要设计4.1、系统架构设计此处不详
21、细设计硬件架构。4.1.1、总体架构由感知层生成物理信息、或由应用层输入人工选取,通过传播层传至智能解决层,系统依照流入数据生成指令序列,传播到相应照明设备功率控制处,对该设备功率大小进行调节。本文档只设计软件某些,对硬件设计不做详述,只提运营系统硬件规定。4.1.2、智能控制4.1.3、远程控制:基于B/S构造4.2、系统需求设计4.2.1、智能控制设计4.2.1.1、实时感知将室内划分为若干个区域,如下图:将家中照明设备按区域进行分区,例如客厅区域为第一区,进一步将客厅若干照明设备单元进行编号,编为1.11.n。照明设备及传感器分布平面图每一种照明设备单元旁,都安装有光传感器、人体移动传感
22、器和红外传感器(详见3.3.2.1、传感器),通过传感器感知室内相应区域光强、人员数量、人员活动状况等物理信息。此某些由硬件实现,不作更进一步设计。4.2.1.2、物理信息数字化设定映射函数,规定与物理信息相应数字信息。例如:以特定数字序列表白物理信息:有人与否+人员活动活跃度+光照强度。如下图:4.2.1.3、基本模式设定设立各个光源单元工作状况,并将该设立保存为基本模式。如下图为例:例:设立除了客厅之外,别的区域照明设备均不工作。假设沙发在照明设备单元1.5旁,除了照明设备单元1.5(或旁边1.3、1.4)为弱光外,别的照明设备单元均不工作。将上述设立定为“暂时小憩模式”。以应对当顾客回家
23、后因劳累而暂时在沙发上休息状况。4.2.1.4、智能化决策假设,顾客只出当前自己客厅(假设是第1区域),且顾客浮现位置是沙发位置(假设是1.5区域)、并长时间不作大范畴移动,则系统将选取“暂时小憩模式”。4.2.2、远程控制设计4.2.2.1、模式选取顾客能通过界面对预先设定好几种模式进行选取。4.2.2.2、自定义模式 进入系统模式设立业务后,顾客能通过界面设立各个光源单元工作状况,之后点击保存为自定义模式模式,并为该模式命名。4.2.2.3、个别调控顾客能通过界面对任意一光源单元工作状况进行选取,如下图: 4.2、系统业务流程图4.2.1、系统总体业务4.2.2、远程控制业务4.3、功能点
24、概述及需求实现设计4.3.1、程序界面样例4.3.1.1、互联网登陆界面4.3.1.2、程序主界面4.3.1.3、远程控制模式主界面4.3.1.4、模式定义界面4.3.1.5、模式选取界面4.3.1.6、个别调控界面4.3.2、账号、密码管理用于记录顾客账号及密码,顾客可登陆我司服务器。顾客可以在局域网范畴外,在通过互联网登录我司服务器之后,可通过互联网向家庭局域网发送指令进行远程控制。4.3.3、网络连接、传播信号(涉及物理信号、数字信号及指令等数据)能通过家庭局域网、互联网进行传播。4.3.4、指令序列生成及管理设计特定数据构造存储指令序列;并能保存在内存中。4.3.5、系统算法1、“物理
25、信号-数字信号”映射算法:依照物理信号输出数字信号。设计特定数据构造,用以存储表达物理信息数字信号。2、依照输入数字信号,输出指令。设定基本模式所相应物理环境模式,然后通过if-then机制进行“决策”。即:if(基本模式1相应事件)执行基本模式1 例:If(顾客在客厅沙发上 & 活动幅度低、频率低) 执行“暂时小憩模式” 注:详细例子见“4.2.1.3、基本模式设定”及“4.2.1.4、智能化决策”。4.3.6、功能点及需求相应表物理信息数字化基本模式设定智能化决策进入人工控制模式选取自定义模式个别调控程序界面操作账号、密码管理网络连接、传播指令生成及管理系统映射算法4.3.7、功能模块图及
26、系统构造图功能模块图系统构造图4.4、开发环境、使用技术、开发模式开发环境:Eclipse;使用技术:Web程序后台:Java; Web前端:HTML、CSS、JavaScript;使用数据库:MySQL;开发模式:喷泉模型;5、 详细设计5.1、功能点实现设计5.1.1、账号、密码管理 1、建立密码资料数据表2、依照密码,运用表单向导生成密码表单,只有系统管理员具备访问该表单所有权力。区别系统管理员和顾客可在主程序中加一条判断语句来实现。3、编写密码验证程序。运用表单向导创立密码验证表单。伪代码如下:账号 oword密码 dbfInput owordInput dbfIF found()ow
27、ord=c- 密码ELSEmessagebox(无此顾客!,48,提示窗口) 5.1.2、网络连接系统网络架构如下:通过局域网,可发送指令到设备上。硬件规定:照明设备能将指令转换为对变压器控制。数据发送,由Web程序实现。出于对速度考虑,基于UDP合同实现。核心代码如下:#include#include#include#includemy_inet.h#include#include#include#includeint main()int i;structsockaddr_indest;dest.sin_family=MY_PF_INET;dest.sin_port=htons(16000)
28、;dest.sin_addr.s_addr=0x013010AC;/目地址是172.16.48.1(网络字节序)/创立UDP数据报服务socket。int fd=socket(MY_PF_INET,SOCK_DGRAM,MY_IPPROTO_UDP);if(fd0)perror(socket:);return -1;int bwrite=sendto(fd,abcdefg,7,0,(structsockaddr*)&dest,sizeof(dest);if(bwrite=-1)perror(send:);close(fd);return -1;printf(sendto:%dn,bwrite)
29、;close(fd);return 0;5.1.3、指令序列生成及管理1、设计特定数据构造,详见“5.2.2、指令序列数据构造”;2、系统预设基本模式时,定义数据构造中各变量值;该值相应光源单元工作模式;3、顾客在界面点击界面进行照明模式自定义时,既是定义该数据构造变量,选取相应工作模式既是对数据构造中相应变量进行数值定义。核心代码见“5.2.2、指令序列数据构造”。5.1.4、系统算法5.1.4.1、“物理信号-数字信号”映射使用模数转换器(A/D转换器)可以实现该映射,模数转化器内置程序具备此映射算法。核心代码如下:void writetoreg(byteword)unsigned cha
30、r byteword;unsigned char temp;int i;CS=0;temp=0x80;for(i=0;i1;void readfromreg(bytenumber)int bytenumber;int j;unsigned char temp1;CS=0;temp1=0x00;for(j=0;jbytenumber;j+) SCLOCK=0; SCLOCK=1;if(DOUT=0)temp1=temp11;elsetemp1=temp11;temp1=temp1+0x01;if(j=7|j=15|j=23)printf(%02BX,temp1);temp1=0x00;CS=1;
31、void read()unsigned char temp1;int i,j;CS=0;temp1=0x00;for(i=0;i200;i+)writetoreg(0x43); for(j=0;j16;j+) SCLOCK=0;SCLOCK=1;if(DOUT=0)temp1=temp11;elsetemp1=temp1Mj.modeli; send_work= sendto(fd,abcdefg,7,Mj.modelj,& Mj.modeli,sizeof(Mj.modeli);i+;void CMyDrawView:OnQui();void CMyDrawView:OnQui() next
32、 = 0;void CMyDrawView:OnModel() cinselect_model; CMyDrawView:OnDo(Mselect_model); /执行该模式CMyDrawView:OnDo(struct Model) int a=0; while(an) sendto(fd,abcdefg,7,Model.modela,& Model.modela,sizeof(Model.modela); 5.3、项目开发筹划5.4、课程设计总结这次课程设计用了之前和同窗筹划做一种未完毕项目想法,即智能家居想法。通过本次课程设计,以及本项目从需求分析到得出项目开发筹划一系列设计、任务分解、规划等工作,收获重要有如下几点:1、理解到一种项目从立项到实现中间诸多繁琐而又不能没有条理细节过程。2、更进一步地理解到产品经理、系统分析员、架构师、项目经理等职位职能各自之间区别。3、清晰了项目成功,代码实现仅仅是其中并不重要一某些。4、理解到系统设计过程中,模块数目把握、系统构造合理性重要性。软件成败,并不只在于代码算法效率。广工计算机11级软件4班方东乾