商场找店、停车场找车、医院导航...蓝牙Beacon帮你搞定。
什么是Beacon?
Beacon就是一个不停广播的小设备:
- 不断发送蓝牙信号
- 带着自己的"身份证"(UUID)
- 手机收到信号,就能知道"哦,我离这个Beacon这么近"
定位原理
1. RSSI算距离
蓝牙信号是越远越弱的。
`
Beacon ──► 手机
│
│ RSSI = -50dBm → 很近(1米内)
│
│ RSSI = -70dBm → 有点远(3米)
│
│ RSSI = -90dBm → 很远(10米+)
`
2. 三角定位
3个Beacon一围,交叉定位:
`
Beacon A
●
/│\
/ │ \
/ │ \
/ │ \
●────●────●
Beacon B 你 Beacon C
`
3. 指纹定位(更准)
先人工走一遍,记录每个位置的信号特征,形成"指纹库"。定位时匹配指纹,比纯RSSI准3-5倍。
硬件方案
Beacon设备
| 方案 | 特点 |
|---|---|
| nRF52832 | 低功耗、稳定 |
| nRF52840 | 距离更远 |
| CC2640 | 成本低 |
| TLSR8258 | 极致便宜 |
推荐模块
| 模块 | 适合场景 |
|---|---|
| E73-2G4M04S1B | 入门学习 |
| 广播心钉 | 产品方案 |
| Nordic开发板 | 开发测试 |
蓝牙5.0带来的升级
| 对比项 | 蓝牙4.0 | 蓝牙5.0 |
|---|---|---|
| -------- | --------- | --------- |
| 室内距离 | 10米 | 40米 |
| 定位精度 | 3-5米 | 1-3米 |
| 电池寿命 | 2年 | 3-5年 |
| 方向查找 | 不支持 | 支持AoA/AoD |
蓝牙5.0 Long Range模式,让Beacon覆盖更广,需要的数量更少。
部署指南
间距多少?
| 场景 | 间距 | 高度 |
|---|---|---|
| 开阔大厅 | 10-15米 | 3米 |
| 普通房间 | 5-8米 | 2.5米 |
| 走廊 | 10米 | 2.5米 |
| 复杂区域 | 加密部署 | 2米 |
安装注意
⚠️ 不要:
- 贴金属表面
- 紧贴墙角
- 被遮挡
✅ 应该:
- 远离金属1米以上
- 开阔位置
- 均匀分布
系统架构
`
┌─────────────────────────────────────┐
│ 应用层 │
│ (商场导航、资产管理、人员定位) │
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ 定位引擎 │
│ (RSSI定位/指纹定位/三角定位) │
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ BLE网关/锚点 │
│ (收集Beacon信号,上传服务器) │
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ Beacon网络 │
│ (部署在固定位置的蓝牙设备) │
└─────────────────────────────────────┘
`
主流协议
iBeacon(苹果)
- UUID + Major + Minor
- 最通用
- 苹果生态完善
Eddystone(Google)
- 多种帧类型
- 更开放
- 支持URL广播
自定义协议
- 自己定义数据格式
- 灵活
- 需要自己开发APP
应用场景
✅ 商场导航
- 找店铺
- 找餐厅
- 找厕所
- 精准营销(靠近某店铺推送优惠券)
✅ 停车场找车
- 記停车位置
- 导航找车
- 支付联动
✅ 医院导航
- 科室导航
- 设备追踪
- 人员定位
✅ 工厂/仓库
- 叉车定位
- 货物追踪
- 人员管理
✅ 博物馆/展馆
- 展品讲解
- 客流统计
- 智能导览
精度影响因素
硬件
- Beacon发射功率
- 天线增益
- 部署密度
环境
- 墙壁遮挡
- 金属干扰
- 人体吸收
- WiFi干扰
算法
- 滤波处理
- 指纹库质量
- 定位算法选择
开发要点
广播参数设置
`c
// UUID:区分不同项目
#define UUID "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"
// Major:区分不同区域(楼层/区域)
#define MAJOR 1
// Minor:区分不同Beacon
#define MINOR 100
// TX Power:发射功率(-40dBm ~ +4dBm)
#define TX_POWER -59
`
APP开发
需要调用系统API:
- iOS:Core Location
- Android:BluetoothLeScanner
总结
Beacon定位适合:
- 室内场景(GPS不能用)
- 精度要求1-5米
- 大量设备部署
- 成本敏感
不适合:
- 精度要求厘米级(用UWB)
- 室外场景(用GPS)
- 实时追踪要求极高
相关文章:
- [蓝牙5.0与4.0区别](./02-蓝牙5.0模块和蓝牙4.0模块区别.md)
- [nRF52832深度解析](./04-nRF52832蓝牙模块深度解析.md)