`
wzhelp
  • 浏览: 47474 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

基于32feet.net对Broadcom(Widcomm)

    博客分类:
  • Net
阅读更多

基于32feet.net对Broadcom(Widcomm)

  阅读: 86 评论: 0 作者: Jake Lin 发表于 2009-11-17 06:44 原文链接

背景

Widcomm是第一个为Windows编写蓝牙Stack的公司,后来给Broadcom收购了,由于他是第一个,所以目前很多蓝牙设备都是使用 Broadcom Statck的。下面讲述如何使用32feet.net对基于Broadcom Statck的蓝牙设备进行开发。

本文的例子是基于 Windows Mobile 与 PC之间的通过蓝牙(Bluetooth) 传输文件的开发Windows Moible, Wince 使用.NET Compact Framework进行蓝牙(Bluetooth)开发 之 32feet.NET 的基础上修改的。

驱动安装

进行Broadcom stack的开发,必须安装该驱动程序,下面以XP为例子,说明Broadcom驱动程序的安装。

Broadcom-Bluetooth-1

插入Broadcom stack的蓝牙dongle。

Broadcom-Bluetooth-2

插入驱动程序的CD进行安装。

Broadcom-Bluetooth-3

安装完毕能看到该蓝牙设备。

32feet.net源码下载

到codeplex下载32feet.net最新的代码,由于最新的32feet.net的release没有包含对Broadcom stack的支持,所以需要下载build版本。最新的build版本下载地址如下:
http://32feet.codeplex.com/SourceControl/ListDownloadableCommits.aspx

Broadcom stack的Native DLL

如果使用Microsoft Stack,32feet.net可以直接调用Wince(Windows Embedded CE)和Windows Mobile内置的btdrt.dll和BthUtil.dll。但是使用Broadcom stack的情况就不一样了。32feet.net封装了Native的DLL来调用Broadcom的驱动。 在源码包里面已经包含了build好的DLL,看下图。

Broadcom-Bluetooth-4     

上图为PC的Native DLL。

Broadcom-Bluetooth-5  

上图为Windows Mobile的Native DLL。

32feet.net编译

打开\32feet-61144\InTheHand.Net.Personal_Widcomm下的解决方案。

Broadcom-Bluetooth-6 Broadcom-Bluetooth-7

分别编译InTheHand.Net.Personal.CF2和InTheHand.Net.Personal.FX2项目生成 32feet.net的.NET Assembly InTheHand.Net.Personal.dll.

项目引用的更新

把引用都更新到新编译的InTheHand.Net.Personal.dll。

Broadcom-Bluetooth-8

为了节省时间,我的例子是在原先文章的基础上进行修改的。原文参考  Windows Mobile 与 PC之间的通过蓝牙(Bluetooth) 传输文件的开发  

修改以支持Broadcom Stack

修改对InTheHand.Net.Personal.dll的引用。

注释设置PrimaryRadio.Mode 的调用,因为Broadcom(Widcomm) stack不支持设置PrimaryRadio.Mode 。

//InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode = InTheHand.Net.Bluetooth.RadioMode.Discoverable;
            

部署程序

PC端

和Microsoft Stack不一样,部署的时候不仅仅需要部署程序,而且需要部署Native DLL及其依赖的DLL。如果不部署这些依赖DLL,程序会抛出异常。这是之前 崔江 同学调试一直出错的原因。

Broadcom-Bluetooth-20

我把这些依赖的DLL都放到源码包里面了。

 

Windows Mobile端

Windows Mobile端相对简单,依赖的DLL本身已经安装到设备上去了。

Broadcom-Bluetooth-9

 Broadcom-Bluetooth-21

只是需要部署应用程序,inthehand.net.personal.dll 和 32feetWidcomm.dll就可以了。

配对蓝牙设备

程序运行的时候,需要手工配对。

Broadcom-Bluetooth-12

Broadcom-Bluetooth-13

但是在Microsoft Stack里面可以通过程序来配对的,可以参考 Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)设备配对的开发

测试基于Broadcom stack的文件传输程序

Broadcom-Bluetooth-11

两边都是Broadcom Stack,但是服务端接收到ObexListener的请求的时候会抛出异常,如下:

ObexListenerContext 
olc = listener.GetContext();

Broadcom-Bluetooth-10

因为Broadcom(Widcomm) Stack是不支持sockets的,所以Broadcom(Widcomm) Stack不能作为ObexListener来使用,我把ObexListener换成Microsoft Stack,一切运行正常。

源代码: http://files.cnblogs.com/procoder/BroadcomBluetoothObex.rar

如果需要换成Microsoft Stack,只需要换InTheHand.Net.Personal.dll的引用就可以了。

同时我也在 Windows Moible, Wince 使用.NET Compact Framework进行蓝牙(Bluetooth)开发 之 32feet.NET 的基础上做了一个两端都Broadcom Stack的通信程序。

源代码:http://files.cnblogs.com/procoder/BroadcomBluetooth.rar

我同时发现如果服务端为Broadcom Stack的程序,有挂死现象,我改成Microsoft Stack问题又解决了。

Broadcom-Bluetooth-14         

关于Broadcom Stack(Widcomm Stack)开发的建议

32feet.net对Broadcom Stack(Widcomm Stack)的支持是不完整的。支持情况可以参照这个文档:http://files.cnblogs.com/procoder/32feet-and-Widcomm-Broadcom.doc

我建议不是万不得已的情况下,不用使用Broadcom Stack(Widcomm Stack),使用Microsoft Stack很多问题都迎刃而解了。这里有一个文档讲述如何把非Microsoft Stack的设备安装Microsoft Stack。请参考:http://files.cnblogs.com/procoder/Belkin-F8T012-and-Microsoft-Stack.doc

进一步阅读

更多的蓝牙开发相关文章如下:

Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)开发 之 Windows Embedded Source Tools for Bluetooth

Windows Moible, Wince 使用.NET Compact Framework进行蓝牙(Bluetooth)开发 之 32feet.NET

Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)开发 之 蓝牙虚拟串口 (Bluetooth Virtual Serial Port) (可 以用于把Bluetooth的GPS receiver变成串口)

Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)设备配对的开发

30 Days of .NET [Windows Mobile Applications] - Day 02: Bluetooth Manager(蓝牙管理器) (简单的Bluetooth应用)

Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)广播程序的开发

Windows Mobile 与 PC之间的通过蓝牙(Bluetooth) 传输文件的开发

Windows Mobile下通过蓝牙(Bluetooth)发送大文件的实现

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    蓝牙开发包32feet.net 3.0

    32feet.net是一个开源的开发包,用于.net环境下的蓝牙、红外开发。支持wince平台和windows平台。对于stack方面支持 microsoft stack,widcomm、千月等常见驱动。

    Widcomm蓝牙驱动中文解密版 V5.0.1.801

    基于所有服务都有鉴定,加密和授权的配置. 用户可以通过定义某个远程设备访问的具体服务来限定对其的访问. -- 安全模式 3: 设备层次安全, 其他设备必须输入密码才能访问您的设备. 实现的蓝牙 功能 * 个人局域网...

    WIDCOMM Bluetooth Software for Windows

    Broadcom WIDCOMM Bluetooth® for Windows® software 支持:Windows 8/8.1, Windows 7, Windows Vista or Windows XP 需求:任一博通嵌入式或USB插头的蓝牙无线适配器 安装蓝牙无线适配器,请确认蓝牙功能已开启...

    Widcomm蓝牙适配器驱动 v6.0.1 免费版

    Widcomm蓝牙适配器驱动是一款万能好用的蓝牙驱动,适用于绝大多数...Widcomm蓝牙适配器驱动介绍蓝牙适配器驱动BTW(用于Windows的蓝牙软件)是业界应用最广泛的基于Windows的蓝牙软件。Broadcom公司推出的,欢迎下载体验

    Widcomm 5.0.1.801补丁

    1. **Widcomm简介**:Widcomm是一家提供蓝牙技术解决方案的公司,后被Broadcom公司收购。它的蓝牙软件允许用户通过蓝牙技术连接各种设备,如打印机、耳机、手机等。 2. **蓝牙技术**:蓝牙是一种短距离无线通信技术...

    破解版蓝牙驱动Widcomm

    万能蓝牙驱动破解版Widcomm

    Widcomm蓝牙驱动中文破解版v5.0.1.801

    Widcomm蓝牙驱动中文破解版v5.0.1.801

    WIDCOMM Bluetooth SDK develop kits

    WIDCOMM作为一家蓝牙技术提供商,曾推出了针对开发者的SDK(Software Development Kit),帮助开发者创建和测试蓝牙应用程序。 **WIDCOMM Bluetooth SDK** WIDCOMM Bluetooth SDK是专门用于开发蓝牙应用的工具集,...

    蓝牙驱动Widcomm 5.0.1.801.zip

    Widcomm是Broadcom公司的一个早期蓝牙软件解决方案,它提供了全面的蓝牙协议栈和支持服务,用于Windows操作系统。在本压缩包文件“蓝牙驱动Widcomm 5.0.1.801.zip”中,包含的资源旨在更新或修复用户的蓝牙驱动程序...

    Widcomm_patcher_v2.rar

    Widcomm_patcher_v2.exe是这个压缩包中的核心文件,它是一个可执行程序,用于对Widcomm蓝牙驱动进行修改和优化。运行这个补丁程序,可以实现以下功能: 1. **性能提升**:通过修补驱动代码,提高蓝牙设备的传输速度...

    Widcomm 5.0.1.801

    Broadcom通过持续地在我们的BTW软件中大力增加新的功能,推动蓝牙作为首要的消费类技术的发展,导致先进电子设备的用户获得便利和无杂波干扰的体验。” Broadcom?BTW5.0版软件包括很多功能,显著提高了装备蓝牙...

    WidComm Bluetooth

    This is a Widcomm bluetooth software crack

    hobd-1.1.1.wince

    8. `32feetWidcomm.dll`:这是32feet.NET库的一部分,专为与Widcomm Bluetooth芯片组兼容的设备提供蓝牙支持。 9. `hobd.exe`:这是主执行文件,启动并运行HOBD软件。 10. `default.gauge`:可能是一个默认的仪表...

    蓝牙通用驱动.Widcomm-Bluetooth

    蓝牙通用驱动,全部兼容,先安装,再插上蓝牙。

    WIDCOMM Bluetooth Software

    歡迎使用安裝 ® 嚮導開始安裝 WIDCOMM 藍牙軟體。3.按照安裝程式螢幕上的說明。4.安裝藍牙軟體之後,在初始藍牙設定精靈中,按一下下一步,並按照螢幕上的說明配置您的藍牙環境。注意: 如果您要更新現有的藍牙的 ...

    BTW_6_1_0_1506_SDK

    Widcomm是一家在蓝牙技术领域领先的公司,后来被Broadcom公司收购,因此这里的标签“Broadcom Bluetooth Widcomm”结合了这两个品牌。 Bluetooth Widcomm SDK是一个开发环境,它允许软件开发者创建能够利用蓝牙无线...

    INTHEHAND无线通信开发库

    在提供的子文件"InTheHand.Net.Personal_Widcomm"中,我们可以看到该库对Widcomm Bluetooth SDK的支持。Widcomm是蓝牙技术的早期领导者之一,其SDK提供了丰富的蓝牙开发接口。结合"InTheHand"库,开发者可以利用这些...

    Widcomm 5.0.1.801 破解补丁

    破解和原来没有什么区别,还是替换四个文件,不过在你破解完以后插上蓝牙适配器时,可能会出现蓝牙适配器不能驱动的现象,这是你需要手动安装一下蓝牙驱动。...破解补丁的安装方法在Widcomm 5.0.1.801 patch.rar里有写

    Widcomm.Pro-crx插件

    WIDCOMM蓝牙软件-一种免费工具,可用于支持通过蓝牙进行数据传输的设备,此外,它还包含用于Broadcom设备的驱动程序包。 WIDCOMM蓝牙软件已获得Windows(32和64位)操作系统的免费许可,经过Windows XP,7、8、10...

    BTW-5_1_0_3101-SDK

    "Widcomm"是Broadcom公司的一个子品牌,专门致力于蓝牙软件解决方案。 **蓝牙技术简介** 蓝牙技术是一种短距离无线通信标准,它允许设备之间进行数据交换,如手机、电脑、打印机、耳机等。它的工作频段通常在2.4GHz...

Global site tag (gtag.js) - Google Analytics