Android 2.2。如何设置串口(com,rfcomm)端口?

时间:2010-12-21 20:45:16

标签: android serial-port rfcomm

我试图将我的Nexus One与Android版本2.2.1连接到我的电脑,并使用终端程序(如Windows终端或超级终端)进行通信。为此,我相信我需要设置一个传出的串行COM端口。我已配对设备。当我在我的电脑上使用蓝牙时 - >设置 - > “添加com端口”Android设备不显示。

我错过了什么?

android 2.2.1是否支持spp?文档说它确实如此。

我是否需要root用户来添加spp?

有没有人成功过这个?

我的最终目标是编写一个与需要com端口的旧式蓝牙设备通信的Android应用程序?让android与PC通信是一个临时步骤。

我已经在我的Android应用程序中尝试了所有我想到的连接到我的电脑和Android设备,但没有成功。我的Android应用程序与Serial over Bluetooth submitted by xCaffeniated基本相同,但评论较少。有什么建议?

3 个答案:

答案 0 :(得分:2)

尝试从BluetoothChat示例应用程序开始。然后,您必须更改用于通用SPP UUID的UUID,

00001101-0000-1000-8000-00805F9B34FB

从这一点开始,你几乎拥有了所需的一切。

我在BluetoothChat程序中遇到了问题。因此,我需要使用设置菜单与计算机配对,然后输入BluetoothChat程序。在BTC中,转到菜单并点击连接到设备,选择您的计算机。我只能说我正在使用的Windows XP SP3。在我的机器上的这一点上,我收到一个弹出的任务栏,询问我是否允许我的设备作为串口连接。我允许它。现在,您的手机已作为计算机上的串行端口配置文件关联,您可以将其与特定的COM端口关联。

答案 1 :(得分:2)

基于蓝牙规范,

http://www.bluetooth.com/SiteCollectionDocuments/SPP_SPEC_V12.pdf

2.3用户要求,“......任何传统应用程序都可以在任一设备上运行,使用虚拟串行端口,就像连接两个设备的真实串行电缆一样(带有RS232控制信令)。”在4.3远程端口协商中,“......如果RFCOMM适配层的API暴露于那些设置(例如波特率,奇偶校验),则需要这样做...... RFCOMM本身不会人为地限制吞吐量波特率设置,......“

在我看来,由于Android(2.2)没有提供设置和打开串口的API,只要您可以发现远程BT设备并建立连接,它们就可能没有必要。我已经尝试过,似乎正在使用:

...

sock = device.createRfcommSocketToServiceRecord(myUUID); sock.connect();

...

其中最终UUID myUUID = UUID.fromString(“00001101-0000-1000-8000-00805F9B34FB”);您可能需要按照

中的说明在应用程序中处理蓝牙权限和设置

http://developer.android.com/guide/topics/wireless/bluetooth.html

connect()调用可能存在一些问题,即服务不可用或连接被拒绝,可以通过以下方式解决:

  1. 发现远程BT设备,
  2. 必须设置为使用PIN码(例如0000)和
  3. 必须与您的Android设备成功配对
  4. 必须在运行应用程序(具有连接呼叫)之前完成这些步骤。

    希望得到这个帮助。

    乔治

答案 2 :(得分:1)

关于如何在AOS上实施AT集,肯定会有一些有趣的事情。问题是很难知道你是直接与调制解调器直接对话还是通过几个抽象层(更有可能)。有关AOS平台上可用的AT命令以及HW的最佳最新评论,请参阅帖子:

“如何使用AT命令与调制解调器通信” http://forum.xda-developers.com/showthread.php?t=1471241