ArtOS 快速开发框架

ArtOS 快速开发框架

首页
ArtOS框架
使用文档视频教程
Micropython
官方文档学习教程固件开发
发现
树莓派ESP32
生态圈
智能生活直播物联工业物联Node-RED
开发资源
开发板软件资源器件资源
关于ArtOS
登录 →
ArtOS 快速开发框架

ArtOS 快速开发框架

首页 ArtOS框架
使用文档视频教程
Micropython
官方文档学习教程固件开发
发现
树莓派ESP32
生态圈
智能生活直播物联工业物联Node-RED
开发资源
开发板软件资源器件资源
关于ArtOS
登录
  1. 首页
  2. 生态圈
  3. 智能生活
  4. iBeacon 数据帧解释

iBeacon 数据帧解释

0
  • 智能生活
  • 发布于 2026-01-13
  • 6 次阅读
极客熊
极客熊

一、iBeacon 本质上的“数据帧位置”

首先明确一点:

iBeacon 并不是一个独立的 BLE 协议层,而是放在 BLE 广播数据(Advertising Data)里的一种格式约定。

它存在于:

BLE Advertising Packet
└── Advertising Data (AD Structure)
    └── Manufacturer Specific Data (0xFF)
        └── iBeacon Payload

二、BLE 广播包整体结构(简化)

| Preamble | Access Address | Header | Payload | CRC |
                                |
                                └── Advertising Data

我们关心的只有 Advertising Data。


三、Advertising Data(AD Structure)通用格式

每一段 AD 数据都是:

| Length (1B) | Type (1B) | Data (N Bytes) |

iBeacon 使用的是:

Type = 0xFF  → Manufacturer Specific Data

四、iBeacon 在广播包中的完整字节结构

下面是最经典、标准的 iBeacon 数据帧(不含 BLE 头):

02 01 06
1A FF 4C 00 02 15
UUID(16B)
Major(2B)
Minor(2B)
TxPower(1B)

我们逐字节拆解。


五、逐字段详细解释(重点)

1️⃣ Flags(固定存在)

02 01 06

字节

含义

02

Length = 2

01

Type = Flags

06

LE General Discoverable + BR/EDR Not Supported

📌 这不是 iBeacon 专属,而是 BLE 广播的通用字段。


2️⃣ iBeacon 头部(核心标识)

1A FF 4C 00 02 15

拆解如下:

字节

含义

1A

Length = 26

FF

Type = Manufacturer Specific Data

4C 00

Apple Company ID

02

iBeacon Type

15

iBeacon Length = 21 bytes

📌 看到 4C 00 02 15,基本可以确定是 iBeacon。


3️⃣ UUID(16 字节)

fda50693 a4e2 4fb1 afcf c6eb07647825
  • 128-bit UUID

  • 大端序

  • 用于区分 Beacon 体系

工程含义:

“这是谁家的 Beacon / 哪个系统的 Beacon”


4️⃣ Major(2 字节)

00 01
  • 无符号 16-bit

  • 大端序

  • 范围:0~65535

工程用途:

  • 楼层

  • 区域

  • 场馆

  • 子系统


5️⃣ Minor(2 字节)

00 0A
  • 无符号 16-bit

  • 大端序

  • 范围:0~65535

工程用途:

  • 单个 Beacon 唯一编号

  • 精确到一个点位


6️⃣ TxPower(1 字节)

C5
  • 有符号 int8

  • 单位:dBm

  • 表示 1 米处的 RSSI

例子:

0xC5 = -59 dBm

⚠️ 工程现实:

  • 经常不准

  • 有时是写死的

  • 很多系统不依赖它


六、完整 iBeacon Payload 结构图

| Company ID | Type | Length | UUID | Major | Minor | TxPower |
|  2 bytes   | 1B   | 1B     | 16B  | 2B    | 2B    | 1B      |

七、一个完整示例(十六进制)

02 01 06
1A FF 4C 00 02 15
FD A5 06 93 A4 E2 4F B1 AF CF C6 EB 07 64 78 25
00 01
00 0A
C5

八、接收端(SDK / JS)是如何解析的

SDK 实际做的事情

  1. 扫描 BLE 广播

  2. 找 Type = 0xFF

  3. 判断 Company ID = 0x004C

  4. 判断 02 15

  5. 解析 UUID / Major / Minor / TxPower

  6. 计算 RSSI(接收端)


九、为什么你在 JS 里看不到“数据帧”

因为 SDK 已经帮你做了:

{
  uuid: "...",
  major: 1,
  minor: 10,
  rssi: -63,
  accuracy: 1.8
}

JS 层看到的是“解析后的语义数据”,不是原始帧。


十、工程上必须知道的 5 个事实

  1. iBeacon 只存在于广播

  2. 不建立连接

  3. 数据长度固定(21B payload)

  4. 没有加密

  5. 可以被完全伪造


十一、一句话总结(协议视角)

iBeacon 本质上是“Apple 定义的一种 Manufacturer Data 格式”。

理解了数据帧,你就理解了:

  • 为什么它只能广播

  • 为什么它适合识别而非定位

  • 为什么 RSSI 才是接收端的核心

相关文章
iBeacon安装布置建议

iBeacon安装布置建议

一、布置前的原则 1️⃣ 目的明确 先明确你的 iBeacon 系统想做什么: 目标

iBeacon 中的TxPower的值为什么0xC5?

iBeacon 中的TxPower的值为什么0xC5?

它“看起来像固定的”,这正是很多人困惑的根源。 下面我分 规范层 → 工程现实 → 你该如何对待 三层说清楚。 一、规范层结论(标准答案) TxPower 不是固定值。 在 iBeacon 规范中: TxPower = 1 米处的 RSSI 单位:dBm 类型:int8

iBeacon 数据帧解释

iBeacon 数据帧解释

一、iBeacon 本质上的“数据帧位置” 首先明确一点: iBeacon 并不是一个独立的 BLE 协议层,而是放在 BLE 广播数据(Advertising Data)里的一种格式约定。 它存在于: BLE Advertising Packet └── Advertising Data (AD

什么是iBeacon?

什么是iBeacon?

一、什么是 iBeacon(本质定义) iBeacon 是一种基于 BLE 广播的“近距离识别协议”,最早由 Apple 提出。 从技术本质看: 它 不是定位系统 不是连接协议 不建立连接 只做一件事:周期性广播身份信息 一句话概括: iBeacon = 低功耗广播 + 唯

蓝牙定位:Beacon与iBeacon的区别

蓝牙定位:Beacon与iBeacon的区别

随着物联网技术的普及,蓝牙Beacon和iBeacon成为室内定位与智能场景应用的核心技术。然而,许多人对两者的概念仍存在混淆。本文将深入解析它们的区别,并推荐两款高性价比的亿佰特蓝牙模组,助你轻松选型! Beacon与iBeacon:本质与定义 ① 蓝牙Beacon(信标) 技术基础:基于BLE(

BLE开发的概念,profile,service,characteristic, UUID

BLE开发的概念,profile,service,characteristic, UUID

一、Attribute(属性)——一切的“原子单位” 1. Attribute 是什么? Attribute 协议中唯一存在的实体

目录
  • 极客熊
  • 极客熊
  • 极客熊
Copyright © 2026 ArtOS All Rights Reserved. Powered by ArtOS.