2011-11-28 61 views
2

我正在使用Android蓝牙聊天示例应用程序。我试图从Windows 7中的Android设备读取串行数据。蓝牙RFCOMM连接:从Windows 7中的COM端口读取串行数据

我已经能够将Android设备与笔记本电脑上的蓝牙适配器配对。我取代了每其他一些讨论以下示例应用程序的UUID:

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

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

我误解了有关通过蓝牙发送串行数据到Windows COM端口的过程?

回答

0

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

Picture of BT settings with all the COMs that were created

如果COM10不工作,验证它是“进入” COM(或者也许是性格外向,我不记得二/三它已经有几个月)。

+1

感谢您的答复。我试了两个列出的COM端口,但都没有成功。后来我用BlueSoleil堆栈替换了我使用的WIDCOMM BT驱动程序,现在可以读取正确的COM端口。我宁愿能够在使用任何BT驱动程序时读取COM端口,但现在使用BlueSoleil是一个适当的解决方案。 – gavinmh

+0

不知道你是否希望在Windows上与COM端口对话,或者你正在编程什么环境。但是我维护的32feet.NET库使得在.NET中创建服务器变得容易,应用程序可以连接到,请参阅http://lufeet.codeplex.com/wikipage?title=Bluetooth%20Server-side我讨厌像编程系统那样设置COM端口的复杂性,并且我们支持MSFT,Widcomm和BlueSoleil等协议栈。 – alanjmcf

+0

Thanks @alanjmcf ;这次设置COM端口本身已经足够了,但我会为将来的应用记住您的库。 – gavinmh

0

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

  1. 做所有附近的设备,可发现的“询问”和暴露的SPP服务/ profile(SPP = Serial Profile Protocole)。此配置文件具有上述{GUID} 00001101-0000-1000-8000-00805F9B34FB
  2. 一次都发现,选择您要在此点搜索(通过名称或MacAdress)
  3. 的一个,你可以做一个其服务的“发现”,并检查了它具有暴露在适当的服务(SPP或RFCOMM)
  4. 然后连接到它,使用蓝牙套接字API ...