蓝牙技术在家庭网络中的应用-家电控制.pdf_第1页
蓝牙技术在家庭网络中的应用-家电控制.pdf_第2页
蓝牙技术在家庭网络中的应用-家电控制.pdf_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

收稿日期: 2001212211 基金项目:信息产业部国家重点项目(19991118)资助 作者简介:房 胜,硕士研究生,研究方向为数字化家电网 络控制平台和蓝牙无线技术.钟玉琢,教授,博士生导师,研究方向为视频编码技术,视频点播,信息家电等. 蓝牙技术在家庭网络中的应用-家电控制 房 胜,钟玉琢 (清华大学 计算机科学与技术系,北京100084) 摘 要:家庭网络是一种新兴的网络,具有不同于传统网络的特性.家电的连接和控制是其重要的组成部分.采用蓝 牙联网技术的家庭网络,与采用电话线等进行联网的技术相比,具有不用连线,架构简单的特点.本文详细介绍了如 何使用蓝牙技术实现家庭网络中的家电控制,并对家电的接口设计进行了探讨. 关 键 词:蓝牙;家庭网络;家电控制;串口 中图分类号: tp393. 03 文献标识码 :a 文 章 编 号: 100021220(2003)1021870203 application of bluetooth in home network-consumer electron ics control fan g sheng, zhon g yu2zhuo (d epartm ent of computer s cience home network; consumer electronics control; serial port 1 引 言 近年来,嵌入式计算技术飞速发展,已经扩展到了通信及 家电产品等行业,并由此引发了数字化家电的革命.数字化信 息家电的出现和网络技术的发展使得网络开始进入家庭,从 而出现了 “数字化家庭网络” 的概念. 实现家庭网络的主要目标在于将家庭内部的家电进行联 网.由于家庭网络应用领域的特殊性:面向家庭,因此家庭 网络具有自己的特点: 连接的设备主要是家电产品,种类繁多,而且没有统 一的接口标准 网络中的组成对象要求较高的动态特性,当设备加 入或删除时,不需要对网络重新进行配置 对网络的操作要求简单,方便,也即网络的管理系统 具有较高的自发性,不需要用户过多的干预由于蓝牙技术本 身面向移动环境的特性,因此设备的加入和删除将是非常方 便的;而其无线的特性,也使网络的管理更加简单.本文将 对使用蓝牙技术进行的家电控制给予探讨,并尝试建立标准 的家电接口. 2 系统环境和构成 由于我们现在无法把蓝牙芯片直接安装到各种类型的家 电上,因此我们采用计算机模拟家电的方法进行实验.实验 中采用的蓝牙设备是由摩托罗拉提供的2块pcm c i a接口 的pc卡,和2块u sb接口的pc卡.4块pc卡的设计均遵 循蓝牙sig组织制定的蓝牙1. 0规范.摩托罗拉公司为其蓝 牙设备提供了a p i函数库.我们使用两台笔记本电脑(操作 系统为 w in98) 结合pcm c i a卡,两台台式机(操作系统为 w in2000)结合u sb卡组成实验系统. 图1 基于蓝牙的家电控制软件结构 fig. 1 the architecture of ce control software based on bluetooth 对于家电的控制,由于其数据流量较小,因此采用串口 技术进行数据的传送.在系统中家电控制应用程序首先调用 串口函数建立串口连接以传送数据,而串口连接则通过串口 模拟的方式映射到蓝牙相应的信道上整个系统的软件架构 第24卷 第10期 2003年10月 小 型 微 型 计 算 机 系 统 m i n i- m icro system s vol124 no. 10 oct. 2003 如图1所示. 3 蓝牙设备的连接 蓝牙设备的连接分为两步:首先发现附近蓝牙设备并与 其建立物理连接.然后在物理连接的基础上根据应用程序的 要求建立逻辑信道连接(channel connection ). 发现附近的蓝牙设备包含了以下两个过程: inquiry过程,该过程又包含了paging过程.paging 图2 建立蓝牙serial port profile连接的界面 fig. 2 the interface of setting up bt serial port profile connection 过程在基带协议层的基础上建立一个acl类型的物理连接, 它包括了连接建立发起者(m aster)的page动作和响应该连 接的设备(slave)的page scan动作.其函数调用为: hresul t hr = m_pbluetooth2 inquiry(i nqu iry_ l en gth, 0); 其中, m_pbluetooth是指向bluetooth com组件接口 的智能指针(smart pointer ). 在进行inquiry过程中,系统处 于不可中断状态. 当该过程完成后,附近处于活动状态的蓝牙设备的地址 被存于m aster设备的一个列表中,因此该过程又可称为设 备发现过程(device d iscovery ). 在设备发现过程完成后还可 以进行名称发现过程(n ame d iscovery ). 其相应的函数调用 为: hrsul t hr =m_pbluetooth2 requestremote friendlyn ame(raw_addr ); 在inquiry过程完成后,如图2双击所要与之建立连 接的远程设备,即可完成lm p层的连接(l inking)建立,然 后请求并获得远程设备所具有的服务,即服务发现过程.在 此过程中,进程将首先获取系统中存在的蓝牙各个profile 对应的com组件接口的智能指针,如果成功,则请求其相应 的服务.以serial port profile为例,其关键代码如下: trace(“serial port profilen“); ? ?serial port profile dgaspp: : i btserialportprofileptr pspp; ? ? 指向com组件中蓝牙串口porfile的智能指针 hr = pspp. getactiveobject(dgaspp: : clsi d_btserial portprofile ); ? ? 获得系统中蓝牙串口porfile组件接口的iunknown指针 if(succeeded(hr ) hr = pspp2 getremoteservices(addr, ? ? 获取远程设备的服务列表 . . . . . . . . . . . . 在服务发现过程完毕之后, remote profiles列表框中列 出了远程设备具有的蓝牙配置文件, remote services列表中 列出了与每一个profile对应的服务.由于要把串口连接映 射到蓝牙的逻辑信道连接上,我们选择提供模拟串口连接规 范的serial port profile,其服务定义的默认串口端口为 com 3.如图3,该连接对应蓝牙协议栈的l 2ca p 层(logic l ink control and a daptation protocol ). 其关键代码如下: dgaspp: : i btserialportprofileptr pspp; hr=pspp.getactiveobject(dgaspp: : clsi d_btserial2 portprofile ); if(succeeded(hr ) ccomobject3phandler; ? ? 指向串口组件事件接收器的指针 ccomobject : : createinstance ( ? ? 创建串口组件事件接收器实例 phandler2 connect(pspp ); ? ? 建立串口组件事件接收器与蓝牙serial port profile的组 件接口之间的连接 hr = pspp2 connect(addr, l_name. copy(), r_name. copy (); ? ? 建立与远程设备之间的基于serial port profile的连接 图3 蓝牙协议栈与对应的连接过程 fig. 3 the correspondence between the bt stack and connection procedure 4 家电的控制 当蓝牙设备已经完成模拟串口上的连接时,我们可以使 用标准的方式进行串口编程,但是端口号必须与蓝牙设备模 拟的串口端口相符.串口的设置情况见图4. 当串口的设置完成后,建立串口连接之后,要设置通信 178110期 房 胜 等:蓝牙技术在家庭网络中的应用2家电控制 掩码,运行端口监视线程,当有数据到来时,进行数据的读 取工作.其关键代码如下: overlapped os; os. hevent = createevent(null , tru e, false,null ); ? ? 创建用于端口监听线程的事件 if(! setcommm ask(pcom, ev_rxchar)? ? 设置通信掩码 return false; while(g_comstat. m_bconnected) ? ? 当串口连接存在时,则一直进行端口监听 w aitcommevent(pcom, ? ? 端口监听 if( (dwevtm ask ? ? 当有数据到达时,读取端口中的数据 就可以开始对家电的控制.在家电的控制中,由于家电 种类繁多,因此其接口的设计比较重要.我们尝试把家电的 接口分为如下: 图4 串口的设置 fig. 4 the setting up of com 1.家电通用信息,包括家电的名称,生产厂商,款式, 生产日期等. 2.家电硬件接口信息,包括rom芯片的类型,大小, 驱动信息等. 3.家电工作控制接口,此接口根据不同的家电类型,具 有不同的结构,如冰箱,主要有电源开关,温度,时间等,空 调,则有电源开关,温度,冷风,热风,时间等. 据此,我们可以读取家电的信息状态,并且重新设置其 工作状态. 5 结 论 使用一般的串行线进行家电控制,由于主控机器同各个 模拟家电的机器其物理连接是等同的,因此当主控机器发出 指令时,所有的模拟机器都会收到该指令.这就要求模拟机 器通过身份辨认的方法确定该指令是否是发给自己的.而采 用蓝牙技术,当一个发起设备建立了同一个响应设备之间的 串口连接后,该发起设备在没有断开原来的串口连接时,不 能再与其他的响应设备建立串口连接,这样就省去了身分辨 认的问题. 同时,由于应用程序的连接(connection ), 是建立在各 种逻辑信道的基础上,如图3,因此该发起设备在保持串口连 接的状态下,依然可以与其他的响应设备建立除串口连接之 外的其他连接程序,如基于file t ransfer profile的文件传 送,基于object push profile的名片传送,基于lan profile 的局域网连接等.因此,采用蓝牙技术对家电进行控制的同 时,可以使家庭网络完成更多的功能. 在家庭网络中一个很重要的方面,就是家电接口的设 计.本文中采用了数据结构的方式,定义了一些通用的家电 接口.由于家电的种类层出不穷,数据结构的方式在应用扩 展中会受到很大的限制,采用接口(interface)传递成员函数 (m ethod)的接口规范,将是我们下一步研究的方向.而采用 接口传递成员函数的方式,则要求在服务器中实现服务的注 册和查询,这就要求在蓝牙的服务发现协议(sdp)中增加服 务注册机制,因此如何在家庭环境中进一步优化蓝牙网络的 性能,将是我们另一个研究方向. references: 1specification of the bluetooth system2coreeb?ol.available on http:? ?www. bluetooth. com 2specification of the bluetooth system2profileeb?ol.avail2 able on http:? ?www. bluetooth. com 3digianswer bluetooth software suite, sdk version 1. o, pro2 gram manualeb?ol.available on http:? ?btsw s. digianwer. com 4golden g, richard iii . service advertisement and discovery: en2 abling universal device cooperationj.september2october 2000, ieee internet computing. 5fang sheng, tian shu2zhen, zhong yu2zhuo. a new service dis2 covery model of the bluetooth based home networkc.the tenth national conference of m ultimedia technology,oct. 2001. 6 lou ying. th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论