本帖最后由 ryanh7 于 2022-5-13 18:08 编辑
帖子编辑了一次后代码丢失了绝大部分,不搞了
小米空调伴侣2板载esp32:红外发送,红外接收,功率计芯片,rgb指示灯,wifi,蓝牙。刷入esphome后可实现:学习红外码,发送红外码(空调,电视等),读取功率/电压,自定义rgb指示灯,可开启蓝牙(可局域网接入小米温湿度计2等)
动手前注意:需要ttl刷入,刷入后没有官方固件无法恢复原有固件
空调伴侣2四周由卡扣连接,用小螺丝刀及小铁锤可小心拆开开。电路板中间有4个检测点,其中1,2,4脚为rx/tx, 接地。rgb灯旁3个触点中的中间一个连接的是GPIO0,接地(rgb灯绿灯亮起)后可进入esp32的下载模式。
小米esp32刷入固件注意:目前我拿到的空调伴侣2、wifi插座蓝牙网关版等设备的esp32都只有单核被启用。刷入esphome时需使用特定配置的库(配置为单核,忽略mac地址校验)。
启用esp32蓝牙注意: 由于只有单核,当前版本的esphome的esp32_ble_tracker组件开启后会触发任务看门狗,须在loop中加入一定延迟避免频繁重启。当前版本的ota组件须在ota_component.cpp的wait_receive_函数中加入一定的延迟 delay(10);(esphome2022.4.0版本注:已不需要改动ota组件)。以上内容可在nodemcu等开发板中进行重现测试。esphome更新频繁,如有变更以测试为准。
型号:KTBL03LM
基础配置及相关引脚见下:
esphome:
name: air-conditioner
platformio_options:
platform_packages:
- "framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.6"
on_loop: # 示例,如果开启蓝牙,需要加入一定的延迟避免触发看门狗(自行测试)
- lambda: |
vTaskDelay(10/portTICK_PERIOD_MS);
型号:ZNCZ07CM
小米wifi插座蓝牙版类似,外壳边缘是粘合的,难拆一点。需要用小螺丝刀、小铁锤小心分开缝隙后取下。见其他拆解视频。电路板边缘表面有4个引脚。其中rx、tx引脚均有标识。按钮外壳是接地的。按钮按下似乎会导致GPIO0接地(忘了,esp32下边右数第2个脚是GPIO0,可直接接地)。相关引脚见下:
esphome:
name: plug
<blockquote> platformio_options:
platform_packages:
- "framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.6"
on_loop: # 示例,如果开启蓝牙,需要加入一定的延迟避免触发看门狗(自行测试)
- lambda: |
vTaskDelay(10/portTICK_PERIOD_MS);
|