You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BLE广播原始数据解码求助:E66手环RawData格式解析需求

Decoding E66 Smart Band RawData (BLE Broadcast)

Got it, let's break down that RawData hex string for your E66 smart band step by step. First, let's lay out the raw data you shared clearly:

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

Step 1: Understand BLE Broadcast Packet Structure

BLE RawData is made up of AD (Advertising Data) segments, each following this format:
[Length (1 byte)] + [Type (1 byte)] + [Data (Length-1 bytes)]

Let's split your RawData into these segments:

  • First segment (BLE Flags): 02 01 06

    • Length: 02 (2 bytes of type + data)
    • Type: 01 (BLE Flags)
    • Data: 06 → Means the device is in general discoverable mode and doesn't support classic Bluetooth. This is standard BLE stuff, no useful sensor data here.
  • Second segment (Manufacturer Custom Data - THE IMPORTANT PART): 10 FF 107803E80000000000006400232900

    • Length: 10 (16 bytes total for type + data)
    • Type: FF (Manufacturer Specific Data, where the band's sensor data lives)
    • Manufacturer Data breakdown:
      • First 2 bytes: 10 78 → This is the manufacturer ID (stored in little-endian, so actual ID is 0x7810, common for some budget smart bands)
      • Remaining bytes are the sensor payload: 03 E8 00 00 00 00 00 00 00 64 00 23 29 00
      • Let's map these to likely sensor values (based on E-series band common protocols):
        • 03: Frame type (probably real-time monitoring data)
        • E8 00: Steps (little-endian → 00E8 = 232 steps)
        • 00 00: Distance traveled (0 meters)
        • 00 00: Calories burned (0 kcal)
        • 00 00: Reserved/other metric (maybe sleep data, which is 0 here since it's daytime)
        • 64 00: Heart rate (little-endian → 0064 = 100 bpm)
        • 23 29: Likely battery voltage (23 = 35, 29 = 41 → ~3.5V, or battery percentage ~35-41%)
        • 00: Status flag (maybe 0 = not in active motion)
  • Third segment (Device Name): 09 09 4536372045414145

    • Length: 09 (9 bytes total)
    • Type: 09 (Complete Local Name)
    • Data: 4536372045414145 → Decodes to ASCII E67 EAAE, which matches your BLEName field. No surprises here.

Next Steps to Confirm & Refine

Since manufacturer protocols aren't always public, here's how to get more accurate decoding:

  • Collect multiple data samples: Capture RawData when the band is resting, during exercise, when heart rate changes, and when battery levels drop. Compare which bytes shift to map them to real-world values.
  • Check for official docs/SDK: If the brand has a developer portal, they might publish the exact protocol specs for RawData.
  • Look for open-source projects: Search for E66/E67 band decoding code—other developers might have reverse-engineered the protocol already.

内容的提问来源于stack exchange,提问作者Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:32:55