Я реализую приложение для 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, прочитать доступные услуги и характеристики, не знаю, где писать команды или читать характеристики.
внедрение приложения BLE без знания UUIDS
Ответы (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()
для получения данных из характеристики
Также взгляните на по следующей ссылке