请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 892|回复: 25

[修仙教程] !ESP Home实现基于蓝牙网关-TTL的智能门锁等蓝牙设备接入

[复制链接]

16

主题

228

帖子

988

积分

高级会员

Rank: 4

积分
988
金钱
745
HASS币
90
发表于 2020-6-19 19:41:25 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2020-6-27 10:59 编辑

参见我发的其他帖子,之前尝试了用树莓派+python、ESP8266+C的方法(源自killadm大神的LOCK2MQTT),完成蓝牙网关TTL消息的接收、整理以及向mqtt的转发,实现了蓝牙智能门锁(以及花花草草、蓝牙温湿度2)的HA接入。

树莓派跑这么简单的任务确实浪费,ESP8266采用C语言程序(LOCK2MQTT),虽然可以完成任务,但和esp home毫无关系,感觉有点格格不入。

初步体会到ESP Home的强大和方便之后,便想着如何把这个任务在ESP Home下实现,经过研读官方文档、参考已有案例,终于初步实现了这个想法。

这个方案相比LOCK2MQTT的好处或优势(其实是esphome原生api相对于mqtt的好处):

0、思路更简洁,TTL消息直接转化成传感器状态
1、不依赖于MQTT
2、配置改变无需重启HA
3、ESP Home统一管理
4、无需安装Arduino IDE等任何开发环境5、hass侧配置更简单(实际上,根本不需要配置,一切都在ESPHome这里搞定)。
6、据说效率更高、更稳定、延迟更低

实施方法:
0. 安装好ESP Home
1. 编辑保存ttlsensors.h文件(保存到HA的/config/esphone目录里)
2. ESP Home里新建结点(参考压缩包里的yaml文件)
3. upload(esphome会自动编译上传,当然如果是模块第一次刷固件,还得usb)

我这里提供的代码针对的是我使用的榉树门锁、花花草草监测仪、蓝牙温湿度2,需要根据各自的情况和需要修改,注意yaml和.h的匹配

已知问题:
1. 时间戳未转换成可读格式
  哪位编程高手给指点一下,在这个环境下如何把时间戳转换成可读的格式?
2. 每次接收ttl消息会有个错误提示,不影响正常工作。
  提示内容:[E][uart:096]: Reading from UART timed out at byte 0!
  我也不知道这个错误提示是咋回事~~~所以也不知道怎么消除,等高手出手吧。。。

TTL_sensors-on-ESPHome-master.zip (3.02 KB, 下载次数: 39)

评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 虽然看不懂,但感觉很厉害的样子。.

查看全部评分

建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

15

主题

165

帖子

658

积分

高级会员

Rank: 4

积分
658
金钱
488
HASS币
40
发表于 2020-6-19 21:32:56 | 显示全部楼层
有时间希望能研究下基于小米手环和ESP32的室内定位。
回复

使用道具 举报

16

主题

228

帖子

988

积分

高级会员

Rank: 4

积分
988
金钱
745
HASS币
90
 楼主| 发表于 2020-6-20 09:11:13 | 显示全部楼层
icase 发表于 2020-6-19 21:32
有时间希望能研究下基于小米手环和ESP32的室内定位。

室内定位?

我个人觉得,对于智能家庭来说,真正有用的是在家/离家检测(presence detection),这方面,我最推崇的是基于树莓派的分布式多用户检测方案——monitor https://bbs.hassbian.com/thread-10096-1-1.html

esp32也有ble,这方面我刚开始琢磨,暂时没啥值得说的。
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

15

主题

165

帖子

658

积分

高级会员

Rank: 4

积分
658
金钱
488
HASS币
40
发表于 2020-6-20 15:21:51 | 显示全部楼层
XCray 发表于 2020-6-20 09:11
室内定位?

我个人觉得,对于智能家庭来说,真正有用的是在家/离家检测(presence detection),这方面 ...

我的观点略有不同,离家/在家更多是安防的需求更大,的确很重要,不过基于iCloud,手机、ble蓝牙、路由等解决方案很多,虽然都存在稳定性不足的问题,但至少可以保证大部分普通需求,而室内定位是智能家居自动化的精髓,可能夸张点说,也是灵魂部分了,无感操作带来的便利幸福感更高。
回复

使用道具 举报

16

主题

228

帖子

988

积分

高级会员

Rank: 4

积分
988
金钱
745
HASS币
90
 楼主| 发表于 2020-6-20 15:43:37 | 显示全部楼层
icase 发表于 2020-6-20 15:21
我的观点略有不同,离家/在家更多是安防的需求更大,的确很重要,不过基于iCloud,手机、ble蓝牙、路由等 ...

嗯,能理解这个想法,也基本同意。

不过总觉得现有的技术实现室内定位,还是有些复杂、难以普遍应用。

esp32倒是可以测量指定蓝牙设备的信号电平,如果在室内部署多个esp32、利用三点定位法,米级精度应该在技术上可以实现,但应用到自动化上,不可控的、需要考虑的因素还是很多的,可能还不如智能音箱这个途径更方便。

~~~~~~~~~~~~~~~~~~~~~~~~~~~
感谢囧大的鼓励!

囧大谦虚了哈!ESPHome我也是这几天刚开始接触,最大的感受就是强大、方便。当然,还有很多疑问需要慢慢找答案
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

1

主题

55

帖子

210

积分

中级会员

Rank: 3Rank: 3

积分
210
金钱
155
HASS币
0
发表于 2020-6-20 16:23:36 | 显示全部楼层
嗯,我的是多模网关,要看看怎么接TTL。。
回复

使用道具 举报

15

主题

165

帖子

658

积分

高级会员

Rank: 4

积分
658
金钱
488
HASS币
40
发表于 2020-6-20 16:34:47 | 显示全部楼层
XCray 发表于 2020-6-20 15:43
嗯,能理解这个想法,也基本同意。

不过总觉得现有的技术实现室内定位,还是有些复杂、难以普遍应用。

的确。现实环境及各种干扰不可控,ESP32我现在也在配合小米手环在用,但是发现信号非常不稳定,官方的参数又没有诸如阈值调节等参数提供,所以只能说凑合着用。而且用不同位置的2个以上ESP32做交叉定位,貌似彼此还有干扰。我看论坛上有人提供过用N1或者树莓派的蓝牙配合手环定位,还没试过。
回复

使用道具 举报

1

主题

278

帖子

776

积分

高级会员

Rank: 4

积分
776
金钱
498
HASS币
0
发表于 2020-6-20 20:50:59 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

6

主题

298

帖子

1216

积分

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
918
HASS币
0
发表于 2020-6-21 14:19:04 | 显示全部楼层
小米夜灯2 可以接入吗?
回复

使用道具 举报

16

主题

228

帖子

988

积分

高级会员

Rank: 4

积分
988
金钱
745
HASS币
90
 楼主| 发表于 2020-6-21 16:48:44 | 显示全部楼层
qjiang 发表于 2020-6-21 14:19
小米夜灯2 可以接入吗?

我没用过这个夜灯,特意到小米网站上看了一下,如果你说的是“米家夜灯2 蓝牙版”,我相信肯定可以接入,并且可以利用其集成的人体传感器和环境亮度传感器。

但是,需要自己补充代码。我现在上传的代码只适配了榉树门锁、花花草草和蓝牙温湿度2
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-7-8 10:18 , Processed in 0.113458 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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