如何从 HEX 中获取正确的葡萄糖测量值
How to get the correct glucose measurement value from HEX
我正在开发 android 应用程序,该应用程序用于在新数据可用时从 BLE 设备(任何 Glocometer)读取血糖水平。每当我通过连接到应用程序的设备检查我的血糖水平时,它的读数都低于十六进制值。我无法解析或识别此 HEX 值的格式。每当我解码这个 HEX 值 t 字符串时,实际糖分是 104 mg/dL 我得到值 1
Nhø
0B 04 00 E4 07 05 0E 0C 31 1D 4E 01 68 B0 F8 00 00
// For all other profiles, writes the data formatted in HEX.
final byte[] data = characteristic.getValue();
if (data != null && data.length > 0) {
final StringBuilder stringBuilder = new StringBuilder(data.length);
for(byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
intent.putExtra(EXTRA_DATA, new String(data) + "\n" + stringBuilder.toString());
}
如果您的设备使用的是采纳的Glucose service/characteristic,那么根据Bluetooth website,您的测量结果分为:-
- 字段 1:标志(8 位):0B(1011:存在时间偏移,类型和样本为真,kg/L,传感器状态为真)
- 字段2:序号(16位):04 00
- 字段 3:Date Time(54 位):E4 07 05 0E 0C 31 1D
- 字段 4:时间偏移量(16 位):4E 01
- 字段 5:单位 kg/L:(16 位 SFLOAT):68 0B
- 字段 6:单位 mol/L:(16 位 SFLOAT):不存在
- 字段 7:类型:(4 位):F
- 字段 8:位置:(4 位):8
- 字段 9:状态:(16 位):00 00
所以你的测量值是 68 0B。 68是104符合你的测量值。不确定 0B 的用途和用途,但现在可以丢弃它。
希望对您有所帮助。
我正在开发 android 应用程序,该应用程序用于在新数据可用时从 BLE 设备(任何 Glocometer)读取血糖水平。每当我通过连接到应用程序的设备检查我的血糖水平时,它的读数都低于十六进制值。我无法解析或识别此 HEX 值的格式。每当我解码这个 HEX 值 t 字符串时,实际糖分是 104 mg/dL 我得到值 1 Nhø
0B 04 00 E4 07 05 0E 0C 31 1D 4E 01 68 B0 F8 00 00
// For all other profiles, writes the data formatted in HEX.
final byte[] data = characteristic.getValue();
if (data != null && data.length > 0) {
final StringBuilder stringBuilder = new StringBuilder(data.length);
for(byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
intent.putExtra(EXTRA_DATA, new String(data) + "\n" + stringBuilder.toString());
}
如果您的设备使用的是采纳的Glucose service/characteristic,那么根据Bluetooth website,您的测量结果分为:-
- 字段 1:标志(8 位):0B(1011:存在时间偏移,类型和样本为真,kg/L,传感器状态为真)
- 字段2:序号(16位):04 00
- 字段 3:Date Time(54 位):E4 07 05 0E 0C 31 1D
- 字段 4:时间偏移量(16 位):4E 01
- 字段 5:单位 kg/L:(16 位 SFLOAT):68 0B
- 字段 6:单位 mol/L:(16 位 SFLOAT):不存在
- 字段 7:类型:(4 位):F
- 字段 8:位置:(4 位):8
- 字段 9:状态:(16 位):00 00
所以你的测量值是 68 0B。 68是104符合你的测量值。不确定 0B 的用途和用途,但现在可以丢弃它。
希望对您有所帮助。