|
delphi 10.3 Bluetooth и тонометр AND UA651
|
|||
---|---|---|---|
#18+
Привет всем. Борюсь вот с какой задачей. Надо через мобильное приложение считывать данные с тонометра AND 651 (он же 911). Мобильное приложение работает(и на айосе тоже), по блютусу коннектится, и даже данные с прибора читает. Но, только служебные, такие как уровень заряда батареии, номер прошивки, модель устройства, и.т.д. А вот давление — нет. В инструкции для разработчика нарисовано, что прибор нужно перевести в какое-то особое состояние, как я понял/ Соответственно, имею два вопроса: 1. Я помню, в какой-то из старых дельфей был прямо пример подключения к AND, только 621, а не 651 модели, если я правильно помню. Може кто подсказать, где поискать коды тех примеров? Я на sourceforg-е искал, не могу найти 2. Если я правильно понял это японское, блин, графити, то чтобы перевсти прибор в "особое состояние", надо передать ему флаг и команду синхронизации времени, и после этого он начнёт передавать данные в течение 5-ти секунд. Пишут вот что: 1. Set the application to pairing mode to start scanning. 2. Start pairing of A&D BLE device following each instruction manual. 3. At pairing mode, the application should set time and date and any other device settings to A&D BLE device. After successful pairing, A&D BLE device shows “End” on the screen. 4. Take a measurement and finish the measurement, then A&D BLE device start BLE connection with advertising. The application starts scanning with suitable interval so that the application catches the advertising of A&D BLE device as soon as it can. 5. At initial connection or pairing, the Application set “2” to CCCD (Client Characteristic Configuration Descriptor) so that A&D BLE device sends a measurement data with Indication. 6. After A&D device recognizes to be set “2” to CCCD and to be synchronized time and date within 5 seconds after connected, send the data with Indication. 7. If the timeout set CCCD and time and date is expired, A&D BLE device will not send data and store the data in memory. The stored data in A&D BLE device can send next successful connection. Как это сделать? я не могу поянть, как прописать CCCD, как синхронизироваьт время? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2019, 02:30 |
|
delphi 10.3 Bluetooth и тонометр AND UA651
|
|||
---|---|---|---|
#18+
Всё сделал. Пишу сюда, вдруг кому понадобится. Всё оказалось до ужаса скучно. Есть только одна тонкость, ниже расскажу. Как оказалось "всреднем по больнице" порядок работы с медицинскими устройствми одинаковый: 0. Нужно найти характеристику, в которую будут возвращаться данные. Это надо делать либо в документалове, либо методом тыка. У характеристики обычно красноречивое название, типа "Preassure Measurement", "Temperature", и.т.д. Далее нужно запустить прибор, измерить показатель, дождаться когда прибор начнёт моргать блютусом(в этот момент он рассылет рекламное сообщение), запустить мобильное приложение, и сделать в нём следующее: 1. Получить устройство. 2. Прочитать сервисы. В этот момент дельфя сама подключится к устройству. В первый раз операционка мобилы попросит подтвердить спаривание. 3. Получить сервис, в котором есть характеристика "Дата Время" (он может соввпадать с тем, в котором характеристика с данными, а может отличатсья). В случае с тонометром совпало, а у китайских термометров — оказалась в отдельном сервисе. 4. Получить характеристику "Дата время" (не прочитать, получить!!!). 5. Записать в характеристику "Дата время" текущие дату и время с мобильного устройства. 6. Записать команду отправки данных. На всех устройствах это делается по-разному. Есть некая "кастомная характеристика", которая позволяет отправить на устройство команду на передачу данных. Сама команда — это несколько байт. И вот тут тонкость. Получить эту кастомную характеристику стандартынм методом почему-то иногда нельзя. Зато можно просто по индексу в сервисе. То есть BC:=SV_CUST.GetCharacteristic(CUSTHAR_UUID); — Не работает, хотя должно BC:=SV_CUST.Characteristics[0]; — А вот так работает. 7. Далее всё скучно. Подписываемся на характеристику с данными (метод SubscribeToCharacteristic). 8. В обработчике "OnCharacteristicRead" ловим данные и их парсим. На всё про всё 20-30 стрчек кода, не считая парсинга(мы при парсинге пишем в базу данных, и целая история дальше). Приложение нормально работает и на Андроиде, и на Айос. Вцелом резюме следующее — не надо бояться, в дельфе, как обычно, всё работает. Надо только разбораться, какие именно 20-30 строчек написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2019, 11:17 |
|
delphi 10.3 Bluetooth и тонометр AND UA651
|
|||
---|---|---|---|
#18+
Добрый день. Вот то же бьюсь над таким же тонометром. И некоторые моменты не совсем понятны. Например авторПолучить характеристику "Дата время" (не прочитать, получить!!!). Вот в чем разница. Если можно было бы не плохо ключевые моменты кода. С временем получением и записью. С кастомной характеристикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 09:30 |
|
|
start [/forum/topic.php?fid=58&tid=2036992]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 153ms |
0 / 0 |