- 积分
- 632
- 金钱
- 577
- 威望
- 0
- 贡献
- 0
- HASS币
- 0
高级会员
- 积分
- 632
- 金钱
- 577
- HASS币
- 0
|
本帖最后由 xjboss 于 2024-12-10 19:05 编辑
众所周知,米家屏幕挂灯 1代并不支持接入米家的功能,需要用遥控器来控制,由于使用了2.4G协议,控制它比较麻烦。
不过最近在网上发现了lightbar2mqtt项目 https://github.com/ebinf/lightbar2mqtt
基于ESP32平台,使用nRF24模块进行控制。
我购买了国产的Si24R1模块,兼容NRF24,也可以正常的控制。
需要安装 Arduino IDE安装下列库
同时你也要安装ESP32平台
然后根据你插的位置,设置config.h。
github里默认的插槽位置
像我购买的si24r1模块还有IRQ中断引脚,不需要接。
/* -- WiFi ---------------------------------------------------------------------------------------------------- */
// 连接到的WiFi网络的SSID。
#define WIFI_SSID "你的WiFi网络SSID"
// 连接到的WiFi网络的密码。
#define WIFI_PASSWORD "你的WiFi网络密码"
同时你也要设置MQTT相关信息
// 连接到的MQTT代理的IP地址。
#define MQTT_SERVER "MQTT服务器"
// 连接到的MQTT代理的端口。
#define MQTT_PORT 1883
// 用于连接到MQTT代理的用户名。
// 如果不需要用户名,请将其设置为NULL。
#define MQTT_USER "MQTT帐号"
// 用于连接到MQTT代理的密码。
// 如果不需要密码,请将其设置为NULL。
#define MQTT_PASSWORD "MQTT密码"
刷写固件后,使用你的遥控器控制一下,显示类似[Radio] Ignoring package with not matching serial: 0x7B7E12这样的,
0x7B7E12 就是你的灯的地址。
比如我的灯是0xE09111 我是这么设置的
然后设置
/* -- Light Bars ---------------------------------------------------------------------------------------------- */
// 所有应该由此控制器控制的灯条。每个灯条必须具有唯一的序列号。
// 每个条目由序列号和灯条名称组成。默认情况下,可以添加最多10个灯条。
//
// 如果序列号与某个遥控器的序列号相同,原始遥控器仍将直接控制灯条。
// 要将灯条与原始遥控器分开,请将其设置为不同的值,例如0xABCDEF。
//
// 名称将在Home Assistant中使用。
constexpr SerialWithName LIGHTBARS[] = {
{0xE09111, "你的灯条名称 1"},
};
/* -- Remotes ------------------------------------------------------------------------------------------------- */
// 所有此控制器应该监听的遥控器。每个遥控器必须具有唯一的序列号。
// 每个条目由序列号和遥控器名称组成。默认情况下,可以添加最多10个遥控器。
//
// 如果您不知道遥控器的序列号,只需将其设置为任何值并刷新控制器。
// 一旦控制器运行,遥控器的序列号将打印到控制台。
//
// 名称将在Home Assistant中使用。
constexpr SerialWithName REMOTES[] = {
{0xE09111, "你的遥控器名称 1"},
};
两个参数,你有多个灯可以设置多个。
这个程序不能读取到通过遥控器控制灯的状态,作者说是这个协议的限制。
|
评分
-
查看全部评分
|