我试图让一个简单的python脚本在我的android手机上运行(使用sl4a)来连接到bluesmirf蓝牙调制解调器(基于rn41设备),但是无论我尝试什么,当我尝试连接时都会出现以下错误。
java.io.ioexception:无法启动服务发现
python脚本如下所示

import android

droid = android.Android()
droid.toggleBluetoothState(True)

result = droid.bluetoothConnect()
#result = droid.bluetoothConnect('00001101-0000-1000-8000-00805f9B34fb')
#result = droid.bluetoothConnect('00001101-0000-1000-8000-00805f9B34fb', '00:06:66:07:AE:44')

print repr(result)

droid.toggleBluetoothState(False)

我已经尝试了bluetoothConnect()的所有三种变体,如上面的代码所示。如果我尝试前两种连接方法,我也可以在要连接的设备列表中看到blueSMiRF
我的Arduino草图(运行在Arduino Mega上)如下所示。它只是将字符从一个端口转发到另一个端口。Serial在9600连接到我的笔记本,Serial1在115200连接到BlueSMiRF
void setup ()
{
  // initialise serial
  Serial.begin(9600);
  Serial1.begin(115200);
}

void loop ()
{

  if (Serial1.available())
  {
    char c = Serial1.read();
    Serial.print(c);
  }

  if (Serial.available())
  {
    char c = Serial.read();
    Serial1.print(c);
  }
}

通过键入blueSMiRF,我可以使用putty访问$$$的命令模式。一切看起来都很好。我只关心服务类和设备类的设置。它们分别设置为出厂默认值0x00000x1f00,我想知道是否需要将服务类设置为0x1101(ssp的uuid)。
其他信息:
Android版本2.3.3
SL4A R4

最佳答案

与Arduino板通话时,切换Bluesmirf的RX-TX。
如果您能够通过PC连接到Bluesmirf,它将RX-TX设置为Arduino板。
PC到Bluesmirf设置:
PC发送-->Arduino接收-->Bluesmirf接收
PC RxArduino到Bluesmirf设置:
Arduino RX-->蓝调Mirf TX
德克萨斯州阿迪诺

07-24 09:55