1、洛阳理工学院毕业设计(论文)摘 要随着与互联网,物联网,移动互联网等相关技术迅猛发展及其应用的逐步普及,智能家居开始慢慢走进大众的生活。在传统远程控制技术中,若要对远程设备进行监控,必须通过专用通信线,而如今将家居控制器通过嵌入式设备连入Internet网络也成为当前智能家居控制系统研究的热点领域,也是智能家居行业的发展方向。如何将互联网乃至移动互联网与智能家居设备结合起来,借助移动网络让用户更方便的对智能家居设备进行远程,本地控制成为了本设计的研究问题。本设计是将智能家居、嵌入式系统和WEB服务器三者结合起来,研究并构建远程智能家居控制平台,设计基于智能手机平台的WEB遥控器程序设计,使得用
2、户可以方便地在任何具有Internet的地方接入平台,通过智能手机浏览器对智能家居设备进行远程控制。 关键词:WEB应用程序,智能家居,嵌入式系统,远程控制 PROGRAM DESIGN OF A WEB REMOTE BASED ON SMARTPHONE PLATFORMABSTRACTWith the rapid development of Internet, content networking, mobile Internet technology and theirs applications of gradually popularizing, intelligent hous
3、ehold started go into part of our public life. In traditional remote control technology, if you want to monitor the remote device, it must pass by special line, but now putting household controller access Internet network through by embedded equipment has become a hot spot fields of the current smar
4、t home control system researching. Also it is intelligence household industrys development direction in future. The researching questions of this design is how to combine the Internet and the Mobile Internet and intelligent household equipments with mobile network to let users control intelligent ho
5、usehold equipment by remote or local more convenient. This design is to form intelligence household, embedded systems and WEB server a trinity, and then study and construct remote intelligent household control platform, and design a program of a web remote based on smartphone platform, and finally m
6、ake the user can easily remote control intelligent household devices in any where through by an Internet accessing smartphones browsers . KEY WORDS: WEB Application Program,Smart Home,Embedded System,Remote Control4目录前言1第1章 概 述21.1开发背景21.1.1程序设计的实际背景和意义21.1.2国内外相关领域的研究现状31.2程序开发所需环境3第2章 程序设计的技术准备52.
7、1程序设计框架的选择52.1.1 B/S架构工作原理52.1.2 B/S架构的优点52.1.3程序的开发架构62.1.4程序的运行架构62.2程序设计技术的选择62.3关系型数据库的实现72.3.1关系型数据库概念72.3.2 MySQL82.3.3 phpMyAdmin数据库管理软件82.4通信技术的选择92.4.1有线通信技术92.4.2无线通信技术92.5程序设计的硬件基础102.6程序通信协议的设计102.6.1协议基本规定102.6.2通信机制112.6.3协议格式112.6.4协议内容13第3章 程序功能总体分析143.1需求分析143.2程序实现功能143.2.1程序功能模块简介
8、143.2.2程序功能详细分析15第4章 程序总体设计174.1程序总体设计174.1.1程序总体运行原理174.1.2程序功能模块划分184.2数据库设计184.2.1数据库概念设计184.2.2数据库逻辑设计194.2.3数据库物理设计204.2.4数据库表关系22第5章 程序的详细设计245.1程序登录注册界面设计245.1.1程序登录设计245.1.2程序注册界面255.2程序主界面设计275.3程序功能设计275.3.1程序与控制有关功能介绍285.3.2背景音乐音源控制功能介绍28第6章 程序部分功能测试与结果分析306.1注册功能Ajax客户端验证测试306.2类别管理效果测试3
9、06.3专辑管理效果测试316.4添加下载歌曲管理效果测试326.5删除歌曲管理效果测试336.6背景音乐主机管理效果测试34结论35谢 辞36参考文献37附录38外文资料翻译39前言21世纪,网络与信息技术得到了高速发展。互联网,移动互联网,物联网等各种新技术的综合应用打破了人们传统的生产、生活方式,给人类社会带来了巨大的变化。借助信息技术所取得的成就,以及人们生活质量和居住条件的不断提高,人们的家庭住宅需求概念也发生了彻底变革,从以往追求居住空间的宽敞豪华向着享受现代化精神内涵与浪漫情趣的方向发展。人们更加渴望将家庭中各种电气设备通过一定的通讯手段连接到一起,使生活更加舒适、方便。而智能家
10、居正好满足了社会的这种需求,它通过家庭网络把各种信息设备和住宅设备有机的连接起来,并通过一定的控制策略协调彼此的工作状态,从而构成舒适安全的信息化居住空间,满足了人们在家庭生活中、工作中、娱乐中和交流中的需要,同时还可以提供安全防护、物业管理的手段。智能信息家电及智能家居系统具有安方便、高效、快捷、智能化、个性化的独特魅力,它对于改善现代人类的生活方式,创造舒适、安全、便利的生活空间有着非常重要的意义。近年来,随着嵌入式技术和网络控制技术的发展,人们开始追逐信息化的舒适生活。而智能家居就是指将各种信息设备通过家庭网络连接起来,从而构建安全、舒适、方便的信息化居住空间。家庭网络监控平台的设计是智
11、能家居系统的关键,基于TCP/IP技术和Browser/Server架构的远程控制系统,己经成为一种最普遍的网络信息交互平台。平台借助以太网和Internet技术,把嵌入式系统资源连接到网络上,用户通过浏览器实现对远端设备的监视和控制。第1章 概 述1.1开发背景1.1.1程序设计的实际背景和意义近年来,随着嵌入式技术和网络控制技术的发展,人们开始追逐信息化的舒适生活。而现阶段智能家居行业的初步定义就是将各种信息设备通过家庭网络连接起来,从而构建安全、舒适、方便的信息化居住空间。根据智能家居技术发展方向,再结合现代人对于居住环境舒适、方便、安全等多方面的要求,未来智能家居的发展趋势主要有以下几
12、点1:1. 采用功耗低、功能强大的嵌入式微处理器,在嵌入式操作系统平台的支持下,使智能家居成为包括安防、对讲、信息、家电控制、家庭数字影音为一体的智能化家居平台。2. 传输方式逐步走向多网合一,安防、对讲、门禁、抄表逐步走向统一的以太网连接。多网合一将大大减少对施工和维护的复杂度,而且提高了传输的可靠性。3. 从有线传输逐步走向无线。无线传输的特点就是灵活,其移动性和可扩展性是有线传输方式无可比拟的。现在市场上的大部分智能家居远程控制系统都是通过在智能手机,PDA,平板电脑等手持移动设备上下载安装基于C/S架构的专有客户端来进行远程控制。但是C/S架构不可避免牵涉到操作系统。现在主流智能手机操
13、作系统有的苹果的ios,谷歌的android,诺基亚的symbian,meego,微软的windows phone 7等等。虽然用户有了更多的选择,但是却给广大开发人员出了一个问题一个大难题:多平台客户端程序开发,无论是时间,人力等方面对中小企业来说都是棘手问题。互联网WEB应用发展迅速为开发者提供了解决方案,鉴于市场上的大部分智能手机都有功能强大的浏览器可用其来浏览web网页,或者通过移动互联网浏览wap网页。这样就可以绕过C/S架构,绕过客户端,实现远程控制。客户不需要经过繁琐的客户端程序下载安装过程,只需要打开移动设备登录自己已经保存的一个收藏网页地址。对开发者来说省去了平台移植的开发成
14、本,因此本课题很具有实际应用价值。1.1.2国内外相关领域的研究现状智能化住宅小区在发达国家起步较早,自从世界上第一幢智能建筑1984年在美国出现后,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案。智能家居在美国、德国、新加坡、日本等国都有广泛应用。1998年5月新加坡举办的“98亚洲家庭电器与电子消费品国际展览会”上,通过在场内模拟“未来之家”,推出了新加坡模式的家庭智能化系统。它的系统功能包括三表抄送功能、安防报警功能、可视对讲功能、监控中心功能、家电控制功能、有线电视接入、电话接入、住户信息留言功能、家庭智能控制面板、智能布线箱、宽带网接入和系统软件
15、配置等。1998年以来,信息家电受到信息、家电、通信厂商的广泛关注,许多公司把信息家电作为重要的发展方向,有的公司甚至认为信息家电是IT产业继PC之后第二个最为重要的产品。应用于智能化居住小区的基础产品,在发达国家已经成系列。美国、意大利、西班牙等国的产品,相当一部分已通过了国际质量认证,在国际市场上占据优势,其中典型的例子是世界首富比尔盖茨的“未来之屋”2。近日,谷歌在2011年I/O开发者大会上发布了AndroidHome,互联网巨头也盯上了智能家庭,智能家居行业。可见智能家居行业所具有广阔的市场前景。1.2程序开发所需环境1. 硬件平台计算机一台,CPU:具有较好的处理速度即可;内存:5
16、12M以上 配置有WEB服务器的高性能PC一台Mini2440开发板以及配套的工具一套 射频转发器一个平板电脑,或者智能手机一台 具有射频控制模块的插座若干 具有射频控制模块的电动窗帘一个 具有射频控制模块的背景音乐播放器一个 2软件平台计算机需要安装或部署:apache 服务器MySQL数据库管理工具phpmyadmin IE,Chrome,Firefox等浏览器一个 PHP开发工具Zend Studio 8.0 轻型脚本编辑器SciTE第2章 程序设计的技术准备2.1程序设计框架的选择 2.1.1 B/S架构工作原理B/S架构即Browser/Server,浏览器/服务器模式,是WEB兴起
17、后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Internet Explore,Chrome,Firefox,Safari等。服务器安装Oracle,Sybase,MySQL或SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。B/S架构工作原理图如图2-1所示: 图2-1 B/S架构工作原理图2.1.2 B/S架构的优点1. B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上
18、网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。2. 维护和升级方式简单。B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。3. 成本降低,选择更多。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务
19、器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,因此这种低成本的选择相当流行。2.1.3程序的开发架构本程序开发旨在解决多客户端给开发者带来的平台移植成本难题,结合B/S架构的众多优点,所以毫无疑问选择了Browser/Server模式。2.1.4程序的运行架构目前互联网上流行的网站构架方式是LAMP(Linux+ Apache + MySQL +PHP),即使用Linux作为操作系统,Apac
20、he作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除去人工成本)就可以建立起一个稳定、免费的网站系统。 2.2程序设计技术的选择 本设计采用的编程语言:以服务器端语言PHP为主,同时需要HTML,JavaScript,Ajax等脚本语言辅助。为什么选择PHP:1. 便捷性:程序开发快,运行快,技术学习门槛低。嵌入HTML:因为PHP可以嵌入HTML语言,它相对于其他语言,编辑简单,实用性强。2. 免费性:与其他技术相比PHP是免费的。3. 跨平台性强:由于PHP是运行在服务器端的脚本,可以
21、运行在Unix、Linux、Windows下。4. 效率高:PHP由于高效的内存管理,消耗相当少的资源。5. 图像处理:用PHP动态创建图像。6. 面向对象:PHP5中面向对象有了很大的改进,现在的PHP完全可以用来进行大型商业程序的开发。7. MySQL和PHP的结合,简单又高效。虽然PHP脚本语言具有以上众多优点,但是作为一种运行在服务器端的脚本语言,并不像传统的桌面应用程序那样完善且友好,所以需要其他一些辅助工具来帮助实现更加完善和友好。 JavaScript作为一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,就用来增加补充HTML网页的动态功能。同时由于设计还会遇到一些页面重载
22、,交互性等问题,我们就不得不使用Ajax这种技术。Ajax是不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过 Ajax,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面,因此Ajax可以使Web应用程序更小,更快,更友好。2.3关系型数据库的实现2.3.1关系型数据
23、库概念数据库技术产生于20世纪60年代末70年代初,是现代信息科学技术的重要组成部分,是计算机数据处理与信息管理系统的核心。随着计算机科学技术与网络通信技术的不断发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。关系型数据库3是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。数据库之间的关系是指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在用户要求从各
24、个相互关联的但不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。关系型数据库中有三种不同类型的关键字:主关键字(简称主键)、组合关键字和外关键字(简称外键)。2.3.2 MySQLMySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一
25、般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。2.3.3 phpMyAdmin数据库管理软件 数据库有了,可以使用命令行工具管理MySQL数据库(命令MySQL 和 MySqlAdmin),也可以使用phpMyAdmin。phpMyAdmin是由PHP写成的MySQL资料库系统管理程序,让管理者可用Web界面管理MySQL资料库。界面如图2-2所示:图2-2 phpMyAdmin界面图2.4通信技术的选择 2.4.1有线通信技术这种方式所有的控制信号必须通过有线方式连接,控制器端的信号线更是多得数以千计,如果遇
26、到问题排查也相当困难。有线方式缺点非常突出,布线繁杂、工作量大、成本高、维护困难、不易组网。这些缺点最终导致有线方式的智能家居只停留在概念和试点阶段,无法大规模推广。2.4.2无线通信技术目前可用于智能家居的几种无线通信方式:1. 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。但这种技术通讯距离太短,同时属于点对点通讯方式,对于智能家居的要求来说根本不适用。2. WIFI,也就是 IEEE 802.11b 的别称,是由一个名为“无线以太网相容联盟”(Wireless Ethernet Comp
27、atibility Alliance, WECA)的组织所发布的业界术语,它是一种短程无线传输技术,能够在数百米范围内支持互联网接入的无线电信号。它的最大特点就是方便人们随时随地接入互联网。但对于智能家居应用来说缺点却很明显,功耗高、组网专业性强。高功耗对于随时随地部署低功耗传感器是非常致命的缺陷,所以WIFI虽然非常普及,但在智能家居的应用中只是起到辅助补充的作用4。3. 无线射频,无线射频技术(RFID)广泛运用在车辆监控、遥控、遥测、小型无线网络、工业数据采集系统、无线标签、身份识别、非接触RF等场所,因此有厂商将其引入智能家居系统,但由于其抗干扰能力较弱,所以需要其他设备辅助。4. Z
28、igBee,是IEEE 802.15.4协议的代名词。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。从市场上支持射频的智能设备比较多,本程序设计的硬件支持等多方面的因素考虑,我们选择无线射频这个无线通信方式。2.5程序设计的硬件基础本程序由于属于智能家居行业,必须牵涉到硬件1. 智能网关由于本程序设备之间通信采用的是轻量级网络协议,要实现射频设备与Internet等外部TCP/IP网络之间的互联,必
29、须有一个用来完成协议转换的功能设备,这就是智能网关。智能网关主要功能应包括接入功能、业务功能和管理功能。接入功能完成家庭网络(由众多设备组成)与公共网络的连接。业务功能实现部分公共网络业务向家庭网络的演进,完成转发、控制、信令交换和编解码等功能。管理功能包括检测、DHCP、地址解析、防火墙、QoS保证等功能,保证智能网关的业务质量和安全。本设计的智能网关是由S3Cmini2440开发板加上相应的模块,硬件上面运行有操作系统和转发服务器程序,转发服务器程序的作用就是实现智能网关的业务功能。2. 转发器 转发器,顾名思义,就是用来转发指令的设备,由于智能网关与智能电器设备之间的连接会受到信号等的影
30、响,所以有时候需要转发器在中间作为桥梁转发智能网关发出的对智能设备的操作指令。3. 背景音乐主机背景音乐主机也是一个智能音箱,之所以智能是因为内部拥有一个简单的芯片,具有存储功能,同时也有无线模块,可以接收无线指令。2.6程序通信协议的设计2.6.1协议基本规定1. 一个系统内最多可以有1000个智能电器。2. 用户码用于区分不同用户,也用于区分不同的子系统。不同用户(或子系统)之间不能交换信息。3. 对于用户比较密集的情况,可采用不同的无线信号频段,避免用户之间无线信号相互干扰。4. 对于超过一个字节的数据对象,在传输时规定使用大端字节序(Big Endian)。例如:对于0x1122,低字
31、节存储0x11, 高字节存储0x22。2.6.2通信机制1. 通讯为主从通讯方式,命令发出要有应答,广播及消息不需要应答。2. 接收方接收到数据后,需要等待2ms时间再发送数据。3. 命令发送方发送指令后,如果得不到应答(不包括广播信息),至少等待1s,才能重发信息。4. 发送方发送命令完毕,需要有1s等待应答时间,如果1s无应答,认为超时。5. 发送方发送命令,得不到应答时,可重复发送两次相同的命令。6. 命令重发还得不到应答,认为目标电器为故障电器不存在。7. 接收方接收到数据不符合帧结构或没用定义的命令,认为是错误信息,接受方不做任何反应。8. 转发器只转发本用户非指向转发器的所有信息。
32、9. 设备执行针对自己的指令,只回应转发器信息或转发器转发信息,发送回应时,目的地址是请求指令中的源源地址。2.6.3协议格式1. 通讯数据包含字段通讯协议格式为统一格式,发送/接收遵循统一的字段顺序及定义。通讯定义包括帧头、帧尾、目的地址、源地址、数据长度、命令字、参数、原源地址及校验和。2. 通讯协议格式及说明表2-1通信协议说明表122211N211帧头用户码目的地址源地址长度命令参数原源地址校验和帧尾说明:(1) 所有数据以十六进制表示,参数部分如果需要其它表示方式,需明确指出参数类型及定义。(2) 上面表格中第一行表示协议格式各项所规定的字节数,第二行表示协议项名称。(3) 帧头、帧
33、尾各一个字节,用0XAA表示,固定不变。(4) 用户码是用户标志,区分不同的用户(系统),两个字节。 (5) 目的地址、源地址、原源地址各两个字节。(6) 目的地址是数据接收方地址。(7) 源地址是数据发送方地址,在转发器转发信息时,源地址更换为转发器地址。(8) 原源地址是数据发起方的地址(应答时获知发送命令方地址)。(9) 长度表示有效内容的长度,数据长度=命令字节数+参数字节数。(10) 命令是需要接受方执行某一动作指令,命令为一个字节。命令字范围:0X000X7F,应答时命令字等于发送命令字加0X80,即 应答命令字=指令命令字+0X80。(11) 参数是命令的辅助说明,表述细节或信息
34、,由一个或多个字节表述,参数最多242个字节。(12) 校验和占一个字节,是除帧头、帧尾以外所有字节之和,帧校验和只取和计算的低八位,计算方法如下:校验和=(用户码高位+用户码低位+目的地址高位+目的地址低位+源地址高位+源地址低位+长度+命令+参数+原源地址高位+原源地址低位)&0xff。2.6.4协议内容协议指令及应答按照表格的方式表达,表格第一行具体规定协议各部分字节数,表格第二行规定协议各部分数据表达含义及数值范围。参数数据类型默认十六进制,如果参数类型定义为其他类型,协议解释中会明确指出。 N表示参数字节个数。表2-2通信协议内容中英对照表USERRADDSADDSUMPARSOAD
35、D用户码命令接收方地址命令发送方地址校验和参数原源地址下面是程序的一些指令表:1. 开智能电器指令(命令:0x01)表2-3 开智能电器指令表字节数1222111211命令AAUSERRADDSADD0201PARSOADDSUMAA说明:开智能电器命令包括对背景音乐、电动窗帘、插座、插排开控制。参数PAR一个字节。2. 开智能电器应答(命令:0x81)表2-4 开智能电器应答指令表字节数1222111211命令AAUSERSOADDRADD0281PARRADDSUMAA说明:参数PAR为当前电器状态,每一位表示相应电路开关状态,1表示相应位开状态,0表示相应位关状态;对于调节插座开关、背景
36、音乐相当于第一路。对于电动窗帘,由于不能绝对表示它的开关状态,所以统一回复00。13洛阳理工学院毕业设计(论文)第3章 程序功能总体分析3.1需求分析根据市场调查分析,以及现阶段产品市场定位得出实际需求如下:通过系统程序设计可进行的功能控制模块有灯光控制,门窗控制,背景音乐控制,背景音乐音源管理,用户管理模块。根据需求分析得出系统功能图如下:同时,程序总体还具有以下要求:1. 由于操作人员计算机知识普遍较差,因此需要有良好的人机交互界面。2. 基本的用户访问权限管理。3. 方便的歌曲数据操作(查询,增加,修改,删除)。4. 支持简单的数据统计,最好以图表形式显示出来。5. 保证系统数据安全。6
37、. 退出功能。3.2程序实现功能3.2.1程序功能模块简介下面分模块对本程序需要主要实现的操作进行描述:1. 用户登录注册模块:用户通过注册将信息存储到数据库里,且只有通过登录验证才可以对其他控制模块进行操作。2. 背景音乐控制模块:用户通过页面上几个简单的按钮实现对背景音乐主机的播放,暂停,停止等操作。3. 灯光控制模块:用户通过页面上几个简单的按钮实现对射频插座的控制,从而控制灯的开关。4. 窗帘控制模块:用户通过页面上几个简单的按钮实现对射频窗帘的开,关的控制。5. 背景音乐音源管理模块:本模块下面有5个小模块,其功能分别是: (1) 专辑类别管理:对专辑类别表进行数据库的增删改操作。(
38、2) 专辑管理:对专辑表进行数据库的增删改操作。(3) 添加歌曲:通过手动添加歌曲信息,调用WebService下载歌到服务器指定地址,并对数据库进行相应的操作。(4) 删除歌曲:单独以专辑为单位搜索歌曲,并进行删除,包括对文件的操作。(5) 背景音乐主机:对背景音乐主机表进行数据库的增删改操作。3.2.2程序功能详细分析1. 用户登录注册模块登录相对简单,一个表单通过注册按钮讲页面导向注册页面。注册页面需要一些技术,为了提高网页的交互性,使用Ajax技术对网页实施局部刷新注册,即当光标离开了用户名这个表单域时候,数据通过与后台数据库的通信,验证是否已经存在。2. 背景音乐控制模块,灯光控制模
39、块,窗帘控制模块首先程序会与智能网关建立socket连接,为了检测智能网关设备是否正常运行,需要程序定时发送简单的通讯包,如果在指定时间段内未收到对方的响应,则判断对方已经死掉。出于效率的考虑,一般是由客户端主动向服务器端发包,这用于检测TCP连接是否异常断开。本程序中服务器端运行的网页代码就是客户端,而智能网关相当于服务器端。这固定的通讯包一般都叫作心跳包。当socket连接建立后,客户端需要发送指令给智能网关以获取射频设备当前的状态返回到页面用以显示,不一样的状态浏览器端可执行的操作不一样,因此这一点是非常重要的,关于这之间的通信规则在之前的通信协议设计已经阐述,再此处就不多做说明。代码方
40、面就是在建立连接后,根据状态发送正确的指令,由于这三个模块的主要功能实现上类似,因此在一起分析说明。当用户转向其他网页时候,程序会关掉开始建立的socket连接。3. 背景音乐音源管理模块(1) 专辑类别管理模块,专辑管理模块,背景音乐主机管理模块三者类似,都是几个简单的表单输入框,需要注意的有判定输入是否为空,增加修改数据时验证输入数据是否已经存在,输入非法字符时候需要程序自动给除去,所有的删除操作都要通过JavaScript弹框提示用户谨慎操作。 (2) 添加歌曲模块:同上面三个输入框需要实现的功能一样,程序需要在服务器端调用WebService,NuSoap是PHP环境下的WebServ
41、ice编程工具,也是通过HTTP收发SOAP消息的一系列类,运用它就只需要创建对象,并调用WebService接口。这是直接调用也是最简单的方法。 (3) 删除歌曲模块:因为删除文件是对文件的操作,所以单独独立出来。16第4章 程序总体设计4.1程序总体设计4.1.1程序总体运行原理用户通过智能手机,平板电脑等可移动互联网设备的浏览器接入到Internet后,在网页上进行操作,指令被打包通过HTTP和TCP/IP协议发送数据包到Web服务器,在服务器端再通过Internet将数据发送到智能网关,数据包在智能网关通过转发服务器程序的解析,被发送给各个设备。同时还需要从设备得到应答,指令就这样沿着
42、通路最后呈现在用户眼前。如图4-1所示:图4-1 程序架构图4.1.2程序功能模块划分模块化设计是当前主流的软件设计方法,它采用自上而下的思想将程序功能进行分解,把大的功能逐渐细分直至每一个可以独立完成的小功能模块。这样可以简化设计,提高效率。程序功能模块是具有独立功能和输入、输出的标准功能模块,所有的功能模块组合在一起就构成了一个完整的软件程序。根据程序需求分析,采用自上而下的模块化设计思想将程序功能进行细化。得到程序功能模块图如图4-2所示:图4-2 程序功能模块图4.2数据库设计4.2.1数据库概念设计根据本程序的需求分析,本程序主要的数据库分两部分:用户信息部分和背景音乐部分。归纳出如
43、下实体:用户、背景音乐主机、专辑、歌曲。其中用户和背景音乐主机是一种拥有关系;背景音乐主机和专辑是一种创建关系;专辑和歌曲是一种属于关系。所以实体E-R图,如图4-3所示:图4-3 数据库实体E-R图4.2.2数据库逻辑设计1. 本程序数据库设计原则:(1) 数据库表中的记录尽量使用自身编号来标明记录的唯一性。(2) 设计数据库表时既要考虑数据的冗余,又要保证数据库表不能过多。(3) 设计数据表时能程序赋初值的字段,就尽量赋初值。这样可以避免很多时候在程序中的判断。(4) 设计数据库表结构时要适当的做一些预留,以备后来功能的扩充。(5) 数据库设计时一定要在自己力所能及的范围内保证速度最快。提
44、高速度的方法就是写出优化的算法和多写一些存储过程和自定义函数。2. 数据库表逻辑设计:根据以上实体E-R图,经过转换可以导出数据库表的各个关系。(注:有下划线的为关键字。)专辑类别表(专辑类别ID号,专辑类别名);专辑表(专辑ID号,专辑名,专辑类别ID号);歌曲表(歌曲ID号,歌曲名,歌手,下载链接地址,专辑ID号,下载状态);背景音乐主机表(主机ID号,序列号,主机名,用户名,版本号);主机信息统计表(主机信息ID号,专辑ID号,专辑编号,歌曲ID号,歌曲数,序列号);用户表(用户ID号,用户名,真实姓名,密码,E-mail地址,移动电话)。4.2.3数据库物理设计根据上述E-R图和数据库
45、表逻辑关系,得出数据库表结构: 表4-1专辑类别表(category)列名数据类型备注ID (专辑类别ID号)int(11)主键name (专辑类别名)varchar(64)非空,UTF-8说明:鉴于背景音乐模块的程序设计是以专辑为单位,为了便于管理大量的专辑,给每个专辑分配唯一的专辑类别号。 表4-2专辑表(albums)列名数据类型备注ID (专辑ID号)int(11)主键name (专辑名)varchar(64)非空,UTF-8categoryID (专辑类别ID号)int(11)非空说明:专辑可以属于不同的专辑类型,每一个专辑只能属于一个专辑类别。这样将大量的专辑分开来管理,既便于分类
46、管理,又便于数据库查询。 表4-3歌曲表(musics)列名数据类型备注ID (歌曲ID号)int(11)主键name (歌曲名)varchar(64)非空,UTF-8singer (歌手)varchar(64)UTF-8,可以为空url(下载链接地址)varchar(256)非空,UTF-8albumID(专辑ID号)int(11)非空state(下载状态)int(11)非空,默认值0说明:歌曲名可以允许中英混合,符合实际需要。为了便于管理每首歌曲只能拥有一个专辑ID号,下载状态默认分为5种状态:0:未下载 1:已经下载 2:下载失败 3:准备下载 4:下载中 这样可以根据歌曲的下载状态进行更精细的管理,更便于数据库查询,搜索,避免了歌曲源文件的误操作。 表4-4背景音乐主
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922