山西大学商务学院《软件工程课程设计》报告题目:基于手机的智能家居控制系统的设计与实现班级:??嵌入式?班组长:组员姓名:说明一、设计题目:基于手机的智能家居控制系统的设计与实现二、小组成员及任务分配情况姓名学号任务分配软件工程课程总体设计报告、????系统可行性分析文档、????系统需求分析文档、????系统详细设计文档、????系统测试文档、????目录1. 开发目的和意义 (3)1.1 开发背景和意义 (3)1.2 完成情况 (3)2. 开发相关技术及方法 (2)2.1 开发环境 (2)2.2 相关技术及方法 (2)3. 系统分析 (3)3.1 可行性分析 (3)3.2 需求分析 (3)3.2.1 性能需求 (3)3.2.2 功能分析 (3)3.2.3 行为模型 (4)4. 系统设计 (6)4.1 总体设计 (6)4.2 详细设计 (6)4.2.1 用户登录控制模块的设计 (6)4.2.2 网络管理模块的设计 (7)4.2.3 温度控制模块的设计 (7)4.3 数据库设计 (8)4.3.1 概念结构设计 (8)4.3.2 逻辑结构设计 (8)4.3.3 数据表设计 (8)5. 系统实现 (10)5.1 用户注册界面 (10)5.2 用户登录界面 (10)5.3 手机端远程桌面控制实现界面 (10)6. 系统测试 (11)6.1 测试方法 (11)6.2 测试用例及结果 (11)6.3 测试记录和结果反馈 (11)7.实践总结 (13)7.1 小结 (13)7.2 实践感想 (13)附录1 系统可行性分析文档 (15)附录2 系统需求分析文档 (20)附录3 系统详细设计文档 (24)附录4 系统测试文档 (30)1. 开发目的和意义1.1 开发背景和意义随着通信技术的迅速发展,信息化程度越来越高,人们对家居的智能化也有了更高的期盼,盼望可以随时随地控制家居,创造更加舒适化、安全化、人性化、智能化的居住环境。
主人可以在下班的路上打开家中的空调,炎热的夏天,回到家使可以感觉清凉;可以远程控制电饭煲、微波炉、热水器等,回家便可以吃饭洗澡;可以远程监控室内环境,随时了解家中状况,确保了安全舒适的家居环境。
现代家居不仅将一些静止的设备转变为具有能动智能的工具,使得家居与外部环境保持信息的交流,实现了信息的全方位交互。
随着家居数字化、建筑智能化及其相关技术的发展,智能家居正逐渐改变人们的生活方式和工作方式,智能化家居将逐步走入人们的生活。
因此研究基于智能手机的智能家居控制系统非常有必要。
1.2 完成情况基于Android的智能家居控制系统有两种方案,方案一为面向WiFi家庭服务器的智能家居控制系统,方案二为面向Web的智能家居控制系统。
方案一为深圳松本公司设计开发,方案二课题来源于山东建筑大学智能建筑技术重点实验室研发的建筑用电设备物联网系统。
本文设计了一种安全性强、易扩展、低成本、个性化强的智能家居控制系统,此系统以开源的Android操作系统为平台,利用Android系统提供的各种资源建立智能家居控制系统客户端软件。
面向WiFi家庭服务器的智能家居控制系统实现了本地控制家电的功能,同时在Android智能客户端界面上可以显示家居设备的运行状态,可以通过配置文件灵活替用户修改主要界面、底图、色彩等,并能够加载MSN,实现用MSN即时通讯软件对家电进行远程控制,而向Web月浸务的智能家居控制系统以BEIOT为基础,设计了一款以Android移动设备为客户端,BEIOT中管理计算机为服务器的智能家居远程控制系统,系统实现了对远程家居设备的集中控制和管理,完成了对家居环境及家居智能设备的工作状态的检测,情景模式设计可以一键同时控制不同区域不同功能的家居设备,省力省心,Android交互式图形界面设计直观美观、个性化强,具有良好的用户体验效果。
2. 开发相关技术及方法2.1 开发环境(1)硬件环境:ARM微处理控制器(2)软件环境:C、java、JSP、SQL Server 20082.2 相关技术及方法智能家居控制系统采用Wi-Fi、手势识别、Web Service等技术,具体如下几个方面:(1)Wi-Fi技术Wi-Fi网络工作至少需要一个接入点和一个客户端。
接入点每隔100毫秒会将服务单元标识(Service Set Identifier, SSID)经由信号台(beacons)封包广播一次,信号台封包的传输速率是1 Mbps且数据包长度非常短,因此广播动作对网络的影响可以忽略不计。
由于Wi-Fi协议指定的最小传输速率是1 Mbps,因此可保证所有的Wi-Fi客户端均可收到SSID广播封包,客户端可根据SSID 的名称以及信号的强度选择与某个SSID连接。
Wi-Fi提供了两种基本的工作模式:Infrastructure模式和Ad-hoc模式。
Infrastructure模式由一个无线接入点和多个无线终端站点组成,主要为无线接入点覆盖范围内的各站点提供服务。
Ad-hoc模式也称为点对点模式(Pear to Pea:模式),由一组无线终端组成,作为独立的基本服务单元,此模式不需要其他额外设施的支持即可使覆盖范围内的站点通信。
(2)手势识别技术(3)Web Service技术3. 系统分析3.1 可行性分析从技术、经济、社会三个方面分析本系统的可行性,具体如下几个方面:(1)技术可行性分析智能家居产品是运行在嵌入式操作系统中,故此掌握嵌入式操作系统核心技术是确保产品稳定和商业化的重要保障。
本科专业为嵌入式,掌握通信行业嵌入式操作系统的核心技术,其中包括:硬实时内核技术、无碎片内存管理技术、消息驱动的通信框架技术、防突然断电的文件系统保护技术、优化的数据处理技术等(2)经济可行性分析(3)社会可行性总之,本系统在技术方面、经济方面、社会方面是可行的。
3.2 需求分析3.2.1 性能需求通俗来讲,性能就是系统的计算和响应速度。
用户对性能的要求没止境,但现实却是残酷的。
性能受到许多因素的影响,包括业务需求、系统架构、编程语言、数据库设计、算法设计等。
因此,在设计实现智能家居系统时,应当尽可能地识别并解决这些性能问题,以满足用户的苛刻要求。
3.2.2 功能分析(1)用户管理用例:主要指用户设置、用户注册与登录等和用户相关的信息处理。
(2)软件设置用例:??????????????。
(3)视频监控用例:??????????????。
(4)软件升级用例:??????????????。
(5)设备管理用例:??????????????。
通过和小区业主的充分交流,同时参考市场上同类产品的相关功能,设计用例图模型。
系统用例图如图1所示:图1 系统用例图3.2.3 行为模型状态图通过???????????????制。
本文用状态图进行行为需求分析。
系统状态图如图2所示:图2 系统状态图4. 系统设计4.1 总体设计本系统是建立一个基于安卓系统控制系统,为了方便用户可以手机远程操控和集中操控。
本系统分为两个模块一个是手机程序控制模块,另一个是设备终端控制模块。
系统功能模块结构图如图3所示:图3 系统功能模块结构图下面是对于各个模块的简单描述:(1)??????模块:????????????????????。
(2)??????模块:????????????????????。
(3)??????模块:????????????????????。
(4)??????模块:????????????????????。
4.2 详细设计4.2.1 用户登录控制模块的设计此模块的功能是:记录用户对系统内容的相关自定义操作。
当用户登录后,系统自动载入用户之前的所有界面定义,模式定义,使用户更加快捷的对家居设备进行控制。
用户登录控制模块的设计流程图如图4所示:图4 登录控制模块设计流程图4.2.2 ?????????模块的设计此模块主要功能是:????????????????。
网路管理模块的设计流程图如图5所示:??????????图5 网路管理模块设计流程图4.2.3 ????????模块的设计此模块的功能是:用户可以通过这个模式了解家中电器或设施的开关状态并且进行控制。
在开关模式下,用户可以按照自己的需求自定义家居模式,可以更加快捷的进行操作。
温度控制模块的设计流程图如图6所示:图6 温度控制设计流程图4.3 数据库设计4.3.1 概念结构设计对上述的总体设计和需求分析之后,我们已对各个模块及其功能进行了初步的分析。
在此阶段,我们可根据模块中各实体之间的相互联系和各数据表之间的相互关联,系统的E-R图如图7所示:图7 系统数据库E-R图4.3.2 逻辑结构设计由于本文所设计的系统选用关系型数据库管理系统,所以使用关系模型来描述逻辑数据结构。
下面给出的逻辑数据结构:??????????????????????????????????????????????????????????????????????????????????????????????4.3.3 数据表设计本文所设计的系统采用MySQL数据库管理软件,系统所用到的数据库物理数据结构表。
(1)用户信息表此表描述了用户的用户名ID、用户名、用户登录密码。
其中UserID是此表的主键。
此表具体内容如表1所示:表1 用户信息表属性.类型描述约束UserID Int 用户ID 主键UserName Varchar(50) 用户名非空Password Varchar(50) 用户登录密码非空(2)家电设备信息表此表描述了??????????。
此表具体内容如表2所示:表2 家电设备信息表属性类型描述约束(3)矢量编码表此表描述了?????????????????????????。
此表的具体内容如表3所示:表3 矢量编码表属性类型描述约束(4)手势命令表此表描述了???????????????????????。
此表的具体内容如表4所示:表4 手势命令表属性类型描述约束5.系统实现5.1 用户注册界面用户注册界面可以设置??????????????????。
用户注册界面如图8所示:图8 用户注册界面5.2 用户登录界面此界面????????????????????????。
用户登录界面如图9所示:图9 用户登录界面5.3 手机端远程桌面控制实现界面用户可以在手机端实现对智能设备的控制。
手机端远程桌面控制实现界面如图10所示:图10 手机端远程桌面控制实现界面6. 系统测试6.1 测试方法主要有2种测试方法:白盒测试和黑盒测试,本次测试主要采用黑盒测试。
???????????????????????????????????????????????????????黑盒测试?????????????????????????????????6.2 测试用例及结果系统功能测试采用黑盒测试方法对系统的各个功能进行测试,不考虑系统内部结构。