解释光传感器的BluetoothGatt值

时间:2014-06-12 04:16:56

标签: android byte bluetooth-lowenergy sensor gatt

我正在编写一个从BLE设备的光传感器接收值的应用程序。我正在试图确定我收到的是什么。我试图获得传感器提供的Lux值,但我担心它需要转换。我不知道这个传感器的测量单位是多少。例如,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,这超出了我的范围。根据制造商的描述,它指出第一个字节是地址00x03处的HILUX,第二个字节是地址00x04处的LOLUX,默认值为00:00。

我在这看什么,哪里出错了?我受伤的地方是我对正在阅读的内容的理解。似乎无法获得良好的搜索环境来了解它。

由于

0 个答案:

没有答案