Я пытаюсь запустить простой скрипт python на моем телефоне Andorid (с использованием SL4A) для подключения к Bluetooth-модему 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
подключен к BlueSMiRF
по адресу 115200.
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
и 0x1f00
соответственно, и мне интересно, может ли класс обслуживания быть установлен на 0x1101
(UUID для SSP).
Прочая информация: Android версии 2.3.3 SL4A r4