我正在使用传感器温度,压力和湿度进行测量。对于这三个值,传感器具有以下寄存器,如图所示:
总而言之,我们有8个字节。 8字节通过蓝牙智能发送到我的Android手机,在那里我想提取包的数据,以获得压力,温度和湿度的值。但我只能发送大小为4字节的包。因此,8字节被分成两个4字节的包。 第一个包包含地址0xF7,0xF8,0xF9,0xFA 第二个包包含地址0xFB,0xFC,0xFD,0xFE
为了接收数据包,我使用Java中的Android BluetoothGattCharacteristic。
我收到的套餐格式为HEX。
为了提取数据,我现在有了这段代码:
public static void extractData_Sensor1(BluetoothGattCharacteristic package1, BluetoothGattCharacteristic package2){
byte[] one = package1.getValue();
byte[] two = package2.getValue();
byte[] Data_Sensor_1 = new byte[one.length + two.length];
System.arraycopy(one,0,Data_Sensor_1,0 ,one.length);
System.arraycopy(two,0,Data_Sensor_1,one.length,two.length);
}
所以我收到两个数据包并将它们复制到一个字节数组中。我的问题是我不知道,如何提取压力,温度和湿度的值。 也许这已经是错误的方式,所以请帮助我!
提前致谢!