Сделать мой 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 она отлично работает! "
Что мне не хватает? Есть ли способ сделать его доступным для поиска?
Заранее спасибо
Ответы
Ответ 1
Вы не можете.
iOS фильтрует профили Bluetooth, а RFCOMM (aka профиль последовательного порта Bluetooth) не поддерживается. Ниже представлен список iOS Поддерживаемые профили Bluetooth от самого Apple.
И да, это позор, мы знаем, что отлично работаем на Desktop и Android, но вы не можете сделать то же самое на iOS:)