Data Characteristic Changed работает на одном устройстве, а не на втором идентичном

У меня есть небольшая программа для отправки данных BluetoothLE в приложении Xamarin Forms.

Устройство Bluetooth представляет собой адаптер Honeywell Dex. портативные устройства - Honeywell CT60, работающий 7.1.1, сниффер портов, который я использую, - Device Monitoring Studio.

Я пишу в характеристику и получаю данные через событие DataCharacteristicChange.

вот как я получаю характеристику записи

WriteCharacteristic = gatt.GetService(DEX_SERVICE_SPP)
                        .GetCharacteristic(DEX_CHARACTERISTIC_DATAWRITE);

тогда я делаю это

gatt.SetCharacteristicNotification(WriteCharacteristic, true)

и наконец это

BluetoothGattDescriptor descWrite = WriteCharacteristic.GetDescriptor (CLIENT_CHARACTERISTIC_CONFIG);

descWrite.SetValue (BluetoothGattDescriptor.EnableIndicationValue.ToArray ()); gatt.WriteDescriptor (descWrite);

это событие, которое запускается на устройстве № 1, но не на устройстве № 2

public override void OnCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic)

На устройстве № 1 это работает, я отправляю 0x05 и получаю обратно 0x10 0x30. 0x10 0x30 обрабатывается в событии DataCharacteristicChanged. Я вижу это также в анализаторе порта, который у меня есть.

На устройстве № 2, которое идентично #1 (та же ОС 7.1.1, обновление и т. Д.), Та же операция отправляет 0x05, но я получаю 0x10 0x30 на анализатор портов, но он никогда не попадает в DataCharacteristicEvent в Устройство № 2.

У меня вопрос двоякий. У кого-нибудь есть идеи, что может вызвать такое поведение. Какие инструменты я могу использовать, чтобы обнаружить разницу в конфигурации между двумя одинаковыми устройствами.

Спасибо

0 ответов

Другие вопросы по тегам