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

 找回密码
 立即注册
查看: 1195|回复: 19

[技术探讨] esp32刷esphome做蓝牙定位 传感器延迟极大 求解决方法

[复制链接]

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
发表于 2023-12-25 15:57:59 | 显示全部楼层 |阅读模式
本帖最后由 kjjuhfv 于 2023-12-25 16:27 编辑

按这位大佬的教程刷了固件    https://bbs.hassbian.com/thread-6758-1-1.html
经测试发现
从手机打开蓝牙 到传感器显示为开启  足足要20多秒
看日志发现  传感器一开始就发现手机了 但是它改变状态却延迟了20多秒
到关闭手机蓝牙环节就更离谱了
从关闭到传感器改变状态 至少延迟了450秒 也就是七分半
后面几次试过8分钟 9分钟都有
有大佬知道怎么回事吗?
测试环境为esp32    安卓手机安装ha官方app开启蓝牙信标

# Enable logging
logger:
  level: VERY_VERBOSE

esp32_ble_tracker:

binary_sensor:
  # Presence based on MAC address
  - platform: ble_presence
    mac_address: 38:C8:04:C3:AA:E8
    name: "ESP32 BLE Tracker Google Home Mini"
  # Presence based on BLE Service UUID
  - platform: ble_presence
    service_uuid: '11aa'
    name: "ESP32 BLE Tracker Test Service 16 bit"
  # Presence based on iBeacon UUID
  - platform: ble_presence
    ibeacon_uuid: 'd3599f2a-e31e-4def-ac5f-534c026ad5b8'
    name: "ESP32 BLE Tracker Test Service iBeacon"
    ibeacon_major: 93
    ibeacon_minor: 1

sensor:
  - platform: ble_rssi
    ibeacon_uuid: 'd3599f2a-e31e-4def-ac5f-534c026ad5b8'
    name: "ESP32 BLE Tracker Test Service iBeacon"


回复

使用道具 举报

110

主题

1624

帖子

5120

积分

元老级技术达人

积分
5120
金钱
3491
HASS币
30
发表于 2023-12-25 16:58:17 | 显示全部楼层
用ha的app里的传感器,就能实时显示,手机蓝牙的开启和关闭,不知道你这样做,有什么额外的功能,如果你想定位,是不是传感器的实时更新,没有打开,
回复

使用道具 举报

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
 楼主| 发表于 2023-12-25 17:28:19 | 显示全部楼层
bugensui 发表于 2023-12-25 16:58
用ha的app里的传感器,就能实时显示,手机蓝牙的开启和关闭,不知道你这样做,有什么额外的功能,如果你想 ...

大佬说的实时更新是指ha的app吗?
我说的是esp32的传感器
回复

使用道具 举报

110

主题

1624

帖子

5120

积分

元老级技术达人

积分
5120
金钱
3491
HASS币
30
发表于 2023-12-25 17:39:24 | 显示全部楼层
kjjuhfv 发表于 2023-12-25 17:28
大佬说的实时更新是指ha的app吗?
我说的是esp32的传感器

ha的app里。能体现手机很多的传感器数据,比如wifi,蓝牙这些,需要设置更新频率的,默认应该都是慢速,你可以根据需要设置成及时更新,不知道是不是这个原因
回复

使用道具 举报

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
 楼主| 发表于 2023-12-25 18:20:20 | 显示全部楼层
bugensui 发表于 2023-12-25 17:39
ha的app里。能体现手机很多的传感器数据,比如wifi,蓝牙这些,需要设置更新频率的,默认应该都是慢速, ...

你理解错了 不是这个
是esp32的固件有问题
这个固件并不需要连接蓝牙 它只扫描蓝牙 扫描到就显示存在
现在说的是扫描延迟
回复

使用道具 举报

6

主题

74

帖子

635

积分

高级会员

Rank: 4

