找回密码
 立即注册

微信扫码登录

搜索
楼主: 雪晴科技HTH

[硬件DIY] 2.9 元防丢器,直接软件逆向改造成智能家居无线按键

[复制链接]

15

主题

361

回帖

1508

积分

金牌会员

积分
1508
金钱
1132
HASS币
10
发表于 2026-8-19 14:21:45 来自手机 | 显示全部楼层
bugensui 发表于 2026-8-19 12:47
本来准备今天发的,昨天晚上发现1个bug,这种钥匙扣的逻辑是,断开蓝牙连接(或者离家出门),就触发滴滴 ...

二.使用方法
ROP
1.开关机
开机:长按3秒后听到滴滴2声,即为开机。此时指示灯会一直闪烁。
关机:长按4秒后听到"滴"的一声长提示音,指示灯快速闪烁后熄灭。
回复

使用道具 举报

0

主题

5

回帖

24

积分

新手上路

积分
24
金钱
19
HASS币
0
发表于 2026-8-19 14:27:51 | 显示全部楼层
大佬们牛逼啊,已经买到了
回复

使用道具 举报

228

主题

3465

回帖

1万

积分

元老级技术达人

积分
11625
金钱
7912
HASS币
100
发表于 2026-8-19 14:28:50 | 显示全部楼层
hass7079 发表于 2026-8-19 14:21
二.使用方法
ROP
1.开关机

我知道,能不能取消这个关机,我怕家里人误操作钥匙扣,把他关掉了。
公众号:Home Assistant分享
回复

使用道具 举报

15

主题

361

回帖

1508

积分

金牌会员

积分
1508
金钱
1132
HASS币
10
发表于 2026-8-19 18:34:20 | 显示全部楼层
bugensui 发表于 2026-8-19 14:28
我知道,能不能取消这个关机,我怕家里人误操作钥匙扣,把他关掉了。

看楼主的视频,他是通过单击和双击来控制的
回复

使用道具 举报

228

主题

3465

回帖

1万

积分

元老级技术达人

积分
11625
金钱
7912
HASS币
100
发表于 2026-8-19 18:44:13 | 显示全部楼层
hass7079 发表于 2026-8-19 18:34
看楼主的视频,他是通过单击和双击来控制的

单击和双击可以,如果不小心长按了。钥匙扣会关机,不知道能不能取消这个设置
公众号:Home Assistant分享
回复

使用道具 举报

15

主题

361

回帖

1508

积分

金牌会员

积分
1508
金钱
1132
HASS币
10
发表于 2026-8-19 18:53:51 | 显示全部楼层
本帖最后由 hass7079 于 2026-8-19 18:57 编辑

调试工作台和EFR Connect(安卓APP)检测到蓝牙Mac的不同
屏幕截图 2026-08-19 184911.jpg


[itag-debug] 调试工作台已启动: http://127.0.0.1:8900
READY http://127.0.0.1:8900
[itag-debug] 提示: 若扫不到标签, 请按一下标签上的按钮唤醒
[18:38:52] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:39:08] 扫描结束, 共发现 0 个设备
[18:39:15] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:39:30] 扫描结束, 共发现 0 个设备
[18:39:40] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:39:55] 扫描结束, 共发现 1 个设备
[18:42:14] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:42:30] 扫描结束, 共发现 0 个设备
[18:42:36] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:42:51] 扫描结束, 共发现 0 个设备
[18:43:02] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:43:17] 扫描结束, 共发现 0 个设备
[18:43:20] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:43:36] 扫描结束, 共发现 0 个设备
[18:43:37] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:43:52] 扫描结束, 共发现 0 个设备
[18:43:56] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:44:12] 扫描结束, 共发现 0 个设备
[18:44:15] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:44:31] 扫描结束, 共发现 0 个设备
[18:44:35] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:44:50] 扫描结束, 共发现 1 个设备
[18:45:14] 连接状态: 正在扫描 55:80:EF:12:79:F5 ...
[18:45:26] 连接状态: 未发现设备 (请按一下标签按钮唤醒后重试)
[18:45:35] 连接状态: 正在扫描 55:80:EF:12:79:F5 ...
[18:45:44] 开始蓝牙扫描 15 秒 ... (扫不到请按一下标签上的按钮唤醒它)
[18:45:47] 连接状态: 未发现设备 (请按一下标签按钮唤醒后重试)
[18:45:59] 扫描结束, 共发现 0 个设备
[18:46:14] 连接状态: 已断开
[18:46:19] 连接状态: 正在扫描 55:80:EF:12:79:F5 ...
[18:46:31] 连接状态: 未发现设备 (请按一下标签按钮唤醒后重试)





