基于SmartPhone的蓝牙遥控系统设计与实现
来源:电子工程世界 作者:—— 时间:2010-03-03 11:44
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 端进行显示。