0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Windows Mobile 5.0平台实现SmartPhone蓝牙应用系统的设计

电子设计 来源:微计算机信息 作者:杨瑞 2021-06-23 17:37 次阅读

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 平台中具有广泛的应用前景。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5767

    浏览量

    169813
  • 无线通信
    +关注

    关注

    58

    文章

    4520

    浏览量

    143414
  • 遥控器
    +关注

    关注

    18

    文章

    829

    浏览量

    65973
收藏 人收藏

    评论

    相关推荐

    Windows Mobile 开发常见问题集

    Windows Mobile2003平台上。14、Q:在模拟器上面开发程序,和真实环境有区别么?需要注意一些什么?  A:模拟器的仿真度十分高,Windows
    发表于 02-18 17:30

    怎样去设计一种基于SmartPhone蓝牙遥控系统

    本文介绍了一种基于SmartPhone蓝牙遥控系统设计与实现方案。
    发表于 05-31 06:44

    基于SmartPhone蓝牙遥控系统设计与实现

    本文介绍蓝牙遥控系统的设计与实现,给出了基于SmartPhone系统解决方案,成功实现了对幻
    发表于 01-20 14:10 39次下载

    微软已完成Windows Mobile 6.5开发

    微软已完成Windows Mobile 6.5开发     据国外媒体报道,微软Windows Mob
    发表于 05-21 00:53 638次阅读

    windows Mobile系统简介

    windows Mobile系统简介    Windows Mobile家族主要包括 Pocket PC、Pock
    发表于 05-21 01:16 1756次阅读

    windows Mobile系统介绍

     Windows Mobile家族主要包括 Pocket PC、Pocket PC Phone Edition、Smartphone、 Portable Media Center这4个
    发表于 06-19 12:02 1485次阅读

    Windows Mobile电源管理分析与实现

    Windows Mobile电源管理分析与实现  如今在以数码消费产品为代表的嵌入式系统领域,大多数系统采用电池供电,由于电池容
    发表于 12-22 17:19 1294次阅读
    <b class='flag-5'>Windows</b> <b class='flag-5'>Mobile</b>电源管理分析与<b class='flag-5'>实现</b>

    手机Windows mobile系列操作系统

    手机Windows mobile系列操作系统 Windows mobile 系列操作系统是在
    发表于 01-28 17:01 598次阅读

    基于SmartPhone蓝牙遥控系统设计与实现

    基于SmartPhone蓝牙遥控系统设计与实现 摘要:本文介绍蓝牙遥控系统的设计与
    发表于 02-02 11:29 803次阅读
    基于<b class='flag-5'>SmartPhone</b> 的<b class='flag-5'>蓝牙</b>遥控<b class='flag-5'>系统</b>设计与<b class='flag-5'>实现</b>

    MSMQ技术在Windows Mobile系统通信中应用

    MSMQ技术在Windows Mobile系统通信中应用  引言   随着3G网络技术、市场和政策的不断成熟,移动终端设备的使用量在急速增加,广泛应用各个领域。Windows
    发表于 03-10 11:09 922次阅读
    MSMQ技术在<b class='flag-5'>Windows</b> <b class='flag-5'>Mobile</b><b class='flag-5'>系统</b>通信中应用

    诠释Windows Mobile和WinCE在平台和应用方面

    刚开始进行嵌入式平台应用程序的开发,很容易对微软的一套架构的命名和版本产生混乱,笔者查阅了一些资料,对自己所掌握的Windows Mobile和WinCE在平台和应用方面的区别做些讲
    发表于 08-09 11:06 1087次阅读

    基于Windows Mobile的个人移动导航系统

    借鉴现有导航产品优点,结合GPS、GIS以及嵌入式开发技术,开发了个人移动导航系统。导航系统以微软的Windows Mobile 6.5为操作系统
    发表于 09-25 11:35 111次下载

    微软推送Windows 10 Mobile Build 15254.587系统安全更新

    微软正式推送了最新的Windows 10 Mobile Build 15254.587系统更新,这也是2019年9月份累积更新补丁,面向Windows 10
    的头像 发表于 09-11 17:31 1392次阅读

    Windows 7系统落幕后,Windows 10 Mobile再次宣告死亡

    据外媒报道称,微软发布的一份支持文档显示,Windows 10 Mobile操作系统将会延长到2020年1月14日,并且没有提供任何延长理由。而伴随着Windows 7
    的头像 发表于 01-16 09:01 1995次阅读
    <b class='flag-5'>Windows</b> 7<b class='flag-5'>系统</b>落幕后,<b class='flag-5'>Windows</b> 10 <b class='flag-5'>Mobile</b>再次宣告死亡

    移动路由器功能框图及外围电路设计 (smartphone-tablet-mobile-router)

    移动路由器功能框图及外围电路设计 (smartphone-tablet-mobile-router)
    的头像 发表于 06-07 15:32 845次阅读
    移动路由器功能框图及外围电路设计 (<b class='flag-5'>smartphone-tablet-mobile</b>-router)