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

 找回密码
 立即注册
楼主: XCray

[修仙教程] 【ESPHome】ESP32 DIY通用蓝牙网关,接入米家系门锁等各种设备

  [复制链接]

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11435
金钱
8504
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-7-29 19:46:18 | 显示全部楼层
starguoyu 发表于 2022-7-29 17:00
谢谢,读数据也动态加密。有点变态,我先用ESP32抓一下看看吧,想做HomeKit自动化用。 ...

我忽然想到一种可能的方法,你说的也不是绝对行不通。那就是通过消息的长度来判断,周期性的广播消息比较短,开门事件的会长一些,并且也是固定长度的。

当然,这个方法不可能精确,可能很多消息的长度都一样。
回复

使用道具 举报

10

主题

46

帖子

355

积分

论坛DIY达人

积分
355
金钱
309
HASS币
0
发表于 2022-8-2 16:11:13 | 显示全部楼层
XCray 发表于 2022-7-29 19:46
我忽然想到一种可能的方法,你说的也不是绝对行不通。那就是通过消息的长度来判断,周期性的广播消息比较 ...

是呢,我先抓一下试试,有结果持续给您反馈,因为我抓汽车can协议的时候也是加密数据,但是判断某个字段也可以处理,还得是先抓一手试试,我有点不想搭HA,试着看能不能纯ESP32接入HomeKit
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11435
金钱
8504
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-2 17:25:12 | 显示全部楼层
starguoyu 发表于 2022-8-2 16:11
是呢,我先抓一下试试,有结果持续给您反馈,因为我抓汽车can协议的时候也是加密数据,但是判断某个字段 ...

有esp32/8266直接支持homekit的项目,据说很好用,不过我没用过。
回复

使用道具 举报

7

主题

1064

帖子

3342

积分

论坛元老

Rank: 8Rank: 8

积分
3342
金钱
2278
HASS币
0
发表于 2022-8-4 09:10:35 | 显示全部楼层
这个理论上是不是还能复制并广播公司蓝牙打卡机的数据,ha实现自动考勤。脑洞打开。
回复

使用道具 举报

10

主题

46

帖子

355

积分

论坛DIY达人

积分
355
金钱
309
HASS币
0
发表于 2022-8-8 16:22:57 | 显示全部楼层
XCray 发表于 2022-8-2 17:25
有esp32/8266直接支持homekit的项目,据说很好用,不过我没用过。

我前几天用过,刚做好一个红外遥控电视和茶吧机的一个硬件了,原生HomeKit效果很不错
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11435
金钱
8504
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-8-8 19:47:26 来自手机 | 显示全部楼层
隔壁的王叔叔 发表于 2022-8-4 09:10
这个理论上是不是还能复制并广播公司蓝牙打卡机的数据,ha实现自动考勤。脑洞打开。 ...

估计可以,可能就是一个ibeacon,用nrfconnect之类的软件看一下,自己用esp32做一个就行
回复

使用道具 举报

4

主题

103

帖子

1669

积分

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1561
HASS币
20
发表于 2022-11-2 12:31:43 | 显示全部楼层
我做的是这款门锁小米智能门锁
xiaomi_blez.cpp
140行增加了
} else if ((raw[2] == 0x99) && (raw[3] == 0x05)) {  // 米家门锁,加密
    result.type = XiaomiParseResult::TYPE_ZELKOVA;
    result.name = "MijiaLock";

70行修改了
  //const uint8_t *payload = message.data()+5;// + result.raw_offset;
  const uint8_t *payload = message.data()+5+6;
  //uint8_t payload_length = message.size()-12;// - result.raw_offset;
  uint8_t payload_length = message.size()-11;


评分

参与人数 1金钱 +20 收起 理由
XCray + 20 赠人玫瑰,手留余香!

查看全部评分

回复

使用道具 举报

3

主题

295

帖子

2853

积分

金牌会员

Rank: 6Rank: 6

积分
2853
金钱
2558
HASS币
0
发表于 2022-11-6 15:11:46 | 显示全部楼层
netwolf 发表于 2022-11-2 12:31
我做的是这款门锁小米智能门锁
xiaomi_blez.cpp
140行增加了

麻烦大佬打一个改好的文件,谢谢
回复

使用道具 举报

4

主题

103

帖子

1669

积分

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1561
HASS币
20
发表于 2022-11-9 15:50:10 | 显示全部楼层
iamhyde 发表于 2022-11-6 15:11
麻烦大佬打一个改好的文件,谢谢

lock.rar (858.21 KB, 下载次数: 19)
只适用于我的门锁
回复

使用道具 举报

0

主题

38

帖子

426

积分

中级会员

Rank: 3Rank: 3

积分
426
金钱
388
HASS币
0
发表于 2022-11-9 20:06:21 | 显示全部楼层
门锁都被玩出花了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-19 20:09 , Processed in 0.058717 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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