Bluetooth Master

приложение для Андроид, позволяющее получать полную информацию о Bluetooth устройствах в режимах Classic и Low Enegry с помощью RFComm и GATT терминалов и делиться ею.

Как это работает?

Посредством Bluetooth технологии Bluetooth Master позволяет пользователю легко и быстро реализовывать следующие задачи:

  • Обнаруживать и исследовать характеристики любых Bluetooth устройств в режимах Bluetooth Classic и Low Enegry.
  • Управлять Bluetooth устройствами через RFComm и GATT терминалы, все настройки которых в вашем полном распоряжении.
  • Отправлять отчеты в текстовых и JSON форматах о Bluetooth устройствах на ваш личный сервер либо через локальные программы, например, с помощью буфера обмена, SMS, WhatsApp и других.
  • Хранить записи о ваших устройствах и периодически к ним обращаться без предварительного поиска, опрашивать их и отправлять новые отчеты, накапливая и анализируя данные от устройств по времени.

Почему именно Bluetooth Master?

  • Дизайн программы адаптирован под любые экраны: от небольших смартфонов до больших планшетов.
  • Интерфейс программы понятен и лаконичен, что позволяет сосредоточиться на информации, получаемой от Bluetooth устройств.
  • Все операции запускаются в одно-два касания. Вам не нужно совершать множество "кликов", чтобы выполнить какую-либо операцию.
  • Программа даёт Вам полный контроль над процессом взаимодействия с Bluetooth устройствами - каждый параметр взаимодействия Вы можете настроить, исходя из ваших потребностей.
  • Имеет сравнительно небольшой размер, что позволит запускать приложение на устройствах разной мощности.
  • Поддерживается устройствами на платформе Андроид с версии 4.3 и выше.

Установив это приложение, Вы получаете:

  • Эффективный инструмент для мониторинга Bluetooth устройств, настраиваемый с учетом ваших потребностей.
  • Возможность получать, хранить и передавать данные мониторинга удобными и привычными способами.
  • Удобное средство управления вашими Bluetooth устройствами.

Программа включает в себя 4 модуля:

  • Поиск
  • Детали
  • Панель
  • Настройки

Доступ к модулям "Поиск", "Панель", "Настройки" осуществляется через значок More в правом верхнем углу приложения. Переход в модуль "Детали" происходит после одиночного клика на устройство в списках модулей "Поиск" и "Панель".

 позволяет Вам запустить процесс обнаружения Bluetooth устройств отдельно для каждого типа устройств - Bluetooth Classic и Bluetooth Low Enegry (тип устройства по умолчанию можно задать в настройках).
 Для запуска поиска выберите тип Bluetooth устройств с помощью соответствующей радиокнопки и нажмите на значок Search в правом верхнем углу приложения. Поиск будет продолжаться в течении времени, заданного в настройках для этого модуля. Поиск можно остановить, нажав на значок кругового прогресс бара в правом верхнем углу приложения.
 Каждый раз, когда Вы запускаете поиск, соответствующий список ранее обнаруженных устройств выбранного типа очищается, при этом список устройств другого типа остается. Два списка Bluetotooth Classic и Low Energy независимы, поэтому после поиска Вы можете переключаться между списками и детально исследовать каждое устройство.
 Полноту отображения информации об устройстве в списке можно задать в настройках.
 Модуль "Поиск" имеет фильтры, которые позволяют отображать обнаруженные устройства, удовлетворяющие заданным критериям. Фильтр вызывается через плавающую кнопку в правом нижнем углу модуля "Поиск". В фильтре можно указать текст, который будет обнаруживаться в названии устройства, MAC адресе, классе, типе, а также в scanrecord. Можно задать уровень RSSI. В этом случае устройства, имеющие значение выше этого уровня, будут отображаться в списке. Также Вы можете задавать фильтр одновременно как по текстовой информации, так и по уровню RSSI, соединяя запросы логическими "И"/"Или". Список обнаруженных устройств можно сразу же отправить в виде текстового или JSON отчета на ваш сервер или через локальные программы. Для этого достаточно нажать на значок Share в правом верхнем углу программы.
 Отчеты отправляются отдельно по каждому типу устройств. После выбора их через соответствующую радиокнопку. Вы можете отправить отчет только по выбранным устройствам. Для этого длительным касанием выберете необходимые устройства и нажимите на значок Share. Одиночный клик на устройство в списке переключит Вас в модуль "Детали". Параметры этого модуля можно задать в разделе "Поиск" модуля "Настройки".

