Интерпретация значения BluetoothGatt от датчика освещенности

Я пишу приложение, которое получает значения от датчика освещенности устройства BLE. Я пытаюсь определить, что я получаю. Я пытаюсь получить значение Люкс, которое предоставляется датчиком, но обеспокоен тем, что оно нуждается в преобразовании. Я не знаю, что такое единица измерения для этого датчика. Например, устройство для телефона Android - SI Lux. Должно быть достаточно просто, но для этого датчика спецификации не указаны.

Вот код, который дает мне вывод:

case MSG_LIGHT:
            characteristic = (BluetoothGattCharacteristic) msg.obj;
            if (characteristic.getValue() == null) {
                Log.w(TAG, "Error obtaining light value");
                return;
            }
            int formatlgt1 = -1;                
            formatlgt1 = BluetoothGattCharacteristic.FORMAT_SINT8;

            Log.i(LIGHT, "Light RawValue1 " + characteristic.getIntValue(formatlgt1, 0));
            Log.i(LIGHT, "Light RawValue2 " + characteristic.getIntValue(formatlgt1, 1));
            Log.w(LIGHT, "Light UUID " + characteristic.getUuid());
            Log.w(LIGHT, "Light Stored Value " + characteristic.getValue());
            Log.w(LIGHT, "Light Descriptors " + characteristic.getDescriptors());
            Log.d(LIGHT, "Light Characteristic " + characteristic);
            updateLightValues(characteristic);
            break;

Достаточно просто, просто прочитайте датчик и дайте мне различные выходные данные этого датчика во время чтения. Далее здесь вывод:

Light RawValue1 4
Light RawValue2 9
Light UUID 0000aa91-0000-1000-8000-00805f9b34fb
Light Stored Value [B@431d30b0
Light Descriptors [android.bluetooth.BluetoothGattDescriptor@4300e508, android.bluetooth.BluetoothGattDescriptor@4300eaf8]
Light Characteristic android.bluetooth.BluetoothGattCharacteristic@43002b10

Я интерпретирую, что измерение этого - RawValues ​​1 & 2, но регистрирую то, что сохранено, чтобы помочь. Проблема в том, что StoredValue равно [B@431d30b0, что вне меня. Согласно описанию производителя, он утверждает, что первый байт - это HILUX по адресу 00x03, а второй - LOLUX по адресу 00x04 со значением по умолчанию 00:00.

Что я здесь смотрю и куда я иду не так? Где мне больно, так это мое понимание того, что я читаю. Не получается получить хороший контекст поиска, чтобы узнать об этом.

Спасибо

0 ответов

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