当前位置:首页 > 通信技术 > 通信技术
[导读]本文介绍蓝牙遥控系统的设计与实现,给出了基于SmartPhone的系统解决方案,成功实现了对幻灯片的遥控播放和控制,系统采用了一种全新的方法以获得实现蓝牙通信所需的参数,并且使用了Office自动化过程实现对powerpoint的全面控制,系统完成后经过测试运行良好。与目前市场上的产品相比,不需要购买额外的硬件设备,在SmartPhone平台中具有广泛的应用前景。

1.引言

蓝牙技术是一种解决短距离无线通信的技术,它的优势在于可摆脱设备间的电缆连接 的束缚,并且能使10 一l00m 距离内具有蓝牙接口的不同设备之间实现互连,因此蓝牙在 短技术短距数据传输中具有非常广阔的应用。

Windows Mobile 系统是Microsoft 公司为智能移动终端设备设计的嵌入式操作系统, Windows Mobile 系统主要针对两大手持设备领域:Pocket Pc 和Smartphone,随着技术的发 展,以Windows Mobile for Smartphone 为系统的智能手机使用越来越广泛,而且广泛内嵌蓝 牙模块,为开发基于SmartPhone 的蓝牙应用系统提供了必要条件。

本文在 Windows Mobile 5.0 平台和.NET CF 环境下,设计并实现SmartPhone 蓝牙遥 控器系统,成功实现了Smartphone 对PC(或笔记本)中幻灯片的遥控播放和控制,与市场 上目前的产品相比,该系统不需要购买额外的硬件设备,只需利用已有设备,在SmartPhone 平台中具有广泛的应用前景。

2.Windows Mobile 中蓝牙通信协议栈

Windows Mobile 系统下的蓝牙通信协议栈底层部分包括无线跳频、基带(Base Band)和 链路管理(Link Manager)。Base Band 负责跳频和蓝牙数据及信息帧的传输,确保Piconet 网 内各蓝牙设备单元之间由射频构成的物理连接,该层使用查询和寻呼进程来使不同设备间的 发送频率和时钟同步,基带数据分组提供同步定向连接SCO 和异步无定向连接ACL 两种物 理连接方式,在同一射频上可实现多路数据传输。Link Manager Protocol 负责蓝牙组件间连 接的建立和拆除以及身份鉴别和加密等链路安全和控制。其结构如图1 所示。

HCI(Host Controller Interface)分为硬件和软件部分,硬件部分用来传递HCI 命令至蓝 牙的硬件核心层,软件部分是访问蓝牙设备的基本接口,能够控制蓝牙的连接和传输。逻辑 链路控制适应协议(L2CAP)是高层协议和低层协议之间的一个适配协议,通过协议的复用、 分用及重组为高层提供数据业务和分类提取。SDP 协议用来查询设备的信息、服务及服务 特征,并在查询后建立蓝牙设备间的连接。在应用层实现蓝牙通信时有两种方式可以选择: 一是利用模拟串口,在Windows Mobile 中不是真正的串口而是虚拟串口,这种虚拟串口建 立在RFCOMM 通道上,虚拟串口是用来仿真RS-232 控制和数据信号的串行仿真协议,操 作虚拟串口时如同操作真正的串口。第二种通信方式则利用Winsock 协议,Winsock 对蓝牙 的支持依赖于设备中安装的Winsock 协议栈。使用虚拟串口实现蓝牙设备间的通信,在数据 通信量不大的情况下更加方便快捷,所以本设计采用的第一种通信方式。

3.系统设计与实现

3.1 系统结构

系统分为 SmartPhone 端和PC 端。首先SmartPhone 端与PC 端通过虚拟串行口建立蓝牙 的通信连接,然后SmartPhone 端通过键盘或触摸屏向PC 端发送文件打开、幻灯片播放、 翻页、关闭、窗口放大、窗口缩小、文件关闭等指令,PC 端在收到指令后调用后台Office Powerpoint 控制程序,实现对Powerpoint 对应的操作,同时PC 端传回Powerpoint 播放的状 态信息在SmartPhone 端进行显示。

3.2 蓝牙设备间的数据传输

