【问题标题】:Making a Windows Mobile device emulate a Bluetooth HID device使 Windows Mobile 设备模拟蓝牙 HID 设备
【发布时间】:2010-09-21 19:38:41
【问题描述】:

我正在寻找一种通过蓝牙将 Windows Mobile 设备连接到 PC 并让它在 PC 上显示为 HID 设备(即键盘或鼠标)的方法。我想这主要是修改 Windows Mobile 设备上可用的蓝牙配置文件以便它公开蓝牙 HID 接口的问题......这甚至可能吗?它是否需要自定义驱动程序或 WinMo 设备上的其他东西?在大多数情况下,我的主要要求是在 PC 端不需要任何特殊软件,它应该简单地使用内置的蓝牙堆栈,并认为 WinMo 设备实际上是 HID 设备而不是 PDA。

我有具有条码扫描功能的 WinMo 设备,因此我希望能够使用 PDA 使用 HID 接口将条码扫描到 PC。

另外,我主要使用 C++ 和 C#,所以如果可以用其中一种语言完成,那就最好了。

有什么建议吗?

【问题讨论】:

    标签: windows-mobile hid


    【解决方案1】:

    这是完全可能的。只需启动使用 HID 服务 Guid {00001124-0000-1000-8000-00805f9b34fb} 注册的蓝牙服务器。如果设备支持 Microsoft 蓝牙堆栈,您可以使用 Peter Foot 出色的 .NET CF 库 (http://32feet.net/) 和 BluetoothService.HumanInterfaceDevice;

    更新:

    使用 Peter Foot 的库,服务器将如下所示:

    using System.IO;
    using InTheHand.Net.Sockets;
    using InTheHand.Net.Bluetooth;
    
    // ...
    
    BluetoothListener l = new BluetoothListener(
        BluetoothService.HumanInterfaceDevice);
    using (l) {
        BluetoothClient c = l.AcceptBluetoothClient();
        using (c) {
            Stream s = c.GetStream();
            using (s) {
                // send HID bytes
            }
        }
    }
    

    问候, 坦伯格

    【讨论】:

    • 非常酷...任何机会你可以给我一个快速的代码示例,我现在有库,但不知道如何使它工作。
    • 我是32feet.NET的维护者,很抱歉,答案是错误的。 HID 在蓝牙 L2CAP 层上运行,“普通”应用程序在更高级别的“RFCOMM”层上运行,这是 BluetoothListener/BluetoothClient 所公开的,因此该示例将不起作用。 :-( 因为并非所有平台都支持 L2CAP,所以我们不提供支持 - 但是欢迎贡献。请参阅有关协议/层的信息,例如 alanjmcf.me.uk/comms/bluetooth/…
    • 感谢您的澄清。干杯
    猜你喜欢
    • 1970-01-01
    • 2015-03-20
    • 2014-08-06
    • 2011-11-16
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2011-05-09
    相关资源
    最近更新 更多