基于手机控制的智能家居系统研究与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
技术创新
杜守理:学士
基于手机控制的智能家居系统研究与设计
The Research and Design of An Aptitude Home Control System Based on Mobile Phone
(西北农林科技大学)
杜守理徐杨
DU Shou-li XU Yang
摘要:本文研究以手机作为遥控器,采用蓝牙技术控制智能家电的嵌入式控制系统。
本系统以ARM 11作为后台服务和控制器,前台客户端程序基于手机蓝牙J2ME 技术,研究了后台服务和控制器搭建过程以及蓝牙手机、控制器和智能家电体系结构,设计和实现了J2ME 蓝牙远程通讯,包括CGI 视频摄像头控制、基于L2CAP 协议的蓝牙视频传输、各类传感器测控等方面。
测试结果表明,系统功能符合设计要求,能够实现蓝牙控制智能家电。
关键词:手机蓝牙;L2CAP 协议;J2ME 程序设计;CGI 技术;蓝牙视频传输中图分类号:TP302.1
文献标识码:A
Abstract:This paper study of using mobile phones as a remote controller,the control of the intelligent home appliances use Blue -tooth technology based on embedded control system.This system uses ARM 11as the background service and controller,the client program based on mobile Bluetooth J2ME Programming.A detailed description of the background services and the building process of controller;Bluetooth phones,controller and intelligent home appliance system structure,designs and achieves J2ME Bluetooth remote communication,including video camera control based on CGI control technology,Bluetooth video transmission based on L2CAP com -munication protocol,the measurement and control of all kinds of sensors,etc.Test results show that the system fit with function with design requirements,is able to realize the Bluetooth control intelligent home appliances.
Key words:Mobile Bluetooth;L2CAP protocol;J2ME Programming;CGI technology;Bluetooth video transmission
文章编号:1008-0570(2012)10-0087-04
1引言
蓝牙是一种支持设备短距离通信(一般10m 内)的无线电技术,蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信。
采用时分双工传输方案实现全双工传输。
本文利用蓝牙技术开发一个基于手机的嵌入式控制系统,它具有成本低,适用面广,实用性强,操作简单,数据传输效率高,等特点,考虑到绝大部分手机具有蓝牙功能,可和具有蓝牙模块的嵌入式系统相结合,使手机具备遥控器的功能,可实现智能家电遥控器的整合。
2系统关键技术
2.1蓝牙通讯协议
蓝牙协议栈采用分为蓝牙模块和蓝牙主机两部分。
蓝牙模块包括HCI 层以下的所有协议,有硬件内的固件实现,负责接受和发送主机中的信息;蓝牙主机包括HCI 层及其上的所以协议,都是以软件的形式实现,并运行服务和应用程序。
所有的服务应用都是基于蓝牙主机的不同协议层实现的。
蓝牙技术的系统结构分三个部分:(1)底层硬件模块;(2)中间协议层;(3)高层应用。
其中,底层硬件模块设计调频与纠错编码等通讯原理,蓝牙技术的关键部分在于其中协议层。
本文研究的智能家电控制系统最基本的原理是使用中间协议层的蓝牙无线API.。
蓝牙中间协议栈描述了蓝牙技术的基本原理,分为硬件和软件两个部分,蓝牙硬件协议栈有设备硬件提供,蓝牙软件协议
栈则由软件实现。
蓝牙软件协议栈是开发人员关心的主要部分,蓝牙协议栈整体架构如图2-1:
图2-1L2CAP 协议
2.2CGI
CGI 通讯定义了Web 服务器与CGI 脚本之间的接口标准,其主要功能是在Web 环境下,从客户端传送一些信息给Web
服务器,Web 服务器把接受到的有关信息放入环境变量,然后再去启动所指定的CGI 脚本以完成特定的工作,CGI 脚本从环境中获取相关信息来运行,最后以HTML 格式输出相应的执行结果返回给浏览器端。
由于用户能传递不同的参数给CGI 脚本,所以CGI 技术使得浏览器和服务器之间具有交互性。
本系统中应用CGI 技术,实现客户端网页对摄像头转动角度的控制,CGI 原理图如图3-2:
技术创新
2.3Web服务器
Web技术为核心的基于互联网的网络测试和控制设备。
其
执行3种基本功能:(1)静态和动态网页信息发布。
(2)提供接口
监测现场设备;(3)提供接口控制现场设备。
BOA服务器是一个
小巧高效的Web服务器,是一个运行于Linux下的、支持CGI
的、适合于嵌入式系统的单任务的http服务器。
它能够完成接
收客户端请求、分析请求、响应请求、向客户端返回请求结果等
任务,在本系统作用是作为底层服务器,将摄像头捕获的图像通
过蓝牙或者有线的方式发送到PC端。
它的工作过程主要包括:
(a)完成Web服务器的初始化工作,如创建环境变量、创建
TCP套接字、绑定端口、开始侦听、进入循环结构,以及等待接
收客户浏览器的连接请求。
(b)当有客户端连接请求时,Web服务器负责接收客户端请
求,并保存相关请求信息。
(c)在接收到客户端的连接请求之后,分析客户端请求,解
析出请求的方法、URL目标、可选的查询信息及表单信息,同时
根据请求做出相应的处理。
(d)Web服务器完成相应处理后,向客户端浏览器发送响
应信息,关闭与客户机的TCP连接。
图2-3Web服务器原理图
3系统设计
3.1系统总体说明
3.1.1系统需求分析
从嵌入式应用的观点来看,本系统具有以下意义:
(1)智能手机与家居的结合,采用手机作为客户端,使手机
成为家居的遥控器,可实现智能家电遥控器的整合。
而且手机端
程序移植方便,有塞班系统的智能手机均可移植使用。
同时手机
蓝牙弥补目前的即时通讯软件部分是有限Internet环境的不
足,同时提高传输数据的速度。
(2)蓝牙通讯系统承载层采用蓝牙地址绑定,不是IP的网络
特点,这样可以节约很多短消息的即时通讯费用,同时提高了通
讯效率。
(3)蓝牙技术具有成本低,数据传输率高,功耗低,芯片体积小
等特点,利用蓝牙技术进行聊天效率高,机器寿命长,芯片成本
低。
3.1.2整体设计说明
基于手机控制的智能家居系统总体分为两部分:上位
机——
—手机蓝牙控制平台,下位机ARM11后台服务器。
本系统
模拟图如图3-1:
上位机其功能是利用蓝牙通信与ARM11蓝牙服务器连
接,发送控制命令到服务器端,实现对客户端的控制,本部分是基
于J2ME平台开发的,采用蓝牙L2CAP通信协议栈和J2ME无
线通信API实现。
下位机主要是蓝牙服务器,采用蓝牙地址连接技术,在手机
客户端绑定蓝牙地址,在连接的时只需要搜索蓝牙地址进行配
对连接。
下位机主要作用是为蓝牙通讯控制搭建后台控制,与客
户端进行通讯,互传数据,并且对系统各种传感器进行监测,实现
电器的智能控制,比如控播放器、风扇和电灯等。
系统功能图如
图3-2:
3.2系统局部功能说明
3.2.1基于手机蓝牙的J2ME控制程序
基于蓝牙的J2ME控制程序是在J2ME无线蓝牙API开发
的,主要功能如下:
(a)通过搜索蓝牙信号与服务器端进行连接,初始化设备,进
入家居控制程序。
(b)作为客户控制端,通过与蓝牙服务器通讯控制家电。
(c)程序可以接受家电传送过来的信息,用户使用手机可以
通过此程序随时了解房屋内信息,比如温度和湿度等。
3.2.2Linux平台下多媒体视频播放器
运行在ARM11上的视频播放器,采用嵌入式Qt embedded
4.3.1作为软件框架,设计方面包括从播放器软件构架整体设计,
解码中间件以及播放器界面等模块设计;实现方面涉及播放器
的播放控制,播放界面以及Qt embedded4.3.1软解码中间件等
模块设计;控制方面,播放器中嵌套监听蓝牙进程,等候客户端蓝
牙服务,搜索到客户端蓝牙信号后,则与进行蓝牙地址链接,如果
没有搜索到,返回。
3.2.3门禁视频监控
门禁视频监控是在ARM11上运行摄像头程序,摄像头的
控制是通过客户端蓝牙远程发送命令实现的。
在ARM11上运
行蓝牙监听程序,监听客户端发送来的蓝牙命令,从而控制视频
播放器和摄像头的不断切换。
3.2.4室内视频监控
室内视频监控是通过在ARM11用CGI技术来建立的
BOA服务器,SPCASERV视频服务器,可实现用HTML和蓝牙来
控制。
我们在摄像头下面安装步进电机,可以分别用蓝牙和网线
发送命令来控制摄像头转动,通过HTML来设计网页,在HTML
的控制网页上,添加了若干个控制按钮,分别控制摄像头转动的
角度。
技术创新
3.2.5传感器应用
传感器监测在智能家居系统中占据比较重要的位置,为了全方位完成对房间信息的监控,我们布置了种类丰富的传感器,主要有温湿度传感器、热释红外传感器、声控传感器、烟雾传感器、震动防盗传感器。
每种传感器的作用如表1-1所示:
表3-1各个传感器功能表
4系统功能实现
4.1上位机功能实现
上位机主要是通过J2ME 实现的,基本行为主要概括为:初始化、发现周围蓝牙设备和服务、与蓝牙设备进行连接、发送控制命令、接受服务器传输数据。
在具体实现时,上位机的主要功能是与服务器之间进行通讯,主要包括发送控制命令和接受控制命令。
主要流程是:启动上位机程序,输入密码进行身份识别,如果密码正确,开始搜索蓝牙服务器并与之建立连接,确定连接后,发送命令到蓝牙服务器实现控制,基本步骤如图4-1:
蓝牙地址链接主程序如下:
public void connect(final String url){//链接函数
new Thread(){//以进程的方式进行蓝牙链接public void run(){try {if(Client.getConn()!=null)
{
Client.getConn().close();}
L2CAPConnection conn0=(L2CAPConnection)Connector.open(url);//蓝牙地址连接代码快,url 是蓝牙的地址
Client.setConn(conn0);}catch (IOException e){
e.printStackTrace();
}}
}.start();//启动蓝牙链接进程
}
4.2下位机功能实现
下位机基于ARM Linux 开发,在ARM 11上搭建蓝牙服务器,与客户端进行蓝牙无线通讯,实现控制家电的功能。
下位机主要实现包括以下几个方面:
4.2.1ARM 11开发环境
系统基于蓝牙技术,因此在UP-CUP6410搭建蓝牙服务器。
首先烧写ARM 11内核,再配置系统根系件系统,即根文件系统中添加蓝牙驱动,在根文件系统中加载dbus 和bluez 蓝牙支持库,此部分主要是为蓝牙服务搭建后台运行环境。
4.2.2视频服务器和Web 服务器环境运行环境配置
本系统采用spcaview 作为的视频服务器,BOA 作为Web 服务器是。
spcaview 为摄像头视频采集模块搭建后台运行环境,BOA 为了实现蓝牙视频发送和CGI 视频控制。
4.2.3摄像头转动控制实现
摄像头转动的控制是基于步进电机的控制实现的。
在PC 上搭建CGI 客户端,在ARM 11上搭建Web 服务器,通过HTML 触发BOA Web 服务器,驱动底层CGI 程序控制步进电机转动;搭建传感器控制驱动,实现对传感器的管理和控制;搭建播放器运行环境,建立监听程序,使客户端可以远程控制视频播放器。
5系统运行与测试
本系统服务器端在UP-CUP6410上运行进行测试,客户端测试的测试基于塞班平台手机。
系统主要测试蓝牙通讯过程中蓝牙通讯连接效率,干扰环境下的无线蓝牙控制。
5.1系统测试方案
在测试干扰环境下蓝牙的控制效率时,本系统采用运行多个蓝牙服务器,多个客户端的方法的进行干扰测试。
同时运行多个嵌入式平台,每个嵌入式平台都运行多个蓝牙服务器监听,运行多个客户端蓝牙程序,搜索蓝牙服务的方法进行干扰测试。
5.2系统测试过程
5.2.1蓝牙连接测试过程
本系统首先采用地址配对的方式进行蓝牙连接,即客户端运行蓝牙搜索服务,然后与服务器进行地址配对,配对成功后,即与服务器建立链接成功,然后登陆家居管理模式。
客户端在搜索蓝牙服务,由于环境干扰,与蓝牙服务器配对会有0.5秒到2.3的延时,平均延时为1.1秒钟。
当一个客户端成功与服务器端连接成功,其他的客户端无法与蓝牙服务器进行配对连接,只有当前客户端与服务器端连接取消后,其他客户端才能连接,一次有且仅有一个客户端能有服务器端蓝牙连接。
在客户端程序中绑定服务器蓝牙的地址,连接蓝牙服务如图5-1,登陆家居管理系统5-2:
图5-1程序初始化
图5-2蓝牙链接5.2.2干扰环境下的无线蓝牙控制测试过程
在与服务器成功建立链接后,在干扰环境下,
客户端通过蓝牙与服务器之间进行通讯,可以获得服务器端家电和传感器的状态,进而通过客户端对家居控制,测试系统反映时间。
登陆到家居管理模式后,即可进入家居主操作界面如图4-3,通过主操作界面测试干扰对蓝牙的影响,主要测试蓝牙通讯对厨房,客厅,卧室,卫生间,和客厅的控制和信息获取。
通过客户端在外界干
技术创新扰的条件下,利用蓝牙通讯从传感器获取家居温湿度信息,和对
播放器和电灯的控制,蓝牙的控制和信息获取平均延时0.5秒
钟。
客厅控制图如图5-4所示:
图5-3家居主操作界面图5-4客厅控制图
5.3测试结论:
在多重蓝牙服务干扰的条件下,会导致客户端蓝牙搜索服
务产生延时,每次与蓝牙服务器有且仅有一个客户端能有服务
器成功连接,保证了系统通讯的安全性,和可靠性;蓝牙通讯在干
扰环境下对系统的控制也会有产生延时。
6结束语
本文设计并实现了嵌入式系统在家居中智能控制系统,具
有智能,操作简单,普及率高,安全可靠,移植方便等特点。
由于
手机蓝牙在嵌入式家居中的应用是个较新课题,目前基于手机
蓝牙的家居控制很少,因此本文开发手机智能家居控制具有一
定难度。
在今后的工作中,将增加传感器控制,手机蓝牙视频传
输等功能,以满足更多客户需求。
文章创新点:系统开发基于智能手机面向蓝牙的应用,方便
用户使用和系统移植。
系统界面美观,操作简单,安全可靠。
手机蓝牙可控功能多,系统应用广泛。
可以作为手机遥控器控
制家电,实现家电手机控制。
本文无抄袭,作者全权负责版权事宜。
参考文献
[1]詹建飞.Java ME核心技术与最佳实践[M].北京:电子工业出
版社,2007
[2]SING LI,JONATHAN KNUDSEN.BEGINNING J2ME:FROM
NOVICE TO PROFESSIONAL[M].美国:APRESS,2005
[3]陈良银.C语言程序设计[M].北京:清华大学出版社,2006
[4]孟庆昌.Linux教程[M].北京:电子工业出版社,2008
[5]詹建飞.Java开发精解[M].北京:电子工业出版社,2006
[6]俞国红.BlueIM_基于蓝牙的手机即时通信软件[J].计算机
工程,2009,35(17):258-261
[7]刘丽霞,庄奕琪.嵌入式Java蓝牙构建模型的研究与应用[J].
微计算机信息,2010,8-1:16-18
[8]陈学凯.嵌入式流媒体播放器的设计[D].浙江省杭州市:浙
江大学,2005
[9]丁月华.基于J2ME的手机程序开发与研究[J].武汉工业学院
学报,2006,25(3):40-44
[10]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007
[11]王道乾,刘定智,文俊浩.基于ARM处理器的MP3播放器的
分析与实现[J].计算机工程与设计,2007,28(7):1595-1597
作者简介:杜守理(1989-),男(汉族),陕西省咸阳市杨陵区人,学
士。
2009年入西北农林科技大学信息工程学院计算机科学与
技术系学习,主要从事分布式系统、嵌入式控制及应用研究。
徐杨(1980—),男(汉族),贵州省贵阳市人,西北农林科技大学信
息工程学院,副教授。
2003年9月进入中国科学院近代物理研
究所硕博连读,并于2008年获得中国科学院工学博士学位。
2008年7月进入西北农林科技大学信息工程学院任教。
从事研
究分布式系统、嵌入式控制及应用研究。
(712100陕西杨陵西北农林科技大学信息工程学院)
杜守理徐杨
通讯地址:(712100陕西省杨陵区西北农林科技大学信息工程
学院)杜守理
(收稿日期:2011.10.28)(修稿日期:2012.01.28)。