【问题标题】:Bluetooth RFCOMM connection: read serial data from com port in Windows 7蓝牙 RFCOMM 连接:在 Windows 7 中从 com 端口读取串行数据
【发布时间】:2012-01-07 15:09:17
【问题描述】:

我正在使用 Android 蓝牙聊天示例应用程序。我正在尝试从 Windows 7 中的 Android 设备读取串行数据。

我已经能够将 Android 设备与笔记本电脑上的蓝牙适配器配对。根据其他一些讨论,我将示例应用程序中的 UUID 替换为以下内容:

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

当我运行 Android 应用程序时,我可以连接到笔记本电脑。在我的 Android 设备的“硬件”属性中,有一个“设备功能”条目,名为“蓝牙链路上的标准串行 (COM10)”。当我尝试将 CoolTerm 连接到 COM10 时,我收到“错误 1168”(该错误没有其他说明)。

我是否误解了通过蓝牙将串行数据发送到 Windows com 端口的过程?

【问题讨论】:

    标签: android windows bluetooth serial-port rfcomm


    【解决方案1】:

    您必须使用 Windows 应用程序中的正确蓝牙 API 来调用并连接到您的 Android 设备,即:

    1. 对附近的所有设备进行“查询”,可发现并公开 SPP 服务/配置文件(SPP=Serial Profile Protocole)。此配置文件具有上述 GUID {00001101-0000-1000-8000-00805F9B34FB}
    2. 全部找到后,选择您要搜索的那个(按名称或 MacAdress)
    3. 此时,您可以对其服务进行“发现”并检查它是否公开了正确的服务(SPP 或 RFCOMM)
    4. 然后使用蓝牙套接字 API 连接到它...

    【讨论】:

      【解决方案2】:

      确保您选择了正确 COM。在我上一个需要 SPP(串行端口配置文件)蓝牙通信的 Android 应用程序中,当 Windows 7 配对时,我打开了几个 COM。

      如果 COM10 不工作,请确认它是“传入”COM(或者它可能是传出的,我不记得 b/c 已经几个月了)。

      【讨论】:

      • 感谢您的回复。我尝试了列出的两个 COM 端口均未成功。后来我用 BlueSoleil 堆栈替换了我正在使用的 WIDCOMM BT 驱动程序,现在能够读取正确的 COM 端口。我希望能够在使用任何 BT 驱动程序时读取 COM 端口,但目前使用 BlueSoleil 是一个合适的解决方案。
      • 不知道您是否想要与 Windows 上的 COM 端口通信,或者您正在编程的环境。但是我维护的 32feet.NET 库使很容易在 .NET 中创建一个 Android 应用程序可以连接的服务器,例如32feet.codeplex.com/wikipage?title=Bluetooth%20Server-side 我讨厌设置 COM 端口的复杂性,比如编程系统,我们支持 MSFT、Widcomm 和 BlueSoleil 等的堆栈。
      • 谢谢@alanjmcf;这次我自己设置 COM 端口就足够了,但我会记住你的库以备将来应用。
      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      相关资源
      最近更新 更多