Android(Xamarin) Как получить данные с браслета через Bluetooth

169
14 марта 2019, 19:50

Моя цель получить данные(показатели пульса, давление) с фитнес браслета Torntisc T1 с помощью своего приложения и самостоятельно обрабатывать данные с браслета. (родное приложение H Band 2.0).

Для реализации использую Xamarin и нашел плагин Bluetooth LE plugin for Xamarin для подключения к устройству и получению с него данных. Однако все получаемые характеристики имеют имя "Unknow characteristic" и в значениях 0 байтов. Хотя при этом имеет 5 сервисов, в каждом из которых по 3 характеристики. Единственное в 1 сервисе название характеристик другие: "Device Name", "Appearance", "Peripheral Preferred Connection Parameters". Однако значение(value) везде 0 байт. Как получить характеристики? Как получить данные о пульсе?

К браслету существует приложение H Band 2.0, который показывает достаточно большое количество настроек для браслета, возникает вопрос где всё это?

Наткнулся вот на такую статью с схожей проблемой. Попытался декомпилировать родное приложение, чтобы найти как там работают с браслетом. Нашел классы отвечающие за связь по следующей директории: sources\no\nordicsemi\android\dfu . Вижу что сделано через BluetoothGatt. К сожалению я не специалист в java и android, незнаком с этой библиотекой. Методов или чего либо связанного с "pulse" или "heart" не обнаружил

Код ниже - получение характеристик через BLE для Xamarin

foreach (var TestService in Services)
            {
                var characteristics = await TestService.GetCharacteristicsAsync();
                foreach (var Characteristic in characteristics)
                {
                    var properties = Characteristic.Properties;
                    var name = Characteristic.Name;
                    var serv = Characteristic.Service;
                    var value = Characteristic.Value;
                    var stringValue = value.ToString();
                    string result = "";
                    if (value.Length != 0)
                        result = System.Text.Encoding.UTF8.GetString(value, 0, value.Length - 1);
                }
            }

READ ALSO
Создание\удаление объектов. Instantiate

Создание\удаление объектов. Instantiate

Всем приветПишу простую 2д игру на юнити

157
С# TabControl получить кнопку из заголовка

С# TabControl получить кнопку из заголовка

Интересует, есть ли возможность получить доступ к кнопке, которая отвечает за конкретную вкладку в компоненте TabControl:

151
C# Entity Framework many-to-many relations

C# Entity Framework many-to-many relations

У меня есть класс Student, который содержит информацию о студентах, а так же клас Group, который содержит описания факультетаОдин студент может...

165