基于智能手机平台的WEB遥控器程序设计.docx
- 文档编号:29362709
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:52
- 大小:2.23MB
基于智能手机平台的WEB遥控器程序设计.docx
《基于智能手机平台的WEB遥控器程序设计.docx》由会员分享,可在线阅读,更多相关《基于智能手机平台的WEB遥控器程序设计.docx(52页珍藏版)》请在冰豆网上搜索。
基于智能手机平台的WEB遥控器程序设计
摘要
随着与互联网,物联网,移动互联网等相关技术迅猛发展及其应用的逐步普及,智能家居开始慢慢走进大众的生活。
在传统远程控制技术中,若要对远程设备进行监控,必须通过专用通信线,而如今将家居控制器通过嵌入式设备连入Internet网络也成为当前智能家居控制系统研究的热点领域,也是智能家居行业的发展方向。
如何将互联网乃至移动互联网与智能家居设备结合起来,借助移动网络让用户更方便的对智能家居设备进行远程,本地控制成为了本设计的研究问题。
本设计是将智能家居、嵌入式系统和WEB服务器三者结合起来,研究并构建远程智能家居控制平台,设计基于智能手机平台的WEB遥控器程序设计,使得用户可以方便地在任何具有Internet的地方接入平台,通过智能手机浏览器对智能家居设备进行远程控制。
关键词:
WEB应用程序,智能家居,嵌入式系统,远程控制
PROGRAMDESIGNOFAWEBREMOTEBASEDONSMARTPHONEPLATFORM
ABSTRACT
WiththerapiddevelopmentofInternet,contentnetworking,mobileInternettechnologyandtheirsapplicationsofgraduallypopularizing,intelligenthouseholdstartedgointopartofourpubliclife.Intraditionalremotecontroltechnology,ifyouwanttomonitortheremotedevice,itmustpassbyspecialline,butnowputtinghouseholdcontrolleraccessInternetnetworkthroughbyembeddedequipmenthasbecomeahotspotfieldsofthecurrentsmarthomecontrolsystemresearching.Alsoitisintelligencehouseholdindustry'sdevelopmentdirectioninfuture.TheresearchingquestionsofthisdesignishowtocombinetheInternetandtheMobileInternetandintelligenthouseholdequipmentswithmobilenetworktoletuserscontrolintelligenthouseholdequipmentbyremoteorlocalmoreconvenient.Thisdesignistoformintelligencehousehold,embeddedsystemsandWEBserveratrinity,andthenstudyandconstructremoteintelligenthouseholdcontrolplatform,anddesignaprogramofawebremotebasedonsmartphoneplatform,andfinallymaketheusercaneasilyremotecontrolintelligenthouseholddevicesinanywherethroughbyanInternetaccessingsmartphone’sbrowsers.
KEYWORDS:
WEBApplicationProgram,SmartHome,EmbeddedSystem,RemoteControl
目 录
前 言
21世纪,网络与信息技术得到了高速发展。
互联网,移动互联网,物联网等各种新技术的综合应用打破了人们传统的生产、生活方式,给人类社会带来了巨大的变化。
借助信息技术所取得的成就,以及人们生活质量和居住条件的不断提高,人们的家庭住宅需求概念也发生了彻底变革,从以往追求居住空间的宽敞豪华向着享受现代化精神内涵与浪漫情趣的方向发展。
人们更加渴望将家庭中各种电气设备通过一定的通讯手段连接到一起,使生活更加舒适、方便。
而智能家居正好满足了社会的这种需求,它通过家庭网络把各种信息设备和住宅设备有机的连接起来,并通过一定的控制策略协调彼此的工作状态,从而构成舒适安全的信息化居住空间,满足了人们在家庭生活中、工作中、娱乐中和交流中的需要,同时还可以提供安全防护、物业管理的手段。
智能信息家电及智能家居系统具有安方便、高效、快捷、智能化、个性化的独特魅力,它对于改善现代人类的生活方式,创造舒适、安全、便利的生活空间有着非常重要的意义。
近年来,随着嵌入式技术和网络控制技术的发展,人们开始追逐信息化的舒适生活。
而智能家居就是指将各种信息设备通过家庭网络连接起来,从而构建安全、舒适、方便的信息化居住空间。
家庭网络监控平台的设计是智能家居系统的关键,基于TCP/IP技术和Browser/Server架构的远程控制系统,己经成为一种最普遍的网络信息交互平台。
平台借助以太网和Internet技术,把嵌入式系统资源连接到网络上,用户通过浏览器实现对远端设备的监视和控制。
第1章概述
1.1开发背景
1.1.1程序设计的实际背景和意义
近年来,随着嵌入式技术和网络控制技术的发展,人们开始追逐信息化的舒适生活。
而现阶段智能家居行业的初步定义就是将各种信息设备通过家庭网络连接起来,从而构建安全、舒适、方便的信息化居住空间。
根据智能家居技术发展方向,再结合现代人对于居住环境舒适、方便、安全等多方面的要求,未来智能家居的发展趋势主要有以下几点[1]:
1.采用功耗低、功能强大的嵌入式微处理器,在嵌入式操作系统平台的支持下,使智能家居成为包括安防、对讲、信息、家电控制、家庭数字影音为一体的智能化家居平台。
2.传输方式逐步走向多网合一,安防、对讲、门禁、抄表逐步走向统一的以太网连接。
多网合一将大大减少对施工和维护的复杂度,而且提高了传输的可靠性。
3.从有线传输逐步走向无线。
无线传输的特点就是灵活,其移动性和可扩展性是有线传输方式无可比拟的。
现在市场上的大部分智能家居远程控制系统都是通过在智能手机,PDA,平板电脑等手持移动设备上下载安装基于C/S架构的专有客户端来进行远程控制。
但是C/S架构不可避免牵涉到操作系统。
现在主流智能手机操作系统有的苹果的ios,谷歌的android,诺基亚的symbian,meego,微软的windowsphone7等等。
虽然用户有了更多的选择,但是却给广大开发人员出了一个问题一个大难题:
多平台客户端程序开发,无论是时间,人力等方面对中小企业来说都是棘手问题。
互联网WEB应用发展迅速为开发者提供了解决方案,鉴于市场上的大部分智能手机都有功能强大的浏览器可用其来浏览web网页,或者通过移动互联网浏览wap网页。
这样就可以绕过C/S架构,绕过客户端,实现远程控制。
客户不需要经过繁琐的客户端程序下载安装过程,只需要打开移动设备登录自己已经保存的一个收藏网页地址。
对开发者来说省去了平台移植的开发成本,因此本课题很具有实际应用价值。
1.1.2国内外相关领域的研究现状
智能化住宅小区在发达国家起步较早,自从世界上第一幢智能建筑1984年在美国出现后,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案。
智能家居在美国、德国、新加坡、日本等国都有广泛应用。
1998年5月新加坡举办的“98亚洲家庭电器与电子消费品国际展览会”上,通过在场内模拟“未来之家”,推出了新加坡模式的家庭智能化系统。
它的系统功能包括三表抄送功能、安防报警功能、可视对讲功能、监控中心功能、家电控制功能、有线电视接入、电话接入、住户信息留言功能、家庭智能控制面板、智能布线箱、宽带网接入和系统软件配置等。
1998年以来,信息家电受到信息、家电、通信厂商的广泛关注,许多公司把信息家电作为重要的发展方向,有的公司甚至认为信息家电是IT产业继PC之后第二个最为重要的产品。
应用于智能化居住小区的基础产品,在发达国家已经成系列。
美国、意大利、西班牙等国的产品,相当一部分已通过了国际质量认证,在国际市场上占据优势,其中典型的例子是世界首富比尔盖茨的“未来之屋”[2]。
近日,谷歌在2011年I/O开发者大会上发布了Android@Home,互联网巨头也盯上了智能家庭,智能家居行业。
可见智能家居行业所具有广阔的市场前景。
1.2程序开发所需环境
1.硬件平台
计算机一台,CPU:
具有较好的处理速度即可;内存:
512M以上
配置有WEB服务器的高性能PC一台
Mini2440开发板以及配套的工具一套
射频转发器一个
平板电脑,或者智能手机一台
具有射频控制模块的插座若干
具有射频控制模块的电动窗帘一个
具有射频控制模块的背景音乐播放器一个
2.软件平台
计算机需要安装或部署:
apache服务器
MySQL数据库管理工具—phpmyadmin
IE,Chrome,Firefox等浏览器一个
PHP开发工具—ZendStudio8.0
轻型脚本编辑器—SciTE
第2章程序设计的技术准备
2.1程序设计框架的选择
2.1.1B/S架构工作原理
B/S架构即Browser/Server,浏览器/服务器模式,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如InternetExplore,Chrome,Firefox,Safari等。
服务器安装Oracle,Sybase,MySQL或SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
B/S架构工作原理图如图2-1所示:
图2-1B/S架构工作原理图
2.1.2B/S架构的优点
1.B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
2.维护和升级方式简单。
B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
3.成本降低,选择更多。
现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,因此这种低成本的选择相当流行。
2.1.3程序的开发架构
本程序开发旨在解决多客户端给开发者带来的平台移植成本难题,结合B/S架构的众多优点,所以毫无疑问选择了Browser/Server模式。
2.1.4程序的运行架构
目前互联网上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除去人工成本)就可以建立起一个稳定、免费的网站系统。
2.2程序设计技术的选择
本设计采用的编程语言:
以服务器端语言PHP为主,同时需要HTML,JavaScript,Ajax等脚本语言辅助。
为什么选择PHP:
1.便捷性:
程序开发快,运行快,技术学习门槛低。
嵌入HTML:
因为PHP可以嵌入HTML语言,它相对于其他语言,编辑简单,实用性强。
2.免费性:
与其他技术相比PHP是免费的。
3.跨平台性强:
由于PHP是运行在服务器端的脚本,可以运行在Unix、Linux、Windows下。
4.效率高:
PHP由于高效的内存管理,消耗相当少的资源。
5.图像处理:
用PHP动态创建图像。
6.面向对象:
PHP5中面向对象有了很大的改进,现在的PHP完全可以用来进行大型商业程序的开发。
7.MySQL和PHP的结合,简单又高效。
虽然PHP脚本语言具有以上众多优点,但是作为一种运行在服务器端的脚本语言,并不像传统的桌面应用程序那样完善且友好,所以需要其他一些辅助工具来帮助实现更加完善和友好。
JavaScript作为一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,就用来增加补充HTML网页的动态功能。
同时由于设计还会遇到一些页面重载,交互性等问题,我们就不得不使用Ajax这种技术。
Ajax是不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
通过Ajax,您的JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。
通过这个对象,您的JavaScript可在不重载页面的情况与Web服务器交换数据。
Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面,因此Ajax可以使Web应用程序更小,更快,更友好。
2.3关系型数据库的实现
2.3.1关系型数据库概念
数据库技术产生于20世纪60年代末70年代初,是现代信息科学技术的重要组成部分,是计算机数据处理与信息管理系统的核心。
随着计算机科学技术与网络通信技术的不断发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。
关系型数据库[3]是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
数据库之间的关系是指明两个库之间共享一个共同的关键字值。
一个连接是指一种虚拟的表,这种表是在用户要求从各个相互关联的但不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。
关系型数据库中有三种不同类型的关键字:
主关键字(简称主键)、组合关键字和外关键字(简称外键)。
2.3.2MySQL
MySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
2.3.3phpMyAdmin—数据库管理软件
数据库有了,可以使用命令行工具管理MySQL数据库(命令MySQL和MySqlAdmin),也可以使用phpMyAdmin。
phpMyAdmin是由PHP写成的MySQL资料库系统管理程序,让管理者可用Web界面管理MySQL资料库。
界面如图2-2所示:
图2-2phpMyAdmin界面图
2.4通信技术的选择
2.4.1有线通信技术
这种方式所有的控制信号必须通过有线方式连接,控制器端的信号线更是多得数以千计,如果遇到问题排查也相当困难。
有线方式缺点非常突出,布线繁杂、工作量大、成本高、维护困难、不易组网。
这些缺点最终导致有线方式的智能家居只停留在概念和试点阶段,无法大规模推广。
2.4.2无线通信技术
目前可用于智能家居的几种无线通信方式:
1.蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。
能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。
但这种技术通讯距离太短,同时属于点对点通讯方式,对于智能家居的要求来说根本不适用。
2.WIFI,也就是IEEE802.11b的别称,是由一个名为“无线以太网相容联盟”(WirelessEthernetCompatibilityAlliance,WECA)的组织所发布的业界术语,它是一种短程无线传输技术,能够在数百米范围内支持互联网接入的无线电信号。
它的最大特点就是方便人们随时随地接入互联网。
但对于智能家居应用来说缺点却很明显,功耗高、组网专业性强。
高功耗对于随时随地部署低功耗传感器是非常致命的缺陷,所以WIFI虽然非常普及,但在智能家居的应用中只是起到辅助补充的作用[4]。
3.无线射频,无线射频技术(RFID)广泛运用在车辆监控、遥控、遥测、小型无线网络、工业数据采集系统、无线标签、身份识别、非接触RF等场所,因此有厂商将其引入智能家居系统,但由于其抗干扰能力较弱,所以需要其他设备辅助。
4.ZigBee,是IEEE802.15.4协议的代名词。
根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。
从市场上支持射频的智能设备比较多,本程序设计的硬件支持等多方面的因素考虑,我们选择无线射频这个无线通信方式。
2.5程序设计的硬件基础
本程序由于属于智能家居行业,必须牵涉到硬件
1.智能网关
由于本程序设备之间通信采用的是轻量级网络协议,要实现射频设备与Internet等外部TCP/IP网络之间的互联,必须有一个用来完成协议转换的功能设备,这就是智能网关。
智能网关主要功能应包括接入功能、业务功能和管理功能。
接入功能完成家庭网络(由众多设备组成)与公共网络的连接。
业务功能实现部分公共网络业务向家庭网络的演进,完成转发、控制、信令交换和编解码等功能。
管理功能包括检测、DHCP、地址解析、防火墙、QoS保证等功能,保证智能网关的业务质量和安全。
本设计的智能网关是由S3Cmini2440开发板加上相应的模块,硬件上面运行有操作系统和转发服务器程序,转发服务器程序的作用就是实现智能网关的业务功能。
2.转发器
转发器,顾名思义,就是用来转发指令的设备,由于智能网关与智能电器设备之间的连接会受到信号等的影响,所以有时候需要转发器在中间作为桥梁转发智能网关发出的对智能设备的操作指令。
3.背景音乐主机
背景音乐主机也是一个智能音箱,之所以智能是因为内部拥有一个简单的芯片,具有存储功能,同时也有无线模块,可以接收无线指令。
2.6程序通信协议的设计
2.6.1协议基本规定
1.一个系统内最多可以有1000个智能电器。
2.用户码用于区分不同用户,也用于区分不同的子系统。
不同用户(或子系统)之间不能交换信息。
3.对于用户比较密集的情况,可采用不同的无线信号频段,避免用户之间无线信号相互干扰。
4.对于超过一个字节的数据对象,在传输时规定使用大端字节序(BigEndian)。
例如:
对于0x1122,低字节存储0x11,高字节存储0x22。
2.6.2通信机制
1.通讯为主从通讯方式,命令发出要有应答,广播及消息不需要应答。
2.接收方接收到数据后,需要等待2ms时间再发送数据。
3.命令发送方发送指令后,如果得不到应答(不包括广播信息),至少等待1s,才能重发信息。
4.发送方发送命令完毕,需要有1s等待应答时间,如果1s无应答,认为超时。
5.发送方发送命令,得不到应答时,可重复发送两次相同的命令。
6.命令重发还得不到应答,认为目标电器为故障电器不存在。
7.接收方接收到数据不符合帧结构或没用定义的命令,认为是错误信息,接受方不做任何反应。
8.转发器只转发本用户非指向转发器的所有信息。
9.设备执行针对自己的指令,只回应转发器信息或转发器转发信息,发送回应时,目的地址是请求指令中的源源地址。
2.6.3协议格式
1.通讯数据包含字段
通讯协议格式为统一格式,发送/接收遵循统一的字段顺序及定义。
通讯定义包括帧头、帧尾、目的地址、源地址、数据长度、命令字、参数、原源地址及校验和。
2.通讯协议格式及说明
表2-1通信协议说明表
1
2
2
2
1
1
N
2
1
1
帧
头
用
户
码
目
的
地
址
源
地
址
长
度
命
令
参
数
原
源
地
址
校
验
和
帧
尾
说明:
(1)所有数据以十六进制表示,参数部分如果需要其它表示方式,需明确指出参数类型及定义。
(2)上面表格中第一行表示协议格式各项所规定的字节数,第二行表示协议项名称。
(3)帧头、帧尾各一个字节,用0XAA表示,固定不变。
(4)用户码是用户标志,区分不同的用户(系统),两个字节。
(5)目的地址、源地址、原源地址各两个字节。
(6)目的地址是数据接收方地址。
(7)源地址是数据发送方地址,在转发器转发信息时,源地址更换为转发器地址。
(8)原源地址是数据发起方的地址(应答时获知发送命令方地址)。
(9)长度表示有效内容的长度,数据长度=命令字节数+参数字节数。
(10)命令是需要接受方执行某一动作指令,命令为一个字节。
命令字范围:
0X00~0X7F,应答时命令字等于发送命令字加0X80,即应答命令字=指令命令字+0X80。
(11)参数是命令的辅助说明,表述细节或信息,由一个或多个字节表述,参数最多242个字节。
(12)校验和占一个字节,是除帧头、帧尾以外所有字节之和,帧校验和只取和计算的低八位,计算方法如下:
校验和=(用户码高位+用户码低位+目的地址高位+目的地址低位+源地址高位+源地址低位+长度+命令+参数+原源地址高位+原源地址低位)&0xff。
2.6.4协议内容
协议指令及应答按照表格的方式表达,表格第一行具体规定协议各部分字节数,表格第二行规定协议各部分数据表达含义及数值范围。
参数数据类型默认十六进制,如果参数类型定义为其他类型,协议解释中会明确指出。
N表示参数字节个数。
表2-2通信协议内容中英对照表
USER
RADD
SADD
SUM
PAR
SOADD
用户码
命令接收方地址
命令发送方地址
校验和
参数
原源地址
下面是程序的一些指令表:
1.开智能电器指令(命令:
0x01)
表2-3开智能电器指令表
字节数
1
2
2
2
1
1
1
2
1
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 智能手机 平台 WEB 遥控器 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)