SmartPhone 端在利用蓝牙模块与PC 端进行通信前,首先要对PC 端的蓝牙设备进行查 询搜索,来获得设备的名称、地址、所提供的服务等相关信息。在以往的系统设计中,设备 查询需要调用相关的蓝牙API 函数来遍历取得通信范围内的蓝牙设备信息,并将结果信息 存入系统定义的WSAQUERYSET 数据结构中,然后再通过注册虚拟串口,实现设备间的蓝 牙串行通信,整个过程复杂并且容易出错,或者有的系统干脆采用手工指定的方式。本系统 则采取一种新的方法,通过读取系统的注册表,来查询相关的蓝牙设备名称、服务以及使用 的虚拟串口号。在Windows Mobile 5.0 平台中, 注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftBluetoothDevice 下存储了蓝牙设备的设 备名称、16 位字符的ID 号以及设备的CLASS , 而 HKEY_LOCAL_MACHINESOFTWAREMicrosoftBluetoothSerialPorts 下则存储了蓝牙连 接所使用的虚拟串口号,但不包含系统保留的串口标识。在这个键值下系统为每一个匹配的 设备都设定了一个蓝牙串口号,而且可以通过指定"New Outgoing Port"值设定设备的新虚拟 串口号。

利用这种新的机制就不在需要使用传统的RegisterDevice()方法去注册虚拟串口号 然后使用,而是通过查询或设定注册表进行使用,而不与别的串口相冲突。 通过对以上方法获得设备及虚拟串口号的信息后,再利用这些信息实现 SmartPhone 端 和PC 端的蓝牙通信。通信过程的流程图如图2 所示:

3.3 Powerpoint 控制解决方案

系统采用方便灵活的Microsoft Office 自动化方法将 Office 功能并入自定义解决方案 中。Office 基于 COM,因此必须使用 COM 的编程方式。.NET Framework 中使用COM Interop 集实现与早期 COM 的通信。COM Interop 的作用是在 .NET 代码与COM 对象之 间添加一个“填充程序”。在项目中添加对 COM 服务器的引用时,.NET 使用类型信息生 成运行库可调用包装 (RCW) 的代码。这些托管代码将被编译到单独的Interop 程序集中, 并由 .NET Framework 访问,RCW 充当托管代码与 COM 服务器之间的媒介。

由于 OFFICE COM 服务器能够支持 .NET,它可以提供一个安装并注册到全局程序集缓 存中的主 Interop 程序集 (PIA)。这些程序集都是共享程序集,PIA 被视为在 .NET 项目中 引用早期 COM 服务器的最佳方法。

从类型库创建的 Interop 程序集使用早期绑定与 COM 项目进行通信。为了让绑定细节保持通用状态,除了绑定外,另一个重要问题是对象实例化。如果使用 Interop 程序集, Office 应用程序的 RCW 将在使用 New 运算符时控制对象实例化。RCW 隐含调用相应的 COM 例程来创建该应用程序的新实例供代码使用。

本系统通过引用互操作程序集 Microsoft.Office.Interop.PowerPoint 实现Office 自动化过 程,利用.NET 编写应用程序来实现在PC 端控制Powerpoint 应用程序。PC 端通过蓝牙通信 接收SmartPhone 端发来的指令,利用 Powerpoint 的自动化功能实现文档的打开、关闭、缩 放、播放等控制功能,并且将获得的Powerpoint 的总页数、当前播放页等信息返回给 SmartPhone 端进行显示。理论上来说通过用户界面手动执行的操作几乎都可以通过该解决 方案来执行。主要控制代码如下:



4.结束语

本文就蓝牙遥控系统提出了相应解决方案,进行了设计与开发, 系统完成后经过测 试运行良好,可方便快捷的实现对Powerpoint 进行遥控控制。按照以上给出的设计框架和 方法,对系统进行扩展后,完全可以实现对其它多种应用软件的遥控,实现通用蓝牙遥控器 系统。

本文创新点是系统采用了一种全新的方法以获得蓝牙通信所需的参数,与传统方法 相比更加简单、方便,不易出错。并且系统使用了Office 自动化技术实现对powerpoint 的 全面控制,该系统不需要购买额外的硬件设备,只需利用已有设备,在SmartPhone 平台 中具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