从通知特征中读取(离子 - 蓝牙)

时间:2017-07-11 08:40:07

标签: cordova ionic-framework bluetooth

我正在尝试使用默认的蓝牙配置文件0x1808连接到葡萄糖传感器。我已经连接到设备,发现了所有服务和特征,但我无法阅读葡萄糖测量0x2A18

{
  "service":"1808",
  "characteristic":"2a18",
  "properties":["Notify"],
  "descriptors":[{
    "uuid":"2902"
  }]
},
{
  "service":"1808",
  "characteristic":"2a34",
  "properties":["Notify"],
  "descriptors":[{
    "uuid":"2902"
  }]
},
{
  "service":"1808",
  "characteristic":"2a51",
  "properties":["Read"]
},
{
  "service":"1808",
  "characteristic":"2a52",
  "properties":["Write","Indicate"],
  "descriptors":[{
    "uuid":"2902"
  }]
}

任何人都可以帮助我阅读0x2a18的价值吗? 我是否必须向0x2a52(记录访问控制点)写任何内容才能获得访问权限?

我是蓝牙连接新手。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

在葡萄糖服务(https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.glucose.xml)中有3个强制性特征。其中之一是葡萄糖测量,您可以获得葡萄糖读数通知。要获取通知,您必须使用“记录访问控制点”特征来请求它们。它允许您获取所有葡萄糖读数,只有最新的,只有第一个,从设备中删除已保存的读数等。

例如,

  • 启用葡萄糖测量特征通知。
  • 启用记录访问控制点特征的指示。
  • 发送f.e. 0x0101 =报告存储的记录|所有记录

你应该在Glucose Measurement char上收到N个通知。然后是RACP char的指示。值:0x06000101 =响应"报告存储的记录" |成功。如果葡萄糖装置上没有保存读数,则N可以是0。

阅读GLS文档:https://www.bluetooth.org/en-us/specification/adopted-specifications - > GLS - > PDF有关葡萄糖服务和记录访问控制点格式的更多信息。

答案 1 :(得分:0)

您尝试“阅读”的特征很可能无法读取,但可以通过“通知”或“指示”回调方法传递。 您最好首先检查此特征是否“可通知”和/或“可指示”,然后在您的代码中设置所需的回调事件: - 将DescriptorValue写为'通知'和/或'可指示' - 为此特性注册回调事件。