收藏 分销(赏)

广工软件工程课程设计智能家居·智能灯光控制系统样本.docx

上传人:二*** 文档编号:4513197 上传时间:2024-09-26 格式:DOCX 页数:40 大小:1.35MB 下载积分:5 金币
下载 相关 举报
广工软件工程课程设计智能家居·智能灯光控制系统样本.docx_第1页
第1页 / 共40页
本文档共40页,全文阅读请下载到手机保存,查看更方便
资源描述
软件工程课程设计 智能家居.智能灯光控制系统 广工计算机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、数据描述: - 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 - 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.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、项目背景 随着都市生活节奏加快,人们将越来越多精力放在工作、养家上,而对于生活中细节则越来越无暇顾及,因而,生活用品(如家电)智能化、“去人工化”就显得尤为重要。 而随着物联网技术兴起,家居智能化控制呼声也越来越高。 智能化管理,不只是便捷,更重要一点在于通过对家电耗电量合理管理,减少家庭家电系统耗电量。 结合传感器技术与智能化算法,通过对物理信息感应做出对的选取,就是本项目这对当前社会现状和技术背景所定下功能设计方向。 1.2、项目可行性 本系统功能实现,以物联网传感技术及智能化算法为基本。依照当前本领域技术发展,本项目实现也许性较大。 当前市场智能化控制设备良莠不齐,本项目推广渠道较广。 综合上所述,本项目可行性较高。 1.3、项目目及意义 本项目针对家电系统智能化控制而设计功能。 本项目旨在通过对家居智能化控制,以便人们生活,让人们可以不用为了家居控制等细节烦心,在工作一天、身心疲倦后,在家中可以享有优质服务,而不是还要为了所谓自理能力再挥霍已经被工作消耗殆尽精力。 同步,对家电智能化管理,将有助于延长家电寿命,减少家电耗电量。 综上所述,本项目具备意义涉及: 1、以便居民生活; 2、缓和都市人生活压力,提高都市生活质量; 3、助力低碳生活推广。 当前,本项目先实现较为被注重家居灯光照明系统智能化。将来,本项目会推出系列产品,如家居控温设备智能化控制系统等。 2、 任务概述 2.1、系统定义 本系统是通过智能化控制,以便顾客控制家庭电器,应做到如下几点: 2.1.1、自动感知 即通过传感器感知室内环境,涉及光照强度、人员数量。 2.1.2、智能分析 依照传感器采集到信息,计算得出室内光照状况及人员所处环境。 2.1.3、智能决策 依照室内状况,选取照明设备应有亮度和光照模式。 2.1.4、远程控制 可以通过手机端、PC端对指定照明设备进行控制。 2.1.5、电源控制 在顾客不进行干预状况下,只有在顾客在家时,本系统中大某些设备才开始工作。顾客不在家中时,系统中只有负责检测家主与否在家中传感器工作。 顾客可以通过密码设定等方式,控制家电系统整体断电。 2.2、术语定义: 2.2.1、照明设备单元 室内,在家居电气系统中,一处光照来源(位置相近)作为一处照明设备单元,不涉及家电系统之外照明设备。例如,手电筒、应急灯等自身带电源、可以自身作为一种电气系统电气设备不再考虑范畴内。 如下图: 室内照明设备分布图 例如,位置相邻光源作为一处照明设备单元话,多灯灯柱上多盏灯可视为是一处照明设备单元,位置较远壁灯,各自划分为一处照明设备单元,位置相近壁灯可以几盏划分为一单元。 单元划分可视室内照明设备实际位置进行划分,在为顾客设计照明设备安放位置时就需划分好照明设备单元。 2.2.2、光源单元 一盏灯就是一种光源单元。是系统对照明设备控制最基本单位。照明模式实现是通过对光源单元工作方式指令组合伙出。 2.2.3、照明模式 分为两种状况: 1、照明设备单元只有一种光源单元时,光照模式只有工作和不工作;对于工作中光源单元,通过对电气设备两端电压大小进行控制达到强弱光模式。 2、照明设备单元由若干个光源单元构成时,光照模式依照光源单元工作数目以及各光源单元组合进行划分。例如: 1至5盏灯亮,有5种基本模式(暨亮灯数目为1~5)。 此外,依照灯光颜色,可以更进一步依照组合后效果细分出不同模式;依照光源单元与否具备闪烁功能,可以更进一步设计照明模式模式。 系统选取照明模式(或人工选取照明模式,由系统执行)实现是通过系统发出对若干光源单元工作方式指令组合实现。 2.3、数据描述: 2.3.1、物理信号 不同传感器采集到有关室内物理信息,例如光敏传感器采集到光照强度、远红外传感器采集到与否有人、人数、活跃度等信息。 2.3.2、数字信号 依照物理信号强弱、大小等信息,通过系统映射算法得出相应反映物理信息数字信号。 2.3.3、指令 依照数字信号反映关照强度、人数、人活跃度等信号,依照相应映射机制(if-then机制),系统将做出决策,决策通过指令得以实现。 指令体现为控制相应照明设备单元中,各个光源单元工作与否、工作时功率大小。 2.3.4、数据解决过程 综上可得如下数据解决思路:(数据流图) 3、 需求分析 3.1、功能需求 3.1.1、业务需求 实现对家中所有接入家庭电路中照明设备(不涉及手电筒等自身提供电力照明设备)智能控制。 涉及电气系统自身智能化和顾客控制以便化两方面。 3.1.2、顾客需求 3.1.2.1、智能管理 在顾客不干预状况下,系统能控制灯光照明模式,达到计算之内最佳照明效果。 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、基本模式设定 照明模式:对选定范畴所有照明设备发出指令序列,序列涉及所有光源单元与否工作及工作功率大小指令。各个单元之间工作与否互不影响;对各个单元发出指令互不影响。指令序列内容、数据量大小视选定范畴内光源单元数量、光源单元工作功率大小范畴及光源单元工作方式数目而定。 例如下图: 模式设定是智能化决策基本,智能化决策就是依照实际状况对系统中已有模式选取。 3.1.3.1.4、智能化决策 例如,当某一区域内,光照强度低于恰当水准时,系统向该区域照明设备输出增长工作功率指令。当某一区域内有人,且该人员活跃限度较低时,判断该人员“在休息”,减少光照强度至“睡眠模式”。 3.1.3.2、远程控制 3.1.3.2.1、模式选取 预先设定好几种照明模式,如一种区域照明设备单元中,只有弱光某些光源单元工作,别的都不工作,为“睡眠模式”;天花板下照灯彩色闪灯工作,别的光源单元均不工作,为“约会模式”,等等。 然后,顾客可以通过手机或PC进行模式选取。选取后系统将依照选取对各个光源单元发出“工作”或“不工作”等指令。 3.1.3.2.2、自定义模式 顾客可设定室内各个光源单元工作与否(闪光灯可有“闪烁”选取),自定义个性化照明模式,为约会、晚餐等特殊状况和个人喜好设定专属灯光效应。 自定义模式,其实就是定义好一种指令组合,组合中指令单元相应选定区域内光源单元。 定义指令组合不是直接定义由0、1构成指令序列,而是选取各个光源单元强中弱光、灭等组合简介定义指令序列。定义方式可在界面上选取。 此种系统控制模式将来可在剧院、片场等地推广。 3.1.3.2.1、个别调控 顾客可在上述两种模式基本上,依照时间、地点、气候等实际状况,对个别光源单元工作与否及功率大小进行调控。 3.1.4、用例图及阐明 系统用例图 用例阐明: 用例编号 1 用例名称 对个别光源单元工作模式进行调控 用例概述 顾客通过界面选取个别光源单元工作模式 参加者 顾客 次参加者 无 前置条件 顾客选取“远程控制模式”;用例4未进行。 后置条件 无 事件流 1、顾客选取系统“远程控制模式”。 2、顾客选取“个别调控”功能。 3、顾客选取“区域——光源单元”,通过在界面上点击光源单元,获得几种工作模式选项,并进行选取。 备注 注1:大某些光源单元只存在“强光”、“中光”、“弱光”、“灭灯”始终工作模式。带有闪烁功能光源单元有“闪烁”工作模式 注2:通过对光源单元两端电压大小进行调节,达到控制单独一光源单元功率大小调节。 用例编号 2 用例名称 区域照明模式选取 用例概述 顾客通过界面选取“远程控制模式”中“模式选取——区域照明模式”模块,再进行照明模式选取。 参加者 顾客 次参加者 无 前置条件 顾客选取“远程控制模式”;用例4未进行。 后置条件 无 事件流 1、顾客选取系统“远程控制模式”。 2、顾客选取“模式选取——区域照明模式”功能,并选取区域。 3、顾客通过在界面上点击照明模式选项进行选取。 备注 注1:室内各个区域,在为家庭布设本系统时已作好缺省划分。通过将若干照明设备单元划分为一种区域实现;后期,顾客可依照自己需要将若干照明设备单元归为“一区域”。 注2:选取照明模式是对选定范畴内所有光源单元与否工作发出单独指令。各个单元之间工作与否互不影响;对各个单元发出指令互不影响。 用例编号 3 用例名称 系统照明模式选取 用例概述 顾客通过界面选取“远程控制模式”中“模式选取——系统照明模式”模块,再进行照明模式选取。 参加者 顾客 次参加者 无 前置条件 顾客选取“远程控制模式”;用例4未进行。 后置条件 无 事件流 1、顾客选取系统“远程控制模式”。 2、顾客选取“模式选取——系统照明模式”功能。 3、顾客通过在界面上点击照明模式选项进行选取。 用例编号 4 用例名称 切断系统电源 用例概述 顾客通过界面点击“退出” 参加者 顾客 次参加者 无 前置条件 无 后置条件 无 事件流 顾客在主界面点击“退出”。 备注 此用例优先级别最高。 用例编号 5 用例名称 智能控制 用例概述 顾客通过界面选取“智能控制”。 参加者 顾客 次参加者 系统 前置条件 用例4未进行 后置条件 无 事件流 系统通过传感器采集到数据和系统映射算法,进行智能化决策。 备注 智能控制过程中,顾客可进行远程控制,执行用例1~4. 3.2、性能需求 3.2.1、速度 规定系统反映速度和平时顾客启动家电系统速度同样。对硬件规定较高,本文档不做详述。 3.2.2、鲁棒性 可承受同步多组指令发送。 规定对室内做各种分区后,假使每个分区都同步浮现人员活动有较大变化,系统可同步对每个分区发出变化照明模式指令。 3.2.3、容错性 发生错误和故障时,系统不会浮现崩溃现象。 1、在智能控制功能上,当系统中浮现某一种或若干个光源单元发生故障时,系统能继续对其她光源单元发出指令进行控制。 2、在顾客远程控制上,当顾客发出错误指令时,系统发出错误警告,而不是执行该指令。 3.2.4、界面 将功能点进行组织分类,而不是所有罗列在界面上。界面有多层,但界面层数不能太多,以2~3层为佳。 类似如下几幅图: 主界面样例 远程控制模式主界面 “卧室”选项界面样例 3.3、约束 3.3.1、运营环境 3.3.1.1、程序运营规定 本系统软件某些通过Web程序,以B/S架构实现,规定程序能通过能在Windows、安卓、i-OS等主流操作系统上使用浏览器运营。 浏览器涉及市面上主流浏览器,也涉及本项目中专门开发浏览器,界面规定见“3.2.4、界面”。 3.3.1.2、网络规定 1、能通过家庭局域网进行控制; 2、能通过登陆互联网进行控制。 3.3.2、硬件规定 硬件详细设计在此文档不做详述,此处只依照软件运营及家居设计,对硬件功能、性能作出规定。 3.3.2.1、传感器 感知如下物理信息: 需要探测物理信息 合用传感器 与否有人、人员数量 红外传感器 人员活跃度 人体移动传感器 光照强度 环境光传感器 3.3.2.1.1、红外传感器 运用红外辐射热效应,探测器敏感元件吸取辐射能后引起温度升高,进而使某些关于物理参数发生变化,通过测量物理参数变化来拟定探测器所吸取红外辐射,进一步拟定室内人员数量。 3.3.2.1.2、人体移动传感器 惯用在走廊、过道等有人体活动地方,与其他设备连接后,有人走动时自动控制电源接通。 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、系统架构设计 此处不详细设计硬件架构。 4.1.1、总体架构 由感知层生成物理信息、或由应用层输入人工选取,通过传播层传至智能解决层,系统依照流入数据生成指令序列,传播到相应照明设备功率控制处,对该设备功率大小进行调节。 本文档只设计软件某些,对硬件设计不做详述,只提运营系统硬件规定。 4.1.2、智能控制 4.1.3、远程控制:基于B/S构造 4.2、系统需求设计 4.2.1、智能控制设计 4.2.1.1、实时感知 将室内划分为若干个区域,如下图: 将家中照明设备按区域进行分区,例如客厅区域为第一区,进一步将客厅若干照明设备单元进行编号,编为1.1~1.n。 照明设备及传感器分布平面图 每一种照明设备单元旁,都安装有光传感器、人体移动传感器和红外传感器(详见3.3.2.1、传感器),通过传感器感知室内相应区域光强、人员数量、人员活动状况等物理信息。 此某些由硬件实现,不作更进一步设计。 4.2.1.2、物理信息数字化 设定映射函数,规定与物理信息相应数字信息。例如: 以特定数字序列表白物理信息:有人与否+人员活动活跃度+光照强度。如下图: 4.2.1.3、基本模式设定 设立各个光源单元工作状况,并将该设立保存为基本模式。如下图为例: 例:设立除了客厅之外,别的区域照明设备均不工作。假设沙发在照明设备单元1.5旁,除了照明设备单元1.5(或旁边1.3、1.4)为弱光外,别的照明设备单元均不工作。 将上述设立定为“暂时小憩模式”。以应对当顾客回家后因劳累而暂时在沙发上休息状况。 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、功能点概述及需求实现设计 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、“物理信号-数字信号”映射算法:依照物理信号输出数字信号。设计特定数据构造,用以存储表达物理信息数字信号。 2、依照输入数字信号,输出指令。设定基本模式所相应物理环境模式,然后通过if-then机制进行“决策”。即: if(基本模式1相应事件) 执行基本模式1 例: If(顾客在客厅沙发上 && 活动幅度低、频率低) 执行“暂时小憩模式” 注:详细例子见“4.2.1.3、基本模式设定”及“4.2.1.4、智能化决策”。 4.3.6、功能点及需求相应表 物理信息数字化 基本模式设定 智能化决策 进入人工控制 模式选取 自定义模式 个别调控 程序界面操作 √ √ √ √ 账号、密码管理 √ 网络连接、传播 √ √ √ √ √ 指令生成及管理 √ √ 系统映射算法 √ √ 4.3.7、功能模块图及系统构造图 功能模块图 系统构造图 4.4、开发环境、使用技术、开发模式 开发环境:Eclipse; 使用技术:Web程序后台:Java; Web前端:HTML、CSS、JavaScript; 使用数据库:MySQL; 开发模式:喷泉模型; 5、 详细设计 5.1、功能点实现设计 5.1.1、账号、密码管理  1、建立密码资料数据表 2、依照密码,运用表单向导生成密码表单,只有系统管理员具备访问该表单所有权力。区别系统管理员和顾客可在主程序中加一条判断语句来实现。 3、编写密码验证程序。运用表单向导创立密码验证表单。 伪代码如下 : 账号 oword 密码 dbf Input oword Input dbf IF found() oword=c- >密码 ELSE messagebox("无此顾客!",48,"提示窗口") 5.1.2、网络连接 系统网络架构如下: 通过局域网,可发送指令到设备上。 硬件规定:照明设备能将指令转换为对变压器控制。 数据发送,由Web程序实现。出于对速度考虑,基于UDP合同实现。 核心代码如下: #include<sys/types.h> #include<sys/socket.h> #include<sys/ioctl.h> #include"my_inet.h" #include<stdio.h> #include<errno.h> #include<arpa/inet.h> #include<unistd.h> int main() { int i; structsockaddr_indest; dest.sin_family=MY_PF_INET; dest.sin_port=htons(16000); dest.sin_addr.s_addr=0x013010AC; //目地址是172.16.48.1(网络字节序) //创立UDP数据报服务socket。 int fd=socket(MY_PF_INET,SOCK_DGRAM,MY_IPPROTO_UDP); if(fd<0) { 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:%d\n",bwrite); 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 char byteword; { unsigned char temp; int i; CS=0; temp=0x80; for(i=0;i<8;i++) { if((temp&byteword)==0) DIN=0; else DIN=1; SCLOCK=0; SCLOCK=1; temp=temp>>1; } } void readfromreg(bytenumber) int bytenumber; { int j; unsigned char temp1; CS=0; temp1=0x00; for(j=0;j<bytenumber;j++) { SCLOCK=0; SCLOCK=1; if(DOUT==0) temp1=temp1<<1; else { temp1=temp1<<1; temp1=temp1+0x01; } if(j==7||j==15||j==23) { printf("%02BX",temp1); temp1=0x00; } } CS=1; } void read() { unsigned char temp1; int i,j; CS=0; temp1=0x00; for(i=0;i<200;i++) { writetoreg(0x43); for(j=0;j<16;j++) { SCLOCK=0; SCLOCK=1; if(DOUT==0) temp1=temp1<<1; else { temp1=temp1<<1; temp1=temp1+0x01; } if(j==7||j==15) { printf("%02BX",temp1); temp1=0x00; } } printf(" "); while(DRDY); } printf("\n\n\n"); CS=1; } 5.1.4.2、智能化选取 使用模数转换器获得数字信号表白物理信息。在设计系统基本模式时,为每个模式设计触发条件。条件即为当数字信号值在一定范畴内时。 核心代码见“5.2.2、指令序列数据构造”。 5.2、数据构造设计 5.2.1、单一指令数据构造 存储一种光源单元工作模式指令,用于个别调控业务。 将光源单元工作模式分为“强光、中光、弱光、灭灯”4个级别,顾客进行个别调控业务时,通过界面进行选取。可以直接用整型变量作为存储该指令数据类型,用整数3、2、1、0相应4个级别。再通过串行接口编码器、译码器等硬件将数据转换为对变压器控制信号。 软件某些数据构造设计及界面操作核心代码如下: 数据构造名 阐明 int select 存储光源单元接受到工作模式指令。 int send_work 检测指令发送与否成功。 int select; static int send_work; void CMyDrawView::OnOff() //灭灯按钮 { select = 0; send_work = sendto(fd,"abcdefg",7,0,&select,sizeof(select)); } void CMyDrawView::OnWeak() //弱光按钮 { select=1; send_work = sendto(fd,"abcdefg",7,1,&select,sizeof(select)); } void CMyDrawView::OnMid() //中光按钮 { select=2; send_work = sendto(fd,"abcdefg",7,2,&select,sizeof(select)); } void CMyDrawView::OnStr() //强光按钮 { select=3; send_work = sendto(fd,"abcdefg",7,3,&select,sizeof(select)); } void Check() { if(!send_work) MessageBox(L”error”); } 5.2.2、指令序列数据构造 存储所有光源单元工作模式指令,用于基本模式设定、自定义模式、模式选取等调控业务。 以5.2.1中所描述为各个光源单元编码相应工作模式指令为基本,将指令序列(即相应整形数据数组)通过网络进行发送,同步对所有光源单元发出指令,再通过串行接口编码器、译码器等硬件将数据转换为对变压器控制信号,即达到同步控制所有照明设备目,进一步就实现预先设定照明模式。 软件某些数据构造设计及界面操作核心代码如下: 数据构造名 阐明 struct Model 用整型数组存储对所有光源单元指令;用一种整型变量存储该模式序号(名称) int send_work 检测指令发送与否成功。 int next 作为结束设立模式标示符 int i 计数器,记录本模式中光源单元编号 int j 计数器,记录本模式是系统中第几种自定义模式 int select_model 用于选取模式 define n 100; //假设有100个光源单元 struct Model { int model[n]; int model_name; }; Model M[10]; int select_model,send_work,next=1,i=0; static int j=0; void CMyDrawView::OnLight() { Model M[j++]; model_name=j; if(next) { cin>>M[j].model[i]; send_work = sendto(fd,"abcdefg",7,M[j].model[j],& M[j].model[i],sizeof(M[j].model[i])); i++; void CMyDrawView::OnQui(); } } void CMyDrawView::OnQui() { next = 0; } void CMyDrawView::OnModel() { cin>>select_model; CMyDrawView::OnDo(M[select_model]); //执行该模式 } CMyDrawView::OnDo(struct Model) { int a=0; while(a<n) { sendto(fd,"abcdefg",7,Model.model[a],& Model.model[a],sizeof(Model.model[a])); } } 5.3、项目开发筹划 5.4、课程设计总结 这次课程设计用了之前和同窗筹划做一种未完毕项目想法,即智能家居想法。通过本次课程设计,以及本项目从需求分析到得出项目开发筹划一系列设计、任务分解、规划等工作,收获重要有如下几点: 1、理解到一种项目从立项到实现中间诸多繁琐而又不能没有条理细节过程。 2、更进一步地理解到产品经理、系统分析员、架构师、项目经理等职位职能各自之间区别。 3、清晰了项目成功,代码实现仅仅是其中并不重要一某些。 4、理解到系统设计过程中,模块数目把握、系统构造合理性重要性。软件成败,并不只在于代码算法效率。 广工计算机11级软件4班方东乾
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服