(RN41 デバイスに基づく) BlueSMiRF bluetooth モデムに接続するために、Andorid 電話 (SL4A を使用) で実行されている単純な python スクリプトを取得しようとしていますが、何を試しても次のエラーが発生し続けます。接続。
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()
上記のコードに示すように、3 つのバリエーションすべてを試しました。最初の 2 つの接続方法を試すと、blueSMiRF
接続するデバイスのリストにも が表示されます。
私の arduino スケッチ (Arduino Mega で実行) を以下に示します。あるポートから別のポートに文字を転送するだけです。Serial
9600 で私のラップトップに接続され、 115200 でSerial1
接続されています。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);
}
}
Putty を使用して、 とblueSMiRF
入力して のコマンド モードにアクセスできます$$$
。すべて問題ないようです。サービス クラスとデバイス クラスの設定については、少しだけ気になる点があります。0x0000
これらはそれぞれとの工場出荷時のデフォルト値に設定されており、サービス クラスを(SSP の UUID)0x1f00
に設定する必要があるのではないかと思います。0x1101
その他の情報: Android バージョン 2.3.3 SL4A r4