UUID. Bluetooth connect

Вопрос достаточно банальный. Какое UUID мне нужно установить при подключении к серверу через Bluetooth? Для начала объясните плиз, для чего он используется (именно «для чего», а не «что это такое» — это можно и википедии найти). То есть я пробовал через BluetoothDevice.getUuids(), но (если вы не в курсе) на андроид 4 он не работает и возвращает null.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Bluetooth Connect Android
Помогите решить проблему, создаю приложение под андройд для работы с Bluetooth try< FAdapter =.
Как боротся с вирусом a-connect(i-connect,z-connect)
Итак расскажу что за вирус. Этот вирус создает новое подключение VPN a-connect и через 1-2.

Qt Bluetooth, ошибка qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional
Начал разбираться с Qt и Bluetooth, для этого запустил пример.
Perl + MySQL = ошибка DBI connect(dbname=mysql; host=localhost’,». ) failed: Couldnt connect to
С перлом беда какая-то, третий день мучаюсь и ничего не получается. хелп. use dbi; $dbh =.
Регистрация: 13.07.2012
Сообщений: 164
Ну как я понимаю это уникальный id устройства для его идентификации в связке. Всегда туда прописывал произвольную строку, типа того:
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
И вопрос, чего вы ждете от BluetoothDevice.getUuids() , если его нужно предварительно задать?
Регистрация: 11.01.2012
Сообщений: 85
А правильно ли я понимаю, что uuid должны быть одинаковы как для сервера, так и для клиента?
Регистрация: 13.07.2012
Сообщений: 164

Сообщение было отмечено Максим2001 как решение
Решение
С чего это вдруг, если было бы так, то ни одно бы стороннее устройство нельзя было бы связать. Для адресации между устройствами есть MAC адрес, который как раз нужно знать. UUID передается как id, не более того, что бы не вышло ситуации что на одном MACе висело два физических устройства. Дальше писать не буду, ибо начну уже придумывать. Конкретный живой пример блютус модуль Arduino HC-06. Работает в слейв режиме, т. е. может принять принять подключение но не инициировать его. Для коннекта с ним необходим только его MAC, ну и передать ему UUID устройства с которого происходит подключение. Нам его UUID не нужен вообще.
Android UUID Bluetooth как клиенту, подключиться к серверу, если UUID знает только сервер?
Есть приложение-сервер на котором открыт сокет, оно слушает входящие блютуз соединения, на сервере имеется метод listenUsingRfcommWithServiceRecord(UUID) со своим UUID. Цитата «Соединение считается подтвержденным, когда удаленное устройство пошлет запрос на соединение с UUID, указанным при регистрации серверного сокета». Как устройству-клиенту узнать UUID на сервере чтобы подключиться к нему?
- Вопрос задан более трёх лет назад
- 427 просмотров
Комментировать
Решения вопроса 1

