想将投影仪接入米家,请教一下 ESP32 重放投影仪蓝牙遥控器的按键,用于控制投影仪的开关 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kuoruan
V2EX    嵌入式开发

想将投影仪接入米家,请教一下 ESP32 重放投影仪蓝牙遥控器的按键,用于控制投影仪的开关

  •  
  •   kuoruan 2023-10-20 09:55:47 +08:00 2124 次点击
    这是一个创建于 722 天前的主题,其中的信息可能已经有所发展或是发生改变。

    买了一台当贝 F6 ,想要实现米家控制。找到一篇文章:https://www.znds.com/tv-1237327-1-1.html

    但是作者没有在文章中透露细节,没办法,只有自己来研究。

    准备了以下内容:

    • ESP32-D4 ,卖家已经焊好了 USB ,直接插到电脑就可以烧录使用
    • nRF Connect for Android ,用于蓝牙遥控器抓包
    • ESP-IDF for VSCode ,ESP 开发插件
    • 巴法云,使用 MQTT 协议,用于接入米家

    抓到的电源键广播包类似于:

    /** * LEN | TYPE | VALUE * 2 | 0x01 | 0x04 * 3 | 0x03 | 0x1218 * 3 | 0x19 | 0x8001 * 13 | 0xFF | 0x5D000300011808642AA0C884 */ static uint8_t adv_data_on_off[] = { // Flags 0x02, 0x01, 0x04, // Complete list of 16-bit Service UUIDs 0x03, 0x03, 0x12, 0x18, // Appearance 0x03, 0x19, 0x80, 0x01, // Manufacturer Specific Data 0x0D, 0xFF, 0x5D, 0x00, 0x03, 0x00, 0x01, 0x18, 0x08, 0x64, 0x2A, 0xA0, 0xC8, 0x84 }; 

    由于不知道怎么用手机重放测试,直接开始编写 ESP 代码,刷入之后,用小爱同学执行命令也能正常重放。 但是投影仪并没有反应。

    观察遥控器广播的包数据 Manufacturer Specific Data 里,有一位是每次递增的。我直接改为下一次预计的值,重放之后也无法正常开关。

    遥控器发出的包貌似是单次广播的?我看 BLE 协议里,广播包都是循环广播的?

    按帖文里的说法,他直接重放原包就实现了,感觉我是不是哪里有问题。

    现在卡住了,不知道后面如何进行。

    我的代码放在 GitHub 了:esp32-ble-remote-control

    希望各位能帮忙分析一下问题出在什么地方,谢谢

    6 条回复    2023-12-19 15:49:52 +08:00
    dule
        1
    dule  
       2023-10-20 10:44:39 +08:00
    这么麻烦?像小爱音箱自带红外,米家直接添加设备-红外遥控器-投影仪-选择品牌,我的爱普生就直接搞定了,直接开关控制音量都行
    kuoruan
        2
    kuoruan  
    OP
       2023-10-20 11:27:55 +08:00
    当贝 F6 是蓝牙遥控器,非红外遥控器。无法通过红外遥控
    xuextx
        3
    xuextx  
       2023-10-20 11:55:19 +08:00
    @yujinchn776 红外或者射频都好解决,但是蓝牙信号目前比较麻烦。
    dule
        4
    dule  
       2023-10-23 10:16:35 +08:00
    @xuextx 那就不清楚了,没研究的那么深入
    fentensoft666
        5
    fentensoft666  
       2023-12-19 14:01:51 +08:00   1
    @kuoruan 我是当贝 F3 Air 投影仪,那串 Manufactor Data 不变就能触发开机,不知道型号之间是不是通用的,你可以试试。代码: https://github.com/fentensoft/esp32-dangbei-projector ,我也搞通了关机指令
    kuoruan
        6
    kuoruan  
    OP
       2023-12-19 15:49:52 +08:00
    @fentensoft666 感谢感谢,我抽个时间再研究研究,上次没实现之后我就作罢了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5171 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:32 PVG 17:32 LAX 02:32 JFK 05:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86