『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 10907|回复: 11

[经验分享] 蓝牙定位 一些思考和踩坑

[复制链接]

13

主题

159

帖子

1098

积分

论坛技术达人

积分
1098
金钱
929
HASS币
70

教程狂人

发表于 2019-5-9 14:04:25 | 显示全部楼层 |阅读模式
本帖最后由 printusing163 于 2019-5-12 23:02 编辑

最近在研究定位,分别对Wi-Fi、蓝牙、GPS等手段以及跨平台方案的调研,先发点蓝牙相关踩的一些坑,晚点再补上BeaconLocator的插件。

# 蓝牙的问题
## 蓝牙BLE地址问题
BLE设备和传统蓝牙设备不同,BLE设备为了保护实际蓝牙物理地址会随机生成一个地址进行广播,以下是BLE地址的简单分类:

                               
登录/注册后可看大图


地址问题观察到的一些现象:
  • 对于Mac BeaconEmitter来说,会用Public地址类型进行广播
  • 对于其他移动设备,会用Random地址类型进行广播

## 定位原理
BLE耗电相理论上会比Wi-Fi和GPS更省电。
蓝牙定位需要发射器和接收器两个部件。
发射器需要通过BLE广播蓝牙报,相对来说比较省电;
接收器【e.g. ESP、安卓手机、苹果手机等】比较耗电,需要带电池带设备或者充电设备,在接受到发射器广播后发送HTTP或MQTT。

## iOS蓝牙接收器推荐应用:Owntracks

## 安卓蓝牙接收器推荐应用:BeaconLocator

## 嵌入式蓝牙beacon接收器:ESP32
### BeaconLocator源码分析

## 安卓beacon模拟器
可以使用Android Simulator来模拟beacon,并设置后台运行实现定位。

## 更多参考

* 安卓端Beacon Locator定位接入 - https://bbs.hassbian.com/forum.p ... mp;extra=#pid221469

回复

使用道具 举报

73

主题

1165

帖子

6643

积分

论坛元老

Rank: 8Rank: 8

积分
6643
金钱
5473
HASS币
30
发表于 2019-5-9 14:22:32 | 显示全部楼层
用小米手环(15天充电一次),自带蓝牙广播,ESP32刷ESP-HOME,完美解决蓝牙定位。
回复

使用道具 举报

13

主题

159

帖子

1098

积分

论坛技术达人

积分
1098
金钱
929
HASS币
70

教程狂人

 楼主| 发表于 2019-5-9 14:52:49 | 显示全部楼层
xuyang 发表于 2019-5-9 14:22
用小米手环(15天充电一次),自带蓝牙广播,ESP32刷ESP-HOME,完美解决蓝牙定位。 ...

这是一种解决方案,之前想用安卓手机当beacon当,结果BLE协议会改变地址,所以只能自己解析beacon包了。
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2019-5-9 21:25:33 | 显示全部楼层
xuyang 发表于 2019-5-9 14:22
用小米手环(15天充电一次),自带蓝牙广播,ESP32刷ESP-HOME,完美解决蓝牙定位。 ...

怎么个完美法,分享下教程?
回复

使用道具 举报

27

主题

387

帖子

3253

积分

元老级技术达人

积分
3253
金钱
2846
HASS币
40

教程狂人

发表于 2019-5-10 10:07:31 | 显示全部楼层
xuyang 发表于 2019-5-9 14:22
用小米手环(15天充电一次),自带蓝牙广播,ESP32刷ESP-HOME,完美解决蓝牙定位。 ...

我沒測過ESP32刷ESP-HOME
所以想請教一下我之前遇到的BLE定位問題

1.BLE定位的反應時間多少(人走到旁邊時多久可以反應)
2.如果有兩個BLE裝置同時走到ESP32旁邊,是否可同時反應?
3.使用BLE定位時,是否會導致ESP32不定時重啟?(記憶體回收問題)

以上是我在研究ESP32藍牙BLE定位時發現的問題,也盡量用程式去解決了
不知道ESP-HOME效果如何?

回复

使用道具 举报

73

主题

1165

帖子

6643

积分

论坛元老

Rank: 8Rank: 8

积分
6643
金钱
5473
HASS币
30
发表于 2019-5-10 10:12:20 | 显示全部楼层
windgo 发表于 2019-5-10 10:07
我沒測過ESP32刷ESP-HOME
所以想請教一下我之前遇到的BLE定位問題

可以设置,从日志上看,是不间断进行扫描。
回复

使用道具 举报

1

主题

81

帖子

257

积分

论坛分享达人

积分
257
金钱
176
HASS币
10
发表于 2019-5-10 17:19:18 | 显示全部楼层
xuyang 发表于 2019-5-9 14:22
用小米手环(15天充电一次),自带蓝牙广播,ESP32刷ESP-HOME,完美解决蓝牙定位。 ...

mark ~~~~~
回复

使用道具 举报

1

主题

92

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
金钱
193
HASS币
0
发表于 2019-5-30 01:10:39 来自手机 | 显示全部楼层
感觉室内定位才是智能家庭的核心
回复

使用道具 举报

13

主题

159

帖子

1098

积分

论坛技术达人

积分
1098
金钱
929
HASS币
70

教程狂人

 楼主| 发表于 2019-5-30 13:47:51 | 显示全部楼层
mocja28 发表于 2019-5-30 01:10
感觉室内定位才是智能家庭的核心

应该是智能家居的开始吧,准确预测场景才是王道
回复

使用道具 举报

20

主题

334

帖子

2483

积分

论坛积极会员

积分
2483
金钱
2149
HASS币
0
发表于 2020-2-12 22:35:30 | 显示全部楼层
试过esp32用作ble的hub,然后用扫描手表的蓝牙,实际测试下来有延迟,基本上走进和离开都在1分钟以上,觉得不太实用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 19:24 , Processed in 0.063897 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表