Подтвердить что ты не робот

Сделать мой Bluetooth-сервер python видимым для iOS

Я пытаюсь подключить Bluetooth-сервер (используя Bluez или аналогичный) в Python script, который работает на службе Linux, с устройством iPhone, которое запускает гибридное приложение Cordova.

Я использую cordova-plugin-bl-central для последнего, и для первого я даю вам код ниже:

try:
    server_sock = BluetoothSocket(RFCOMM)

    server_sock.bind(("", 0))
    server_sock.listen(1)
    port = server_sock.getsockname()[1]

    uuid = "d507688e-5fa7-11e7-907b-a6006ad3dba0"
    advertise_service(server_sock, "TestService", service_id=uuid, service_classes=[uuid])

    print("Waiting for connection on RFCOMM channel %d" % port)

    client_sock, address = server_sock.accept()
    print "Accepted connection from ", address

    data = client_sock.recv(1024)
    print "received [%s]" % data

    client_sock.close()
    server_sock.close()
except Exception as e:
    print 'ERROR: ' + str(e)

Проблема в том, что функция "scan()", полученная от iPhone, дает мне несколько устройств поблизости, но не моя... в Android она отлично работает! "

Что мне не хватает? Есть ли способ сделать его доступным для поиска?

Заранее спасибо

4b9b3361

Ответ 1

Вы не можете.

iOS фильтрует профили Bluetooth, а RFCOMM (aka профиль последовательного порта Bluetooth) не поддерживается. Ниже представлен список iOS Поддерживаемые профили Bluetooth от самого Apple.

И да, это позор, мы знаем, что отлично работаем на Desktop и Android, но вы не можете сделать то же самое на iOS:)