回复

使用道具 举报

0

主题

16

回帖

112

积分

注册会员

积分
112
金钱
96
HASS币
0
发表于 2026-8-20 08:08:08 | 显示全部楼层
👍,支持
回复

使用道具 举报

0

主题

16

回帖

112

积分

注册会员

积分
112
金钱
96
HASS币
0
发表于 2026-8-20 08:20:06 | 显示全部楼层
硬件的链接有吗
回复

使用道具 举报

6

主题

72

回帖

574

积分

高级会员

积分
574
金钱
491
HASS币
20
 楼主| 发表于 2026-8-20 08:41:40 | 显示全部楼层
bugensui 发表于 2026-8-19 12:47
本来准备今天发的,昨天晚上发现1个bug,这种钥匙扣的逻辑是,断开蓝牙连接(或者离家出门),就触发滴滴 ...

多谢大佬提醒,我忘记了我关闭了断开报警,您可以直接使用我的py代码给这个报警关掉
"""Disable ITAG link-lost alarm: write ONLY 0x00 to 0xFFE2, then disconnect"""
import asyncio
import sys

try:
    sys.stdout.reconfigure(encoding="utf-8", errors="replace", line_buffering=True)
    sys.stderr.reconfigure(encoding="utf-8", errors="replace", line_buffering=True)
except Exception:
    pass

from bleak import BleakClient

ADDR = "FF:FF:12:B6:1F:4C"
FFE2_LINKLOST = "0000ffe2-0000-1000-8000-00805f9b34fb"   # Set LinkLost Alert


def p(*a):
    print(*a, flush=True)


async def main():
    p(f"Connecting to {ADDR} ...")
    client = BleakClient(ADDR, timeout=15)
    try:
        await client.connect()
        p("Connected.")

        # ONLY write 0x00 = disable link lost alarm
        await client.write_gatt_char(FFE2_LINKLOST, b"\x00", response=True)
        p("[OK] LinkLost Alert <- 0x00 (OFF). 设置完成!")

        # Verify current state by writing 0x01 and reading back? No - just confirm write.
        p("保持连接 5 秒后断开...")
        await asyncio.sleep(5)

    except Exception as e:
        p(f"ERROR: {e}")
    finally:
        try:
            await client.disconnect()
            p("已断开连接。")
            p()
            p(">>> 现在请听 15 秒:如果不再响 = 关闭成功!")
        except Exception:
            pass


if __name__ == "__main__":
    asyncio.run(main())
回复

使用道具 举报

6

主题

72

回帖

574

积分

高级会员

积分
574
金钱
491
HASS币
20
 楼主| 发表于 2026-8-20 08:50:50 | 显示全部楼层
bugensui 发表于 2026-8-19 12:47
本来准备今天发的,昨天晚上发现1个bug,这种钥匙扣的逻辑是,断开蓝牙连接(或者离家出门),就触发滴滴 ...

是 0xFFE2(服务 0xFFE0)——就是你已经实测过的那条。

特征值        写入值        效果
0xFFE2(FFE0 服务)        0x00        断开不响
0xFFE2(FFE0 服务)        0x01        断开响(防丢报警)
你的实测记录就是证据:

python disable_linklost.py(写 FFE2=0x00)→ 断开不响 ✅
python enable_linklost.py(写 FFE2=0x01)→ 断开响了 ✅
- ble_client.ble_write:
    id: itag_client
    service_uuid: 'FFE0'
    characteristic_uuid: 'FFE2'
    value: [0x00]   # 0x00 = 断开不响(防离家报警);0x01 = 断开响(防丢)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )|网站地图

GMT+8, 2026-9-5 21:57 , Processed in 0.016349 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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