Модуль "Детали"

 позволяет Вам посмотреть подробную информацию о выбранном Bluetooth устройстве, взаимодействовать с устройством через RFComm и GATT терминалы, отправлять отчет об этом взаимодействии, добавлять устройство на панель.
 Модуль включает 3 раздела: Исходный, GATT терминал, RFComm терминал.
 Соответствующий раздел выбирается через плавающую кнопку в правом нижнем углу приложения. Каждому разделу соответствует своя буква: H - Исходный, S - GATT терминал, T - RFComm терминал. В верхней части каждого раздела отображается основная информация об устройстве. После длительного нажатия на имя устройства открывается диалоговое окно, в котором можно сменить название устройства.
 В разделе "Исходный" представлены данные о географической области устройства, список SDP сервисов, расшифровка scanrecord. Переход между этими данными осуществляется через соответствующие радиокнопки - Map, SDP, ScanRecord.
 Переключившись в положение "Map", можно одним касанием по карте задать/уточнить географические координаты устройства. В списке SDP сервисов отображается UUID сервисов и их названия. При одиночном клике на SDP сервис его UUID добавляется в параметр "Мой сервис" в настройках RFComm терминала.
 В разделе "Исходный" через значок P в правом верхнем углу приложения можно произвести сопряжение с этим устройством либо его отменить.
 В разделе GATT терминал Вы можете прочитать и изменить GATT характеристики Bluetooth устройств, поддерживающие GATT сервер. Для подключения к Bluetooth устройству нажмите на значок Bluetooth connect в правом верхнем углу приложения. В ходе подключения будет отображаться лог событий. Если подключение прошло успешно, то приложение переключится в положение "Сервисы" и отобразит полученные от устройства GATT сервисы с их характеристиками. При нажатии на характеристику приложение отобразит экран, на котором Вы можете задать новое значение характеристики, как в текстовом, так и в шестнадцатеричном форматах, а также включить уведомление. Если характеристика имеет дескрипторы, то приложение отобразит их и также предоставит возможность задать новые значения для них, как в текстовом, так и в шестнадцатеричном форматах.
 Для работы с другой характеристикой достаточно переключиться на список сервисов с помощью радиокнопки "Сервисы" и выбрать необходимую характеристику.
 Экран GATT терминала имеет значок Command list, при нажатии на который появляется список команд. Команды из этого списка позволят Вам запросить уровень RSSI на удаленном устройстве, назначить новое значение MTU, установить приоритет соединения, отобразить и очистить журнал GATT соединения. При нажатии на значок Settings откроется диалоговое окно настроек GATT терминала, такое же как и в модуле "Настройки". В этом диалоговом окне Вы можете указать терминалу на необходимость чтения всех данных характеристик при подключении к устройству. В этом случае приложение за раз прочитает все данные, но потребуется несколько больше времени, по сравнению с чтением каждой характеристики после нажатия на неё в списке сервисов.
 Флаг "Разворачивать список сервисов" указывает приложению отображать список сервисов в развернутом/свернутом виде. Если Вы знаете, с какой характеристикой будете работать, то можно снять этот флаг. Это позволит без долгого пролистывания списка сервисов сразу же перейти к нужной характеристике.
 В этих настройках также можете установить флаг "Автоматическое подключение" и таймаут чтения. Последний параметр позволит Вам ускорить чтение характеристик при работе с быстрыми устройствами, а также повысит безотказность при чтении характеристик при работе с медленными устройствами.
 GATT терминал всегда будет сообщать Вам об успешности выполнения команд. Нажимая на значок Bluetooth disconnect Вы можете закрыть GATT соединение, также как при нажатии на значок кругового прогресс бара в правом верхнем углу приложения в ходе установления GATT соединения.
 RFComm терминал позволит Вам подключиться к Bluetooth устройству по RFComm протоколу. Перед подключением к устройству выберете с помощью радиокнопки необходимый SDP сервис (SPP, Dial-up, Мой сервис) и нажмите на значок Bluetooth connect. В ходе подключения будет отображаться лог событий. Если подключение прошло успешно, то Вы можете ввести команду и получить ответ от устройства. Ваши команды и ответы устройства будут отображать в обратно хронологическом порядке ниже.
 Экран имеет значок Command list, при нажатии на который появляется диалоговое окно со списком команд, в том числе команда "Очистить журнал". Выбрав необходимую из 5-ти первых (быстрых) команд, команда автоматически посылается устройству. Этот список команд можно редактировать в настройках этого модуля, нажав на значок Settings.
 В настройках, кроме задания команд, Вы можете указать тип режима - безопасное/небезопасное соединение, вставлять в конце команды символы LF и CR, формат отправки команд - текстовый или шестнадцатеричный, формат отображения ответа устройства - текстовый или шестнадцатеричный, а также указать UUID вашего сервиса, который будет использоваться когда Вы выбираете радиокнопку "Мой сервис" при подключении к устройству.
 Нажимая на значок Bluetooth disconnect, Вы можете закрыть RFComm соединение, также как при нажатии на значок кругового прогресс бара в правом верхнем углу приложения в ходе установления RFComm соединения.
 При вызове пункта меню "Отправить отчет", приложение формирует консолидированный отчет по всей информации, полученной в GATT, RFComm терминалах, и отравляет его на указанное Вами в настройках "Получателю отчета" (локальные программы или сервер).
 Параметры этого модуля можно задать в разделе "Детали" модуля "Настройки". Настройки RFComm и GATT терминалов продублированы на их экранах, что позволит Вам быстро сменить их, не выходя из модуля "Детали" при работе с конкретным Bluetooth устройством. Также в настройках можно указать какой экран (исходный, GATT терминал, RFComm терминал) запускать при открытии модуля "Детали".

