解释adafruit BLE方法的标志以设置GATT特性

时间:2018-08-04 18:30:43

标签: bluetooth bluetooth-lowenergy arduino-uno spi gatt

我正在使用Adafruit_BLE libraryAdafruit_BluefruitLE_SPI object将模拟输出GATT特性分配给Adafruit Bluefruit LE SPI Friend。我想了解设置这些GATT标志的格式。在adafruit heartrate monitor sketch example中,在第123行中设置了“心率测量GATT”特性:

    /* Add the Heart Rate Measurement characteristic */
  /* Chars ID for Measurement should be 1 */
  Serial.println(F("Adding the Heart Rate Measurement characteristic (UUID = 0x2A37): "));
  success = ble.sendCommandWithIntReply( F("AT+GATTADDCHAR=UUID=0x2A37, PROPERTIES=0x10, MIN_LEN=2, MAX_LEN=3, VALUE=00-40"), &hrmMeasureCharId);
    if (! success) {
    error(F("Could not add HRM characteristic"));
  }

和第115行中的GATT Heart Rate service

 /* Add the Heart Rate Service definition */
  /* Service ID should be 1 */
  Serial.println(F("Adding the Heart Rate Service definition (UUID = 0x180D): "));
  success = ble.sendCommandWithIntReply( F("AT+GATTADDSERVICE=UUID=0x180D"), &hrmServiceId);
  if (! success) {
    error(F("Could not add HRM service"));
  }

在GATTADDCHAR中寻址的标志(UUID,属性,Min_len,Max_len,值)如何与Heart Rate Measurement GATT characteristic中的字段相对应:名称,字段要求,格式,最小值,最大值,附加值信息

(有关GATTADDCHAR命令的说明,请参见pdf文件的第75页here

如果我想设置Analog Output GATT characteristic(或其他任何常规特征),那么我该如何准确地调用sendCommandWithIntReply(AT + GATTADDCHAR = ...)来避免出现错误?一些GATT特征具有可选字段,所以我想确切地知道我正在设置什么以及如何设置。

最后,我只想从缓冲区中读取16位字节并通过蓝牙发送它们。

0 个答案:

没有答案