专业综合实验报告课题名称:远程灯光控制系统班级:姓名:学号:指导教师:完成日期:电子信息学院ElectronicInformationSchool目录一.课程设计题目与分析................................................................................................................................31.1课程设计题目..................................................................................................................................31.2设计题目的应用领域......................................................................................................................31.3课程设计题目的分析......................................................................................................................3二.整体的系统设计方案.............................................................................................................................42.1智能灯光app软件需求分析.........................................................................................................42.1.1功能需求分析......................................................................................................................42.1.2性能需求分析......................................................................................................................42.1.3非功能性需求分析..............................................................................................................52.2智能灯光app硬件需求分析.........................................................................................................62.3系统的总体架构设计.....................................................................................................................62.3.1系统结构及环境设计..........................................................................................................62.3.2APP功能模块划分.............................................................................................................7三.系统硬件设计.........................................................................................................................................93.1OCROBOTMANGOIIArdunio兼容板.......................................................................................93.2HC-06无线蓝牙串口模块.....................................................................................................10四系统软件设计.........................................................................................................................................114.1蓝牙设备搜索与匹配功能模块实现...................................................................................114.2ArdunioIDE编程...............................................................................................................15五系统测试及结果.....................................................................................................................................175.1智能灯光系统测试................................................................................................................17六总结.........................................................................................................................................................18参考文献.......................................................................................................................................................19一.课程设计题目与分析1.1课程设计题目远程灯光控制系统1.2设计题目的应用领域物联网的不断发展,推动了智能行业的前进步伐。受限于传统单片机的繁琐复杂,单片机领域的ardunio应运而生。Arduino,是一块基于开放源代码的USB接口Simplei/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道lObitADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境。让您可以快速使用Arduino语言与Flash或Processing...等软件。1.3课程设计题目的分析通过对本课题的分析,远程灯光控制系统是基于androidNDK的智能手机开发技术,设计实现一套基于ardunio/android的智能手机控制灯光系统,使得物联网技术应用到实践中,为创建未来智能家居提供有力素材。二.整体的系统设计方案2.1智能灯光app软件需求分析2.1.1功能需求分析随着人们生活水平的提高,人们从追求物质的要求越来越高,科技的不断进步,改变着人们的日常生活方式。物联网技术和智能手机的兴起使得智能家居的发展进入到一个崭新的阶段。用户可以通过智能手机,在任何地方任何地点控制家用电器。光,在整个人类的发展中具有不可磨灭的作用,人类也在不断的进行光的探索,从自然的火光到爱迪生发明的白炽灯到后来的彩灯,人类对光的运用越来越成熟,对光的要求也越来越高。为了满足不同人群对光的不同要求,本文运用软件工程的思想开发一套基于android手机的APP系统,搭配arduino开发板来实现手机对灯光的各种控制。2.1.2性能需求分析智能灯光手机软件核心功能包括:灯光的打开、关闭;调节灯光的亮度;调节灯光的颜色;灯光的闪烁等几个部分。用户进入系统后根据不同的需要对灯光进行相应的控制。系统的用例图如下所示:图2-1app用例图“灯光的开关”作为智能灯光手机软件的基础核心模块,它提供给用户控制接入的不同灯的开关功能。举例来说,用户接入的总共有三个灯,包括厨房,客厅,卧室三个独立不同的灯,当用户进入APP时,可以根据需要,从三个灯中选择一个进行控制。图2-2灯光颜色调节活动图2.1.3非功能性需求分析作为一款控制灯光的APP软件,其界面的安全性和可靠性都是必须的。为了能使用户放心的使用软件,一些保证安全性和可靠性的措施是必须提供的。同样,为了能吸引用户使用,还需要增强软件的稳定性和友好性。因此在设计软件时需要考虑如下几个方面:①安全性由于某些病毒或木马程序在移动终端传播迅速,为了避免出现用户的灯光被第三方控制,因此本文选用在通信连接的时候进行密码验证。应用到具体实验的例子中,为手机在首次与HC-06蓝牙模块进行连接时,需要输入密码验证,如果通过才能进行下一步操作执行,若密码错误则不能匹配成功,无法进行下一步的操作。另一种方式,可以打开APP软件时,进行密码验证,成功进入APP,失败则退出。但此种方式影响APP软件使用的便捷性,因此不再考虑。①操作友好为了能使用户更加方便快捷的使用该工具进行灯光的修改,应用程序在设计之时,其UI界面应该遵循人机交互设计原则,采用简单、亲和的界面,让用户在不需要任何教程的条件下,都可以根据界面选项进行相应的操作。②可靠、可维护、可移植软件在开发过程中,必须要保证软件的可靠性,这就要求软件在保证各基本需求功能的可用性以外,还需要保证在运行过程中,不出现闪退、停止工作或者等待时间过长等问题。同时,为了能够方便后续对软件功能的修改,在软件设计过程中,需要尽可能多的遵循“高内聚,低耦合”的软件工程思想,将代码模块化,并留有相应的接口,这样便可提高软件的可维护性。此外,由于本APP软件针对的使用平台为android平台,但目前市场上主流的手机操作系统还包括IOS及win-phone等,因此在设计之时,就应当考虑软件的可移植性,映射到系统开发中,就应当更多的使用混合开发的方式,尽量提高代码的可重用性,以便后续软件的移植。2.2智能灯光app硬件需求分析智能灯光系统是通过软硬件结合的方式开发的一套系统,在确保手机应用软件APP的正常实现的同时,也需要完善实现硬件端。根据软件端APP的需求进行分析,硬件部分所需要的材料如下:1.Arduino开发板一块本文所选用的是ocrobotmangoIIArdunio兼容板,它是基于ArduinoUnoR3重新设计的新发型版。与此开发板搭配的开发环境是ArduinoIDE1.0.4版本,其接口基于开放源代码,可以免费的下载和修改。2.HC-06蓝牙串口模块一块在整个系统中,该模块充当从机身份,与手机A