从坐标到测距:蓝牙定位方案工程拆解(AoA RTLS / RSSI / Channel Sounding)
先说结论,避免后面绕:
要地图上的点 → 室内 AoA RTLS(标签 + 阵列网关 + 引擎 + 平台)。
要离车还有几米 → 车端 BLE 模组 + BCM。5.x 用 RSSI 标定;6.0 用 Channel Sounding(手机也得支持)。
这两条链路的天线、电源、认证都不同。蓝牙定位方案不要写成一颗 UART 模组“精度 0.3 m 全包”。
1. 需求先翻译成输出类型数字钥匙测距架构
项目里最常见的一句话是「做个蓝牙定位」。落到实现,蓝牙定位方案的输出只有两种:
| 输出 | 典型 API / 事件 | 你实际在维护什么 |
|---|---|---|
| x, y, floorId, ts | 轨迹、围栏、找设备 | 网关点位、引擎、标签电量 |
| distanceBand / rssi / csMeters | 迎宾、解锁、闭锁 | 天线、休眠、钥匙协议 |
if (needMapCoordinate) {
deploy AoA RTLS; // 医院 / 仓储
} else if (needUnlockDistance) {
deploy BLE key module; // PEPS / 数字钥匙
} else {
// LE Audio / CarPlay 不是定位问题
}
AoA 测的是到达角,引擎再解平面坐标;Channel Sounding 测的是两点距离(PBR + RTT)。把 CS 模组吊在天花板上当基站,或者把吸顶网关当数字钥匙天线,都属于类型用错。
室内完整业务背景可以看医院 RTLS;钥匙 5.3 量产路径看车规数字钥匙;CS 原理看测距与 BLE 6.0。
2. 室内 RTLS:标签 → 网关 → 引擎 → 平台
2.1 逻辑架构
flowchart LR T1[Tag BLE ADV/AoA] --> GW[AoA Gateway BLE 5.4 / PoE] T2[Tag ...] --> GW GW -->|Ethernet| ENG[Locate Engine] ENG --> PL[RTLS Platform] PL --> HIS[HIS / WMS / MES] PL --> API[REST / WS]
网关要阵列天线和安装高度,标签要续航和形态,引擎要平面图标定。少任何一层,你拿到的都不是「定位」,只是 RSSI 列表。
覆盖初值(必须步测修正):
coverageRadius ≈ installHeight * 2 // K3 类网关文档经验值
2.2 上行数据长什么样
引擎推给平台的最小字段,建议先锁死,再谈 UI:
{
"tagId": "T-1024",
"floorId": "F2",
"x": 12.4,
"y": 3.1,
"accuracyM": 0.6,
"ts": 1774000000,
"batteryPct": 81
}
围栏不要在标签里做,在平台做:
{
"rule": "geofence.exit",
"zoneId": "ward-3",
"tagId": "T-1024",
"action": "alarm"
}
2.3 最小验证(两周能跑通)
AOA-K3 是 1 网关 + 6 标签的评估包,用来验证「找得到」,不是全院施工图。
建议顺序:
平面图 + 层高(吸顶 / 侧挂一次定死)
PoE 通网关,引擎能看到 ADV
标定 4~6 个已知点,看 accuracyM
再接业务 API,不要先写大屏
人员标签形态可参考 FSC-BP110;套件总览见 AoA Kit。
3. 数字钥匙:手机 → 模组 → UART 事件 → BCM
3.1 逻辑架构
sequenceDiagram participant Phone participant MOD as BLE Module participant MCU as Host / BCM Phone->>MOD: ADV / Connect / Auth MOD->>MOD: RSSI or Channel Sounding MOD->>MCU: UART event (band/distance) MCU->>MCU: lock / welcome / start auth
模组负责无线和测距相关事件,开锁逻辑在 BCM。不要在射频固件里写死门锁。
距离带是策略,不是空旷通信距离:
FAR -> sleep / lock MID -> welcome NEAR -> unlock enable INSIDE -> start auth
RSSI 方案里这些带靠标定;CS 方案里带可以更稳,但实验室厘米数不能直接写 SOP。规范演进见蓝牙 6.3 信道探测。
3.2 主机侧事件(示意)
下面是主机协议的示意,不是某颗模组的真实 AT 表。量产以规格书为准。
# 模组 -> MCU EVT,NEAR,rssi=-52 EVT,CS,dist_cm=95,quality=ok EVT,LEFT # MCU -> 模组 CMD,SLEEP CMD,OTA,...
3.3 两条量产路径(不要混成一颗料)
| 路径 | 适用 | 对照模组 | 先确认 |
|---|---|---|---|
| BLE 5.3 + RSSI | 手机生态仍是 5.x,先把无感进入跑通 | FSC-BT3721V(EFR32BG22,UART/SPI,-40~+85℃) | 静态电流、学习、多钥匙 |
| BLE 6.0 + CS | 要更稳距离带、规划抗中继 | FSC-BT2004TV(CC2745R10-Q1,芯片 AEC-Q100) | 手机是否支持 Channel Sounding |
钥匙权限、分享、CCC 互操作在系统层,见 FeasyKey,不是测距模组能单独交付的。UWB 属于另一条第三代钥匙路径,和 AoA / CS 不是升级关系,见二代与三代数字钥匙。
座舱音频不要并进这条 UART。LE Audio 走 IVI,见座舱 LE Audio。
4. 测试用例(比再贴一张精度表有用)
室内:
[RTLS-01] 已知点标定,误差记到日志,不改发射功率碰运气 [RTLS-02] 围栏出界,告警时延 [RTLS-03] 标签掉电 / 遮挡,平台状态是否可解释
车侧:
[KEY-01] 口袋接近,NEAR 是否稳定 [KEY-02] 隔墙 / 邻车,不应 UNLOCK [KEY-03] 离车 LEFT -> 闭锁,休眠电流 [KEY-04] 有条件:中继转发,CS 路径是否比 RSSI 更难被骗
Demo 空旷距离 和 SOP 指标 分开存。蓝牙定位方案的验收应以用例通过率为准。
5. 踩坑
规格书把 AoA、CS、AEC-Q100、PoE 写在同一行。 蓝牙定位方案在这里被买成了三套系统。拆仓库:RTLS BOM / 钥匙 BOM。
用 RSSI 承诺亚米级全场轨迹。 RSSI 做钥匙分区可以;室内轨迹用 AoA。
CS 只测了模组,没测手机。 对端不支持 CS,事件永远不会来。
网关点位按宣传覆盖半径一次铺完。 层高、金属货架、玻璃隔断会改方向图,必须步测。
把引擎算的 accuracyM 当成芯片指标对外承诺。 那是标定结果,换层高就变。
厂区已有 AoA、车队还要无感进入时,只在平台同步状态(人已进车间 / 车已授权),射频仍两套。
6. 小结
蓝牙定位方案在代码和 BOM 上要分开维护:
室内:tagId + (x,y),硬件是网关阵列,验证包可以用 K3。
车侧:distanceBand,硬件是车规模组;5.3 走 BT3721V,6.0 CS 走 BT2004TV。
音频、UWB、云端钥匙生命周期各自有栈,不要塞进定位模组固件。
能跑通最小验证、用例能复现,再谈精度数字。数字是测出来的,不是从发射功率栏抄下来的。
审核编辑 黄宇
- 从坐标到测距:蓝牙定位方案工程拆解(AoA RTLS / RSSI / Channel Sounding)
- 南京大展亮相2026第29届中国国际胶粘剂及密封剂展,精彩圆满收官
- HART 多变量电流输出转换器接入 PLC 系统改造应用案例
- 鸿蒙大屏盯盘 解锁三折叠展开态下的悬浮盯盘新体验
- 新品 | 视美泰AIoT-3572EV重磅发布!多显示组合王者,全功能AI终端主板全新登场
- NXP i.MX RT1180系列跨界MCU赋能人形机器人运动控制
- 马杜罗夫妇辩护团队以健康理由申请暂释第一夫人
- 人这一辈子,一定要去一趟紫鹊界梯田!
- 特朗普专机应急滑梯因误操作弹出
- 从文创新品到科技互动 在服贸会打开北京文博新空间
- 江苏南京:打造惠企政策“最优一公里”
- 江西一女孩去香港看演唱会被取消全家低保?官方通报
- 美籍专家“灵魂质问”西方抹黑:都没来过中国,怎能随意评判?
- 在莫斯科国际书展“阅读中国”
- 这个“一眼看不懂工作内容”的新职业,能“火”多久?
- 上海航天专家解读“风云卫星家族”:下一代更加智能化