BLE Advertising RawData - Как декодировать? - PullRequest
1 голос
/ 30 мая 2020

У меня есть фитнес-браслет E66, подключенный к шлюзу, и он подключается к шлюзу, и я получаю данные по MQTT. Но я не уверен, как декодировать формат RawData, может ли кто-нибудь мне с этим помочь? Спасибо

{
      "TimeStamp":"2020-05-30 16:44:32",
      "DataFormat":"RawData",
      "BLEMac(hex)":"E5F604C2EAAE",
      "RSSI(dBm)":-30,
      "BLEName":"E67 EAAE",
      "RawData(hex)":"02010610FF107803E8000000000000640023290009094536372045414145"
  }

1 Ответ

1 голос
/ 01 июня 2020

Данные BLE декодируются следующим образом: -

  • 1-й байт = длина (n байтов)
  • 2-й байт = Типы
  • n-1 байт = фактическое data

И это повторяется для всех сырых данных. Вы можете найти значение необработанных данных здесь . Переходя к вашему примеру: -

1-й набор :

  • 02: Длина: 2 байта
  • 01: Тип: Флаги
  • 06: Флаг - 02 && 04: LE General Discoverable && BR / EDR не поддерживается

2-й набор :

  • 10: Длина : 16 байт
  • FF: Тип: Данные изготовления
  • 107803E80000000000006400232900: Указанные данные c производителю

3-й набор :

  • 09: Длина: 9 байт
  • 09: Тип: полное локальное имя
  • 4536372045414145: E67 EAAE (имя устройства в ASCII)

Надеюсь, это поможет.

...