внедрение приложения BLE без знания UUIDS

Я реализую приложение для Android с использованием технологии BLE. устройство Bluetooth было разработано для измерения температуры. он использует cc2541 от TI. аппаратный тест с использованием приложения BTool Bluetooth low Energy Pc v1.40.5 отлично взаимодействует с устройством: мы записываем значение характеристики 0x2f и команду запуска 0100, а для ввода нисходящей команды (23 53 54 00 6e 00 00 . ..FE) используем в качестве характеристики значение 0x2b. вопрос в том, как реализовать тот же тест в моем приложении для Android. Я могу подключиться к устройству ble, прочитать доступные услуги и характеристики, не знаю, где писать команды или читать характеристики.


person user3893997    schedule 31.07.2014    source источник


Ответы (1)


Чтобы записать новое значение характеристики с помощью Android BLE API, вам необходимо сначала обновить значение характеристики локально, затем записать эту характеристику на удаленное устройство, а затем дождаться вызова обратного вызова onCharacteristicRead.

Пример записи значения в характеристику удаленного BLE-устройства:


1) Подключиться к удаленному устройству BLE
2) Узнать об услугах и характеристиках
3) Найти в BluetoothGatt BluetoothGattservice, который вы ищете
4) Найдите в BluetoothGattservice BluetoothGattCharacteristic , значение которого вы хотите обновить.
5) Установите новое значение локально для BluetoothGattCharacteristic, используя mCurrentCharacteristic.setValue(value)
6) Запишите обновленную характеристику на удаленное устройство BLE с помощью mBluetoothGatt.writeCharacteristic(mCurrentCharacteristic)
7) Затем дождитесь обратного вызова onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) вызывается, чтобы убедиться, что характеристика была успешно записана на удаленное устройство BLE

Чтобы прочитать значение характеристики с удаленного устройства BLE:


1) Подключиться к удаленному устройству BLE
2) Узнать об услугах и характеристиках
3) Найти в BluetoothGatt BluetoothGattservice, который вы ищете
4) Найдите в BluetoothGattservice BluetoothGattCharacteristic , значение которого вы хотите прочитать
5) Вызовите readCharacteristic(BluetoothGattCharacteristic characteristic)
6) Затем дождитесь обратного вызова onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) для получения характеристики с удаленного устройства BLE
7) Используйте функцию characteristic.getValue() для получения данных из характеристики

Также взгляните на по следующей ссылке

person Programonks    schedule 31.07.2014