Модуль "Панель"

 позволяет Вам работать с сохраненными ранее устройствами и переходить в модуль "Детали" выбранного устройства. Этот модуль имеет расширенный поиск, который позволяет находить устройства по любой информации (название устройства, MAC адрес, класс, тип, производитель), а также задавать географическую область поиска устройств.
 Географический поиск позволяет Вам, находясь в конкретном месте, быстро выбирать устройства в этом месте, что весьма удобно если вы имеете множество географически распределенных Bluetooth устройств, которые необходимо периодически опрашивать, например, метеорологические, технологические, медицинские датчики, а также умные вещи. Размер области поиска можно задать в настройках, выбрав длину квадрата в метрах. Также Вы можете задавать поиск одновременно как по текстовой информации, так и по географическому месту, соединяя запросы логическими "И"/"Или".
 Чтобы удалить устройства, необходимо длительным касанием выбрать их и нажать на значок Delete в правом верхнем углу приложения. Повторное длительное касание отменяет выбор конкретного устройства.
 Параметры этого модуля можно задать в разделе "Панель" модуля "Настройки", в котором также можно вызвать команду удаления всех устройств с панели.

Модуль "Настройки"

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

  • Формат отчета (обычный текст или JSON), в котором отчет будет отправляться получателю.
  • Получателя отчета - локальные программы или сервер.
  • Начальный экран (панель, поиск, настройки), который будет появляться первым при запуске приложения.
  • Настройки сервера-получателя отчета.

 В настройках сервера-получателя отчета необходимо задать символическое имя сервера в поле "Название", в поле "URL" указать полный URL скрипта сервера, который будет принимать POST запрос с отчетами в теле этого запроса. Поддерживаются протоколы HTTP, HTTPS, Web Socket, Web Socket Secure. Протоколы Web Socket задаются через запятую.
 Если ваш сервер требует авторизации по имени/паролю, то в полях "Имя пользователя" и "Пароль" указать авторизационные данные. Если эти данные не заданы, то приложение будет пытаться отправить отчет на сервер без авторизации.

BT Master is now available on Google Play.