Nano Hash - криптовалюты, майнинг, программирование

Android SPP Bluetooth: реализация попытки подключения в фоновом режиме

Хотелось бы минимизировать необходимость участия пользователя в работе с медицинскими изделиями СПП. Пользователю нужно только выполнить сопряжение устройства, а затем подключение произойдет автоматически, когда устройство станет доступным для подключения. Классические устройства HDP такие же, как и устройства BTLE (последнее требует работы на Android).

Таким образом, очевидное решение — после сопряжения создать сокет RFCOMM и вызвать метод connect() (и, возможно, все обходные пути для обработки различных ошибок).

Тем не менее, этот метод блокировки истекает через 12 или около того секунд в соответствии с документацией, поэтому, если я действительно хочу постоянно быть готовым к устройству, когда оно «включится в сеть», мне нужно сделать это в цикле while, пока не будет установлено соединение. удается.

Итак, вопрос в том, если я это сделаю, не будет ли этот непрерывный «пинг» для устройства перегружать систему и разряжать батарею? Учитывая, что что-то подобное происходит с реализациями HDP на Android, они тоже должны делать что-то подобное, но, возможно, они уменьшают частоту пинга, чтобы он не был таким требовательным к ресурсам.

Есть ли у кого-нибудь опыт попыток непрерывного мониторинга SPP-устройств? Спасибо!


Ответы:


1

Я использовал соединение Bluetooth SPP для промышленных устройств и имел аналогичную проблему. Не кажется хорошей идеей иметь службу, пытающуюся подключиться все время, так как она должна всегда работать в фоновом режиме и разряжать больше батареи.

Мое решение состояло бы в том, чтобы медицинское устройство SPP запрашивало подключение после подачи питания на сопряженное устройство (ваш Android) или когда вы пытаетесь подключиться к медицинскому устройству, автоматизировать процедуру подключения, которая должна занять около 1-2 секунд. (если вы можете фильтровать устройства по их MAC-адресу (предпочтительно) или имени в вашем приложении)

Основываясь на чипе Bluetooth в вашем медицинском устройстве, у вас должно быть множество вариантов подключения с этой стороны, но если нет, вы можете попробовать подключиться по запросу.

31.03.2017
  • У меня нет контроля над медицинским устройством. В нем указано, что это ведомое устройство, и ведущее устройство должно взять на себя инициативу подключения к нему. Мне нужно что-то сделать на устройстве, чтобы начать соединение. 03.04.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..