积分
635
金钱
561
HASS币
10
发表于 2023-12-25 19:52:25 | 显示全部楼层
你的ESP32是通过API还是MQTT接入HA?你看一下你的RSSI更新的如何,如果更新及时说明ESPhome的固件应该问题不大,之前我做个类似的Seneor是扫描BLE Beacon,非常灵敏,你可以通过判断RSSI开控制binary_sensor的状态。
binary_sensor:
  - platform: template  ##ibeacon开关
    name: "Benson12-iBeaconKey"
    id: benson12_ibeaconkey
    lambda: |-
      if (id(benson12_ibeacon_rssi).state > -85) {
        return true;
      } else {
        return false;
      }
    filters:
      - delayed_off: 10s
回复

使用道具 举报

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
 楼主| 发表于 2023-12-25 21:51:32 | 显示全部楼层
shenbo 发表于 2023-12-25 19:52
你的ESP32是通过API还是MQTT接入HA?你看一下你的RSSI更新的如何,如果更新及时说明ESPhome的固件应该问题 ...

通过api方式接入
大佬也遇到这个问题了吗?
难道这个是直接设计成这样的?
回复

使用道具 举报

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
 楼主| 发表于 2023-12-25 22:07:01 | 显示全部楼层
shenbo 发表于 2023-12-25 19:52
你的ESP32是通过API还是MQTT接入HA?你看一下你的RSSI更新的如何,如果更新及时说明ESPhome的固件应该问题 ...

测试了一次也是传感器检测到后就关蓝牙
这是日志
[21:56:32][D][binary_sensor:036]: 'ESP32 BLE Tracker Test Service iBeacon': Sending state ON
[21:56:32][D][sensor:094]: 'ESP32 BLE Tracker Test Service iBeacon': Sending state -67.00000 dBm with 0 decimals of accuracy
[21:56:32][D][binary_sensor:036]: 'Benson12-iBeaconKey': Sending state ON
[22:00:40][I][ota:117]: Boot seems successful, resetting boot loop counter.
[22:00:40][D][esp32.preferences:114]: Saving 1 preferences to flash...
[22:00:40][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[22:00:42][D][esp32_ble_tracker:266]: Starting scan...
[22:05:42][D][esp32_ble_tracker:266]: Starting scan...
[22:05:42][D][binary_sensor:036]: 'ESP32 BLE Tracker Test Service iBeacon': Sending state OFF
[22:05:42][D][sensor:094]: 'ESP32 BLE Tracker Test Service iBeacon': Sending state nan dBm with 0 decimals of accuracy
[22:05:52][D][binary_sensor:036]: 'Benson12-iBeaconKey': Sending state OFF

回复

使用道具 举报

16

主题

213

帖子

1648

积分

论坛DIY达人

积分
1648
金钱
1430
HASS币
20
发表于 2023-12-26 10:30:34 | 显示全部楼层
您提到“看日志发现  传感器一开始就发现手机了 但是它改变状态却延迟了20多秒”,这个可能要重点需要排查一下esp32的工作状态是否正常。你可以贴出延迟20秒的日志,以及你的esp32是开发板还是自制的?供电情况怎么样。
回复

使用道具 举报

18

主题

436

帖子

1965

积分

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1529
HASS币
0
 楼主| 发表于 2023-12-26 13:21:59 | 显示全部楼层
本帖最后由 kjjuhfv 于 2023-12-26 13:23 编辑
polisher 发表于 2023-12-26 10:30
您提到“看日志发现  传感器一开始就发现手机了 但是它改变状态却延迟了20多秒”,这个可能要重点需要排查 ...

这个日志可能无法直观的看到
因为它改变状态的时候会显示  
已开启 在26秒前也就是等我能看到已开启这个日志的时候它直接显示26秒前

Esp32是跟nodemcu开发板那种类型

Screenshot_20231226-131742_Home_Assistant.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-17 11:23 , Processed in 0.691255 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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