Системный программист ^_^
Для этого сервер делает себя discoverable, а клиент запускает поиск Bluetooth устройств рядом. Вспомните pairing двух телефонов для передачи файлов или наушников с смартфоном. Можно зашить в конфиг клиента BSSID сервера и сразу к нему подключаться.
Узнать UUID bluetooth службы
Пишу приложение на cordova. Нужен обмен данных между 2-мя устройствами через bluetooth. Нашел много плагинов, но не могу заставить их работать. Насколько я понял, я не верно передаю UUID службы, с которой я буду работать. Но собственно вопрос: Как узнать UUID? Или его надо самому придумать? Код вызова
var uuid = '00001101-0000-1000-8000-00805f9b34fb'; var address = '00:45:DA:B4:07:BF'; networking.bluetooth.connect(address, uuid, function (socketId) < alert('Success. ID - '+socketId); >, function (errorMessage) < alert('Connection failed: ' + errorMessage); >);
Ошибка, которую получаю
connection failed, socket might closed or timeout, read ret: -1
Отслеживать
задан 30 мар 2018 в 8:39
2,563 1 1 золотой знак 20 20 серебряных знаков 47 47 бронзовых знаков
Какие у вас ошибки? Можно взглянуть на ваш код?
30 мар 2018 в 8:58
получаю такую ошибку «connection failed, socket might closed or timeout, read ret: -1»
30 мар 2018 в 9:08
Ошибку в вопрос добавьте.
30 мар 2018 в 9:43
добавил получаемую ошибку
30 мар 2018 в 9:46
прошу помощи с вопросом, так ничего и не решил
25 апр 2018 в 16:55
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- android
- phonegap
- cordova
- bluetooth
Протокол отслеживания контактов через Bluetooth от Apple & Google
10 апреля 2020 года компании Apple и Google анонсировали, что в следующих обновлениях их операционных систем iOS и Android появится поддержка совместно разработанного протокола отслеживания контактов.
Целью данного проекта является снижение распространения COVID-19 с помощью отслеживания цепочек контактов и раннего обнаружения новых заразившихся с последующей быстрой изоляцией.
Для отслеживания контактов будет использоваться технология BLE (Bluetooth Low Energy).
Инфографика Google описывающая принцип работы протокола Google пе
Принцип работы данного протокола отслеживания контактов следующий:
На телефонах с операционной системой iOS или Android запускается BLE-сервис со специальными service UUID и characteristic UUID. Работает это так же, как с вашими Bluetooth наушниками или гарнитурой, которые используют Bluetooth-сервис со стандартным определяющим класс гарнитур кодом (characteristic UUID), только в данном случае это особый код, определяющий протокол отслеживания контактов Apple & Google. Потребление энергии в таком режиме небольшое.
Телефоны периодически ищут по Bluetooth другие устройства с фиксированными service UUID и characteristic UUID и если находят, то понимают, что произошел контакт.Задача протокола — передать анонимные идентификаторы устройств друг другу при таком контакте, и если в дальнейшем кто-то заразится, сообщить всем контактам об этом.
Первый опыт тестирования в Сингапуре
Подобная технология отслеживания контактов через Bluetooth уже была запущена в Сингапуре.
Приложение Trace Together было запущено правительством Сингапура в марте 2020 года и быстро принесло результат.
Всемирная организация здравоохранения и эксперты заявили, что широкие меры по отслеживанию, тестированию и изоляции помогли значительно сократить распространение вируса, снизив за две недели число новых случаев, с 909 случаев, объявленных 29 февраля, до 74 марта 16 марта.
Сейчас приложение установлено более чем на 1 млн устройств, а технологию, на которой работает приложение BlueTrace, выложили в open-source.
Описание протокола Apple & Google
Протокол Apple & Google, в отличие от BlueTrace, разрабатывался с учетом повышенных требований безопасности и приватности.
Он не требует авторизации по номеру телефона или email, информация о зараженных пользователях передается анонимно.
Для исключения отслеживания устройств используются временные идентификаторы, период существования которых не превышает 10 минут.
Так как же работает протокол?
Обмен идентификаторами через Bluetooth Apple
- Девайс случайным образом генерирует приватный 32-х байтный ключ Tracing Key, который всегда остается на девайсе
- Каждый день, генерируется дневной 16-ти байтный ключ Daily Tracing Key . Для его генерации используется функция
HKDF: dk = HKDF(tk , NULL, (UTF8(«CT-DTK»)||Di),16)
К моменту публикации статьи компании Apple и Google анонсировали новую версию спецификации Contact Tracing Protocol где изменили принцип генерации ежедневных ключей и Rolling Proximity ID. Вероятно это было сделано из-за того, что в данной версии протокола есть возможность отследить заразившегося пользователя в последние 14 дней перед публикацией его ключей.
Подробный разбор отличий мы сделаем в следующей статье.
Как планируется использовать протокол
Вместе с описанием протокола компании Apple и Google объявили, что протокол будет реализован на уровне операционных систем, а разработчики получат лишь доступ к API.
Приложение сможет запросить доступ у пользователя к Contact Tracing Framework.Операционная система сама будет генерировать приватный и дневные ключи, а также временные идентификаторы. Bluetooth сервис также включится на уровне системы.
Приложение же получит доступ к статусу пользователя, и если у пользователя был контакт с зараженным, то статус поменяется на exposed.
В таком случае приложение может запросить дополнительную информации о контакте: дату и продолжительность.
В API также есть возможность сообщить, что пользователь заразился COVID-19, но такое сообщение должно быть подписано медицинским центром, который должен быть авторизован Apple & Google для таких операций.Приложение должно передать медицинскому центру свои дневные ключи за последние 14 дней, получить цифровую подпись и отправить ее в API.
Отсюда возникает ряд вопросов: Какие медицинские учреждения смогут получить доступ подписи таких диагнозов?Кто будет сертифицировать медицинские центры для таких операций?Уже сейчас Apple App Store и Google Play Market ограничили публикацию приложений, имеющих отношение к COVID-19, пропускаются только приложения от медицинских и государственных учреждений. Возможно, планируется выдавать ключи для подписи диагнозов таким разработчикам при публикации приложений использующих Contact Tracing Framework.
Выводы
Анонсированный Apple и Google протокол еще раз доказывает актуальность проблемы отслеживания контактов для борьбы с инфекционными заболеваниями, в частности с COVID-19. Сложно вспомнить другую ситуацию, когда два конкурирующих IT-гиганта могли бы так быстро договориться о протоколе и выпустить совместный релиз.
Приложение Trace Together набрало более 1 миллиона пользователей за несколько месяцев, но это несравнимо меньше с потенциальным охватом Apple и Google в несколько миллиардов устройств.Такой охват делает данный протокол потенциально очень интересным для медицинских и государственных организаций по всему миру.
Централизованная база данных заболевших пользователей и покрытие по всему миру решает проблему международного взаимодействия, что является как и огромным преимуществом так и недостатком этой технологии.
Не все государственные организации готовы доверять данные своих пользователей Apple и Google, не имея их в собственном распоряжении.Кроме этого, реализация данного протокола на уровне операционной системы не может быть проверена сообществом, таким образом нельзя быть на 100% уверенными, что приватный ключ не передается 3-м лицам.