Polar H7 未解决的服务和特性(它们有什么用?)
Polar H7 unresolved service and characteristics (what are they for?)
我正在开发一款使用 Polar H7 心率监测器的应用程序。
我最初在发现它的服务时遇到了一些麻烦,因为我会得到一个大对象,而十六进制代码对我来说没有任何意义。
现在我已经解决了几乎所有的服务和特性,但还有一些我还没有弄清楚。
这是一个包含 service/characteristicUuid 及其 name/functionality 的简化对象:
// first layer keys are serviceUuid's
// second layer keys are characteristicUuid's
// with their respective name/description as values
{
"1800" /* Generic Access */ : {
"2a00": "Device Name",
"2a01": "Appearance",
"2a02": "Peripheral Privacy Flag",
"2a03": "Reconnection Address",
"2a04": "Peripheral Preferred Connection Parameters"
},
"1801" /* Generic Attribute */ : {
"2a05": "Service Changed"
},
"180d" /* Heart Rate */ : {
"2a37": "Heart Rate Measurement",
"2a38": "Body Sensor Location"
},
"180a" /* Device Information */ : {
"2a23": "System ID",
"2a24": "Model Number String",
"2a25": "Serial Number String",
"2a26": "Firmware Revision String",
"2a27": "Hardware Revision String",
"2a28": "Software Revision String",
"2a29": "Manufacturer Name String"
},
"180f" /* Battery Service */ : {
"2a19": "Battery Level"
},
"6217ff4b-fb31-1140-ad5a-a45545d7ecf3" /* unknown */: {
"6217ff4c-c8ec-b1fb-1380-3ad986708e2d": "unknown", /* read:true */ // value = uInt16Array [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
"6217ff4d-91bb-91d0-7e2a-7cd3bda8a1f3": "unknown" /* write:true, indicate:true, descriptors:{ descriptorUuid: "2902" }*/
}}
我找不到关于最后一个 serviceUuid 的任何文档,它是 characteristicUuid 的。
我不知道我错过了什么,所以我不知道它对我的项目是否重要。
您不熟悉的是供应商特定的 UUID。 Vendors can define their own custom UUID's
这些对您的项目可能重要也可能不重要,具体取决于您要从设备中提取的内容。如果只是你感兴趣的心率,应该没问题,你可以关注Bluetooth standard。您想要提取的自定义 UUID 中可能有额外数据。
从这些供应商特定的 UUID 中提取数据是一个反复试验的问题,除非您可以从供应商那里获得规范。
我正在开发一款使用 Polar H7 心率监测器的应用程序。 我最初在发现它的服务时遇到了一些麻烦,因为我会得到一个大对象,而十六进制代码对我来说没有任何意义。
现在我已经解决了几乎所有的服务和特性,但还有一些我还没有弄清楚。
这是一个包含 service/characteristicUuid 及其 name/functionality 的简化对象:
// first layer keys are serviceUuid's
// second layer keys are characteristicUuid's
// with their respective name/description as values
{
"1800" /* Generic Access */ : {
"2a00": "Device Name",
"2a01": "Appearance",
"2a02": "Peripheral Privacy Flag",
"2a03": "Reconnection Address",
"2a04": "Peripheral Preferred Connection Parameters"
},
"1801" /* Generic Attribute */ : {
"2a05": "Service Changed"
},
"180d" /* Heart Rate */ : {
"2a37": "Heart Rate Measurement",
"2a38": "Body Sensor Location"
},
"180a" /* Device Information */ : {
"2a23": "System ID",
"2a24": "Model Number String",
"2a25": "Serial Number String",
"2a26": "Firmware Revision String",
"2a27": "Hardware Revision String",
"2a28": "Software Revision String",
"2a29": "Manufacturer Name String"
},
"180f" /* Battery Service */ : {
"2a19": "Battery Level"
},
"6217ff4b-fb31-1140-ad5a-a45545d7ecf3" /* unknown */: {
"6217ff4c-c8ec-b1fb-1380-3ad986708e2d": "unknown", /* read:true */ // value = uInt16Array [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
"6217ff4d-91bb-91d0-7e2a-7cd3bda8a1f3": "unknown" /* write:true, indicate:true, descriptors:{ descriptorUuid: "2902" }*/
}}
我找不到关于最后一个 serviceUuid 的任何文档,它是 characteristicUuid 的。 我不知道我错过了什么,所以我不知道它对我的项目是否重要。
您不熟悉的是供应商特定的 UUID。 Vendors can define their own custom UUID's
这些对您的项目可能重要也可能不重要,具体取决于您要从设备中提取的内容。如果只是你感兴趣的心率,应该没问题,你可以关注Bluetooth standard。您想要提取的自定义 UUID 中可能有额外数据。
从这些供应商特定的 UUID 中提取数据是一个反复试验的问题,除非您可以从供应商那里获得规范。